sqrt* tests: Rename local variable.
[gnulib.git] / ChangeLog
1 2012-03-04  Bruno Haible  <bruno@clisp.org>
2
3         sqrt* tests: More tests.
4         * tests/test-sqrt.h: New file.
5         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6         (main): Invoke test_function.
7         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
8         (main): Invoke test_function.
9         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
10         (main): Invoke test_function.
11         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
12         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
13         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
14         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
15         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
16         (Depends-on): Add 'float'.
17         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
18
19 2012-03-04  Bruno Haible  <bruno@clisp.org>
20
21         remainder* tests: More tests.
22         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
23         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
24         (main): Invoke test_function.
25         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
26         (main): Invoke test_function.
27         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
28         (main): Invoke test_function.
29         * modules/remainder-tests (Files): Add tests/test-remainder.h,
30         tests/randomd.c.
31         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
32         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
33         tests/randomf.c.
34         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
35         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
36         tests/randoml.c.
37         (Depends-on): Add 'float'.
38         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
39
40 2012-03-04  Bruno Haible  <bruno@clisp.org>
41
42         remainder, remainderf, remainderl: Fix computation for large quotients.
43         * lib/remainder.c: Completely rewritten.
44         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
45         USE_FLOAT.
46         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
47         USE_LONG_DOUBLE.
48         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
49         isnand, isinf. Remove round, fma.
50         * modules/remainderf (Files): Add lib/remainder.c.
51         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
52         Remove roundf, fmaf.
53         * modules/remainderl (Files): Add lib/remainder.c.
54         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
55         isinf. Remove roundl, fmal.
56         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
57         REMAINDER_LIBM.
58         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
59         REMAINDERF_LIBM.
60         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
61         REMAINDERL_LIBM.
62
63 2012-03-04  Bruno Haible  <bruno@clisp.org>
64
65         fmod* tests: More tests.
66         * tests/test-fmod.h (my_ldexp): New function.
67         (test_function): Reduce amount of random numbers to test. Add tests
68         of very large quotients x / y.
69         * tests/test-fmod.c (MAX_EXP): New macro.
70         * tests/test-fmodf.c (MAX_EXP): Likewise.
71         * tests/test-fmodl.c (MAX_EXP): Likewise.
72
73 2012-03-04  Bruno Haible  <bruno@clisp.org>
74
75         fmod, fmodl: Fix computation for large quotients x / y.
76         * lib/fmod.c: Completely rewritten.
77         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
78         USE_LONG_DOUBLE.
79         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
80         isnand. Remove fma.
81         * modules/fmodl (Files): Add lib/fmod.c.
82         (Depends-on): Add float, isfinite, signbit, fabsl,
83         frexpl, ldexpl, isnanl. Remove fma.
84         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
85         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
86
87 2012-03-03  Bruno Haible  <bruno@clisp.org>
88
89         fmod* tests: More tests.
90         * tests/test-fmod.h: New file.
91         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
92         (main): Invoke test_function.
93         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
94         (main): Invoke test_function.
95         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
96         (main): Invoke test_function.
97         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
98         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
99         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
100         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
101         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
102         (Depends-on): Add 'float'.
103         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
104
105 2012-03-03  Bruno Haible  <bruno@clisp.org>
106
107         rint* tests: More tests.
108         * tests/test-rint.h: New file, partially extracted from
109         tests/test-rintl.c.
110         * tests/test-rint.c: Include test-rint.h.
111         (main): Invoke test_function.
112         * tests/test-rintf.c: Include test-rint.h.
113         (main): Invoke test_function.
114         * tests/test-rintl.c: Include test-rint.h.
115         (main): Invoke test_function.
116         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
117         (Makefile.am): Add randomd.c to test_rint_SOURCES.
118         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
119         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
120         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
121         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
122
123 2012-03-03  Bruno Haible  <bruno@clisp.org>
124
125         modf* tests: More tests.
126         * tests/test-modf.h: New file.
127         * tests/test-modf.c: Include <float.h> and test-modf.h.
128         (main): Invoke test_function.
129         * tests/test-modff.c: Include <float.h> and test-modf.h.
130         (main): Invoke test_function.
131         * tests/test-modfl.c: Include <float.h> and test-modf.h.
132         (main): Invoke test_function.
133         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
134         (Makefile.am): Add randomd.c to test_modf_SOURCES.
135         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
136         (Makefile.am): Add randomf.c to test_modff_SOURCES.
137         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
138         (Depends-on): Add 'float'.
139         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
140
141 2012-03-03  Bruno Haible  <bruno@clisp.org>
142
143         fabs* tests: More tests.
144         * tests/test-fabs.h: New file, partially extracted from
145         tests/test-fabsl.c.
146         * tests/test-fabs.c (RANDOM): New macro.
147         * tests/test-fabsf.c (RANDOM): New macro.
148         * tests/test-fabsl.c (RANDOM): New macro.
149         * modules/fabs-tests (Files): Add tests/randomd.c.
150         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
151         * modules/fabsf-tests (Files): Add tests/randomf.c.
152         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
153         * modules/fabsl-tests (Files): Add tests/randoml.c.
154         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
155
156 2012-03-03  Bruno Haible  <bruno@clisp.org>
157
158         ldexp* tests: More tests.
159         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
160         * tests/test-ldexp.c (RANDOM): New macro.
161         * tests/test-ldexpf.c (RANDOM): New macro.
162         * tests/test-ldexpl.c (RANDOM): New macro.
163         * modules/ldexp-tests (Files): Add tests/randomd.c.
164         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
165         * modules/ldexpf-tests (Files): Add tests/randomf.c.
166         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
167         * modules/ldexpl-tests (Files): Add tests/randoml.c.
168         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
169
170 2012-03-03  Bruno Haible  <bruno@clisp.org>
171
172         frexp* tests: More tests.
173         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
174         * tests/test-frexp.c (RANDOM): New macro.
175         * tests/test-frexpf.c (RANDOM): New macro.
176         * tests/test-frexpl.c (RANDOM): New macro.
177         * modules/frexp-tests (Files): Add tests/randomd.c.
178         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
179         * modules/frexpf-tests (Files): Add tests/randomf.c.
180         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
181         * modules/frexpl-tests (Files): Add tests/randoml.c.
182         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
183
184 2012-03-03  Bruno Haible  <bruno@clisp.org>
185
186         Support for pseudo-random numbers in tests.
187         * tests/randomf.c: New file.
188         * tests/randomd.c: New file.
189         * tests/randoml.c: New file.
190         * tests/macros.h (randomf, randomd, randoml): New declarations.
191
192 2012-03-03  Bruno Haible  <bruno@clisp.org>
193
194         frexp* tests: Refactor.
195         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
196         * tests/test-frexp.c: Include and use it.
197         * tests/test-frexpf.c: Likewise.
198         * tests/test-frexpl.c: Likewise.
199         * modules/frexp-tests (Files): Add tests/test-frexp.h.
200         * modules/frexpf-tests (Files): Likewise.
201         * modules/frexpl-tests (Files): Likewise.
202
203 2012-03-02  Jim Meyering  <meyering@redhat.com>
204
205         maint: don't specify XZ_OPT=-9ev in dist-related rule
206         Using xz's -9 option is warranted only if you have a very large
207         tarball (see xz's documentation for the sizes vs. presets), and
208         requires 64MiB of memory at decompression time.
209         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
210         Automake's default of just "-e" is fine.  Override on a
211         per-package basis by setting XZ_OPT e.g., in cfg.mk.
212
213 2012-03-01  Eric Blake  <eblake@redhat.com>
214
215         maint.mk: allow announcement for non-gnulib project
216         * maint.mk (announcement): Skip gnulib version if not used.
217
218 2012-03-01  Jim Meyering  <meyering@redhat.com>
219
220         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
221         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
222         envvar settings cannot interfere.  Otherwise, setting envvars like
223         prohibit=foo require=bar, etc. would cause spurious test failures.
224
225 2012-03-01  Eric Blake  <eblake@redhat.com>
226
227         maint.mk: add per-line exclusions to prohibitions
228         * maint.mk (_sc_search_regexp): Add $exclude parameter.
229         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
230         (sc_const_long_option): Use it.
231
232 2012-03-01  Bruno Haible  <bruno@clisp.org>
233
234         Tests for module 'expl-ieee'.
235         * modules/expl-ieee-tests: New file.
236         * tests/test-expl-ieee.c: New file.
237
238         New module 'expl-ieee'.
239         * modules/expl-ieee: New file.
240
241         Tests for module 'exp-ieee'.
242         * modules/exp-ieee-tests: New file.
243         * tests/test-exp-ieee.c: New file.
244
245         New module 'exp-ieee'.
246         * modules/exp-ieee: New file.
247
248         Tests for module 'expf-ieee'.
249         * modules/expf-ieee-tests: New file.
250         * tests/test-expf-ieee.c: New file.
251         * tests/test-exp-ieee.h: New file.
252
253         New module 'expf-ieee'.
254         * modules/expf-ieee: New file.
255
256 2012-02-29  Bruno Haible  <bruno@clisp.org>
257
258         cbrtl-ieee: Work around test failure on IRIX 6.5.
259         * m4/cbrtl-ieee.m4: New file.
260         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
261         test whether cbrtl works with a minus zero argument. Replace it if not.
262         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
264         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
265         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
266         (Depends-on): Update conditions.
267         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
268         m4/signbit.m4.
269         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
270         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
271         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
272
273         Tests for module 'cbrtl-ieee'.
274         * modules/cbrtl-ieee-tests: New file.
275         * tests/test-cbrtl-ieee.c: New file.
276
277         New module 'cbrtl-ieee'.
278         * modules/cbrtl-ieee: New file.
279
280         Tests for module 'cbrt-ieee'.
281         * modules/cbrt-ieee-tests: New file.
282         * tests/test-cbrt-ieee.c: New file.
283
284         New module 'cbrt-ieee'.
285         * modules/cbrt-ieee: New file.
286
287         Tests for module 'cbrtf-ieee'.
288         * modules/cbrtf-ieee-tests: New file.
289         * tests/test-cbrtf-ieee.c: New file.
290         * tests/test-cbrt-ieee.h: New file.
291
292         New module 'cbrtf-ieee'.
293         * modules/cbrtf-ieee: New file.
294
295 2012-02-29  Bruno Haible  <bruno@clisp.org>
296
297         cbrtf: Work around bug in IRIX 6.5 system function.
298         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
299         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
300         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
301         work.
302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
303         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
304         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
305         (Depends-on): Update conditions.
306         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
307
308 2012-02-29  Bruno Haible  <bruno@clisp.org>
309
310         Tests for module 'cbrtl'.
311         * modules/cbrtl-tests: New file.
312         * tests/test-cbrtl.c: New file.
313
314         New module 'cbrtl'.
315         * lib/math.in.h (cbrtl): New declaration.
316         * lib/cbrtl.c: New file.
317         * m4/cbrtl.m4: New file.
318         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
320         HAVE_DECL_CBRTL.
321         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
322         HAVE_DECL_CBRTL.
323         * modules/cbrtl: New file.
324         * tests/test-math-c++.cc: Check the declaration of cbrtl.
325         * doc/posix-functions/cbrtl.texi: Mention the new module.
326
327 2012-02-29  Bruno Haible  <bruno@clisp.org>
328
329         Tests for module 'cbrtf'.
330         * modules/cbrtf-tests: New file.
331         * tests/test-cbrtf.c: New file.
332
333         New module 'cbrtf'.
334         * lib/math.in.h (cbrtf): New declaration.
335         * lib/cbrtf.c: New file.
336         * m4/cbrtf.m4: New file.
337         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
338         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
339         HAVE_DECL_CBRTF.
340         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
341         HAVE_DECL_CBRTF.
342         * modules/cbrtf: New file.
343         * tests/test-math-c++.cc: Check the declaration of cbrtf.
344         * doc/posix-functions/cbrtf.texi: Mention the new module.
345
346 2012-02-29  Bruno Haible  <bruno@clisp.org>
347
348         cbrt: Provide replacement on MSVC and Minix.
349         * lib/math.in.h (cbrt): New declaration.
350         * lib/cbrt.c: New file.
351         * m4/cbrt.m4: New file.
352         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
353         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
354         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
355         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
356         (Depends-on): Add dependencies.
357         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
358         * tests/test-math-c++.cc: Check the declaration of cbrt.
359         * doc/posix-functions/cbrt.texi: Mention that the module provides a
360         replacement.
361
362 2012-02-29  Bruno Haible  <bruno@clisp.org>
363
364         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
365         * m4/hypotl-ieee.m4: New file.
366         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
367         test whether hypotl works with mixed NaN and Infinity arguments.
368         Replace it if not.
369         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
371         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
372         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
373         (Depends-on): Update conditions.
374         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
375         (Depends-on): Add hypot-ieee.
376         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
377         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
378
379         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
380         * m4/hypotf-ieee.m4: New file.
381         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
382         test whether hypotf works with mixed NaN and Infinity arguments.
383         Replace it if not.
384         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
385         (Depends-on): Add hypot-ieee.
386         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
387         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
388
389         hypot-ieee: Work around test failure on OSF/1 and native Windows.
390         * lib/math.in.h (hypot): New declaration.
391         * lib/hypot.c: New file.
392         * m4/hypot-ieee.m4: New file.
393         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
394         whether hypot works with mixed NaN and Infinity arguments. Replace it
395         if not.
396         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
397         REPLACE_HYPOT.
398         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
399         * modules/hypot (Files): Add lib/hypot.c.
400         (Depends-on): Add dependencies.
401         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
402         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
403         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
404         * tests/test-math-c++.cc: Check the declaration of hypot.
405         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
406
407         Tests for module 'hypotl-ieee'.
408         * modules/hypotl-ieee-tests: New file.
409         * tests/test-hypotl-ieee.c: New file.
410
411         New module 'hypotl-ieee'.
412         * modules/hypotl-ieee: New file.
413
414         Tests for module 'hypot-ieee'.
415         * modules/hypot-ieee-tests: New file.
416         * tests/test-hypot-ieee.c: New file.
417
418         New module 'hypot-ieee'.
419         * modules/hypot-ieee: New file.
420
421         Tests for module 'hypotf-ieee'.
422         * modules/hypotf-ieee-tests: New file.
423         * tests/test-hypotf-ieee.c: New file.
424         * tests/test-hypot-ieee.h: New file.
425
426         New module 'hypotf-ieee'.
427         * modules/hypotf-ieee: New file.
428
429 2012-02-29  Bruno Haible  <bruno@clisp.org>
430
431         Remove unused variables.
432         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
433         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
434         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
435         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
436
437 2012-02-29  Eric Blake  <eblake@redhat.com>
438
439         termios: fix pid_t always, not just for tcgetsid
440         * doc/posix-headers/termios.texi (termios.h): Mention problem.
441         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
442         just when building tcgetsid.
443
444 2012-02-29  Bruno Haible  <bruno@clisp.org>
445
446         Tests for module 'hypotl'.
447         * modules/hypotl-tests: New file.
448         * tests/test-hypotl.c: New file.
449
450         New module 'hypotl'.
451         * lib/math.in.h (hypotl): New declaration.
452         * lib/hypotl.c: New file.
453         * m4/hypotl.m4: New file.
454         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
455         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
456         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
457         * modules/hypotl: New file.
458         * tests/test-math-c++.cc: Check the hypotl declaration.
459         * doc/posix-functions/hypotl.texi: Mention the new module.
460
461 2012-02-29  Eric Blake  <eblake@redhat.com>
462
463         tcgetsid: fix cygwin header bug
464         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
465
466         docs: update cygwin progress
467         * doc/posix-functions/llround.texi (llround): Added in cygwin
468         1.7.8.
469         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
470         * doc/glibc-functions/program_invocation_name.texi
471         (program_invocation_name): Likewise.
472         * doc/glibc-functions/program_invocation_short_name.texi
473         (program_invocation_short_name): Likewise.
474         * doc/glibc-functions/madvise.texi (madvise): Likewise.
475         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
476         Likewise.
477         * doc/posix-functions/pthread_spin_destroy.texi
478         (pthread_spin_destroy): Added in cygwin 1.7.10.
479         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
480         Likewise.
481         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
482         Likewise.
483         * doc/posix-functions/pthread_spin_trylock.texi
484         (pthread_spin_trylock): Likewise.
485         * doc/posix-functions/pthread_spin_unlock.texi
486         (pthread_spin_unlock): Likewise.
487         * doc/posix-functions/pthread_setschedprio.texi
488         (pthread_setschedprio): Likewise.
489         * doc/posix-functions/pthread_attr_getstack.texi
490         (pthread_attr_getstack): Likewise.
491         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
492         (pthread_attr_getstackaddr): Likewise.
493         * doc/glibc-functions/pthread_getattr_np.texi
494         (pthread_getattr_np): Likewise.
495         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
496         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
497         * doc/posix-functions/clock_settime.texi (clock_settime):
498         Likewise.
499         * doc/posix-functions/pthread_attr_getguardsize.texi
500         (pthread_attr_getguardsize): Likewise.
501         * doc/posix-functions/pthread_attr_setguardsize.texi
502         (pthread_attr_setguardsize): Likewise.
503         * doc/posix-functions/pthread_attr_setstack.texi
504         (pthread_attr_setstack): Likewise.
505         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
506         (pthread_attr_setstackaddr): Likewise.
507         * doc/posix-functions/clock_getcpuclockid.texi
508         (clock_getcpuclockid): Likewise.
509         * doc/posix-functions/pthread_getcpuclockid.texi
510         (pthread_getcpuclockid): Likewise.
511         * doc/glibc-functions/error.texi (error): Likewise.
512         * doc/glibc-functions/error_at_line.texi (error_at_line):
513         Likewise.
514         * doc/glibc-functions/error_message_count.texi
515         (error_message_count): Likewise.
516         * doc/glibc-functions/error_one_per_line.texi
517         (error_one_per_line): Likewise.
518         * doc/glibc-functions/error_print_progname.texi
519         (error_print_progname): Likewise.
520         * doc/posix-functions/pthread_condattr_getclock.texi
521         (pthread_condattr_getclock): Likewise.
522         * doc/posix-functions/pthread_condattr_setclock.texi
523         (pthread_condattr_setclock): Likewise.
524         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
525         Likewise.
526         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
527         * doc/glibc-functions/getpt.texi (getpt): Likewise.
528         * doc/glibc-functions/get_current_dir_name.texi
529         (get_current_dir_name): Likewise.
530         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
531         Likewise.
532         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
533         wrong return type.
534         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
535         1.7.11.
536
537 2012-02-29  Bruno Haible  <bruno@clisp.org>
538
539         Tests for module 'hypotf'.
540         * modules/hypotf-tests: New file.
541         * tests/test-hypotf.c: New file.
542
543         New module 'hypotf'.
544         * lib/math.in.h (hypotf): New declaration.
545         * lib/hypotf.c: New file.
546         * m4/hypotf.m4: New file.
547         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
548         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
549         REPLACE_HYPOTF.
550         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
551         REPLACE_HYPOTF.
552         * modules/hypotf: New file.
553         * tests/test-math-c++.cc: Check the hypotf declaration.
554         * doc/posix-functions/hypotf.texi: Mention the new module.
555
556         hypot: Prepare for hypotf module.
557         * m4/hypot.m4: New file.
558         * modules/hypot (Files): Add m4/hypot.m4.
559         (configure.ac): Invoke gl_FUNC_HYPOT.
560
561 2012-02-29  Bruno Haible  <bruno@clisp.org>
562
563         hypot tests: More tests.
564         * tests/test-hypot.c: Include <float.h>.
565         (main): Add tests about overflow and underflow.
566
567 2012-02-29  Bruno Haible  <bruno@clisp.org>
568
569         math code: Add comments.
570         * lib/acosl.c: Add comment about related glibc source files.
571         * lib/asinl.c: Likewise.
572         * lib/atanl.c: Likewise.
573         * lib/expl.c: Likewise.
574         * lib/logl.c: Likewise.
575         * lib/sincosl.c: Likewise.
576         * lib/sinl.c: Likewise.
577         * lib/tanl.c: Likewise.
578         * lib/trigl.c: Likewise.
579         * lib/cosl.c: Likewise. Fix comments.
580
581 2012-02-28  Bruno Haible  <bruno@clisp.org>
582
583         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
584         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
585         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
586         HUGE_VALL are defined.
587         (numeric_equald): Renamed from numeric_equal.
588         (numeric_equalf, numeric_equall): New functions.
589         (main): Check also HUGE_VALF, HUGE_VALL.
590         * modules/math-tests (Files): Add tests/macros.h.
591         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
592         HUGE_VALL.
593
594 2012-02-28  Bruno Haible  <bruno@clisp.org>
595
596         doc: Move ISO C11 feature notes into POSIX chapters.
597         * doc/posix-functions/aligned_alloc.texi: Renamed from
598         doc/glibc-functions/aligned_alloc.texi.
599         * doc/posix-functions/quick_exit.texi: Renamed from
600         doc/glibc-functions/quick_exit.texi.
601         * doc/posix-headers/uchar.texi: Renamed from
602         doc/glibc-headers/uchar.texi.
603         * doc/posix-functions/c16rtomb.texi: Renamed from
604         doc/glibc-functions/c16rtomb.texi.
605         * doc/posix-functions/c32rtomb.texi: Renamed from
606         doc/glibc-functions/c32rtomb.texi.
607         * doc/posix-functions/mbrtoc16.texi: Renamed from
608         doc/glibc-functions/mbrtoc16.texi.
609         * doc/posix-functions/mbrtoc32.texi: Renamed from
610         doc/glibc-functions/mbrtoc32.texi.
611         * doc/gnulib.texi: Update.
612         (Glibc uchar.h): Remove section.
613         Suggested by Eric Blake.
614
615 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
616
617         stdnoreturn: port to MSVC better
618         MSVC standard headers use __declspec(noreturn), so #define noreturn
619         to empty on that platform.  Reported by Bruno Haible in
620         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
621         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
622         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
623
624 2012-02-28  Bruno Haible  <bruno@clisp.org>
625
626         doc: Mention new glibc headers and functions.
627         * doc/glibc-headers/uchar.texi: New file.
628         * doc/glibc-functions/aligned_alloc.texi: New file.
629         * doc/glibc-functions/c16rtomb.texi: New file.
630         * doc/glibc-functions/c32rtomb.texi: New file.
631         * doc/glibc-functions/clock_adjtime.texi: New file.
632         * doc/glibc-functions/fanotify_init.texi: New file.
633         * doc/glibc-functions/fanotify_mark.texi: New file.
634         * doc/glibc-functions/inet6_opt_append.texi: New file.
635         * doc/glibc-functions/inet6_opt_find.texi: New file.
636         * doc/glibc-functions/inet6_opt_finish.texi: New file.
637         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
638         * doc/glibc-functions/inet6_opt_init.texi: New file.
639         * doc/glibc-functions/inet6_opt_next.texi: New file.
640         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
641         * doc/glibc-functions/inet6_rth_add.texi: New file.
642         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
643         * doc/glibc-functions/inet6_rth_init.texi: New file.
644         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
645         * doc/glibc-functions/inet6_rth_segments.texi: New file.
646         * doc/glibc-functions/inet6_rth_space.texi: New file.
647         * doc/glibc-functions/login.texi: New file.
648         * doc/glibc-functions/mbrtoc16.texi: New file.
649         * doc/glibc-functions/mbrtoc32.texi: New file.
650         * doc/glibc-functions/name_to_handle_at.texi: New file.
651         * doc/glibc-functions/ntp_gettimex.texi: New file.
652         * doc/glibc-functions/open_by_handle_at.texi: New file.
653         * doc/glibc-functions/prlimit.texi: New file.
654         * doc/glibc-functions/process_vm_readv.texi: New file.
655         * doc/glibc-functions/process_vm_writev.texi: New file.
656         * doc/glibc-functions/recvmmsg.texi: New file.
657         * doc/glibc-functions/scandirat.texi: New file.
658         * doc/glibc-functions/sendmmsg.texi: New file.
659         * doc/glibc-functions/setns.texi: New file.
660         * doc/glibc-functions/timespec_get.texi: New file.
661         * doc/gnulib.texi: Include them.
662         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
663         sections.
664         Reported by Eric Blake.
665
666 2012-02-28  Bruno Haible  <bruno@clisp.org>
667
668         Avoid compilation errors with MSVC option -fp:strict.
669         * lib/floor.c: Use MSVC specific pragma fenv_access.
670         * lib/ceil.c: Likewise.
671         * lib/trunc.c: Likewise.
672         * lib/round.c: Likewise.
673         * lib/rint.c: Likewise.
674         * lib/fma.c: Likewise.
675         * lib/integer_length.c: Likewise.
676         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
677         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
678         * tests/test-floor2.c: Likewise.
679         * tests/test-floorf2.c: Likewise.
680         * tests/test-ceil2.c: Likewise.
681         * tests/test-ceilf2.c: Likewise.
682         * tests/test-trunc2.c: Likewise.
683         * tests/test-truncf2.c: Likewise.
684         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
685
686 2012-02-27  Bruno Haible  <bruno@clisp.org>
687
688         Tests for module 'sqrtl-ieee'.
689         * modules/sqrtl-ieee-tests: New file.
690         * tests/test-sqrtl-ieee.c: New file.
691
692         New module 'sqrtl-ieee'.
693         * modules/sqrtl-ieee: New file.
694
695         Tests for module 'sqrt-ieee'.
696         * modules/sqrt-ieee-tests: New file.
697         * tests/test-sqrt-ieee.c: New file.
698
699         New module 'sqrt-ieee'.
700         * modules/sqrt-ieee: New file.
701
702         Tests for module 'sqrtf-ieee'.
703         * modules/sqrtf-ieee-tests: New file.
704         * tests/test-sqrtf-ieee.c: New file.
705         * tests/test-sqrt-ieee.h: New file.
706
707         New module 'sqrtf-ieee'.
708         * modules/sqrtf-ieee: New file.
709
710 2012-02-27  Bruno Haible  <bruno@clisp.org>
711
712         remainderl-ieee: Work around test failure on OSF/1.
713         * m4/remainderl-ieee.m4: New file.
714         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
715         present, test whether remainderl works with a zero second argument.
716         Replace it if not.
717         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
718         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
719         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
720         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
721         (Depends-on): Update conditions.
722         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
723         (Depends-on): Add remainder-ieee.
724         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
725         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
726         module.
727
728         remainderf-ieee: Work around test failure on OSF/1.
729         * m4/remainderf-ieee.m4: New file.
730         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
731         present, test whether remainderf works with a zero second argument.
732         Replace it if not.
733         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
734         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
735         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
736         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
737         (Depends-on): Update conditions.
738         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
739         (Depends-on): Add remainder-ieee.
740         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
741         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
742         module.
743
744         remainder-ieee: Work around test failure on OSF/1.
745         * m4/remainder-ieee.m4: New file.
746         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
747         present, test whether remainder works with a zero second argument.
748         Replace it if not.
749         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
750         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
751         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
752         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
753         (Depends-on): Update dependencies.
754         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
755         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
756         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
757
758         Tests for module 'remainderl-ieee'.
759         * modules/remainderl-ieee-tests: New file.
760         * tests/test-remainderl-ieee.c: New file.
761
762         New module 'remainderl-ieee'.
763         * modules/remainderl-ieee: New file.
764
765         Tests for module 'remainder-ieee'.
766         * modules/remainder-ieee-tests: New file.
767         * tests/test-remainder-ieee.c: New file.
768
769         New module 'remainder-ieee'.
770         * modules/remainder-ieee: New file.
771
772         Tests for module 'remainderf-ieee'.
773         * modules/remainderf-ieee-tests: New file.
774         * tests/test-remainderf-ieee.c: New file.
775         * tests/test-remainder-ieee.h: New file.
776
777         New module 'remainderf-ieee'.
778         * modules/remainderf-ieee: New file.
779
780 2012-02-27  Bruno Haible  <bruno@clisp.org>
781
782         modff, modfl: Fix configure syntax error.
783         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
784         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
785
786 2012-02-27  Bruno Haible  <bruno@clisp.org>
787
788         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
789         * m4/fmodl-ieee.m4: New file.
790         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
791         whether fmodl works with zero arguments. Replace it if not.
792         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
793         (Depends-on): Add fmod-ieee.
794         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
795         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
796
797         fmodf-ieee: Work around test failure on OSF/1.
798         * m4/fmodf-ieee.m4: New file.
799         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
800         whether fmodf works with zero arguments. Replace it if not.
801         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
802         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
803         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
804         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
805         (Depends-on): Update dependencies.
806         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
807         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
808         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
809
810         fmodf-ieee: Work around test failure on MSVC 9.
811         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
812         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
813
814         fmod-ieee: Work around test failures on OSF/1, mingw.
815         * m4/fmod-ieee.m4: New file.
816         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
817         whether fmod works with zero arguments. Replace it if not.
818         * lib/math.in.h (fmod): New declaration.
819         * lib/fmod.c: New file.
820         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
821         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
822         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
823         * modules/fmod (Files): Add lib/fmod.c.
824         (Depends-on): Add math, isinf, trunc, fma.
825         (configure.ac): Arrange to compile lib/fmod.c if needed.
826         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
827         m4/signbit.m4.
828         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
829         * tests/test-math-c++.cc: Check the declaration of fmod.
830         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
831
832         fmodl-ieee: Fix test failures.
833         * lib/fmodl.c (fmodl): Treat Inf specially.
834         * modules/fmodl (Depends-on): Add isinf.
835
836         Tests for module 'fmodl-ieee'.
837         * modules/fmodl-ieee-tests: New file.
838         * tests/test-fmodl-ieee.c: New file.
839
840         New module 'fmodl-ieee'.
841         * modules/fmodl-ieee: New file.
842
843         Tests for module 'fmod-ieee'.
844         * modules/fmod-ieee-tests: New file.
845         * tests/test-fmod-ieee.c: New file.
846
847         New module 'fmod-ieee'.
848         * modules/fmod-ieee: New file.
849
850         Tests for module 'fmodf-ieee'.
851         * modules/fmodf-ieee-tests: New file.
852         * tests/test-fmodf-ieee.c: New file.
853         * tests/test-fmod-ieee.h: New file.
854
855         New module 'fmodf-ieee'.
856         * modules/fmodf-ieee: New file.
857
858 2012-02-27  Bruno Haible  <bruno@clisp.org>
859
860         Tests for module 'rintl-ieee'.
861         * modules/rintl-ieee-tests: New file.
862         * tests/test-rintl-ieee.c: New file.
863
864         New module 'rintl-ieee'.
865         * modules/rintl-ieee: New file.
866
867         Tests for module 'rint-ieee'.
868         * modules/rint-ieee-tests: New file.
869         * tests/test-rint-ieee.c: New file.
870
871         New module 'rint-ieee'.
872         * modules/rint-ieee: New file.
873
874         Tests for module 'rintf-ieee'.
875         * modules/rintf-ieee-tests: New file.
876         * tests/test-rintf-ieee.c: New file.
877         * tests/test-rint-ieee.h: New file.
878
879         New module 'rintf-ieee'.
880         * modules/rintf-ieee: New file.
881
882 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
883
884         regex: re_search etc. should return -2 when memory exhausted
885         This bug was uncovered when testing 'grep'.  Without the fix,
886         re_search and friends return -1 when memory is exhausted, but -1
887         means no match, and this causes grep to falsely report no-match
888         instead of memory-exhaustion.  See
889         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
890         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
891         trouble; this can occur if re_search_internal ran out of memory.
892
893 2012-02-26  Bruno Haible  <bruno@clisp.org>
894
895         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
896         * m4/modfl-ieee.m4: New file.
897         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
898         whether modfl works with Inf. Replace it if not.
899         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
901         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
902         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
903         (Depends-on): Update dependencies.
904         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
905         m4/signbit.m4.
906         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
907         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
908
909         modfl-ieee: Fix dependencies.
910         * modules/modfl-ieee (Depends-on): Add modf-ieee.
911
912         modfl-ieee: Fix test failures.
913         * lib/modfl.c (modfl): Treat NaN and Inf specially.
914         * modules/modfl (Depends-on): Add isfinite, isinf.
915
916         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
917         * m4/modff-ieee.m4: New file.
918         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
919         whether modff works with NaN and Inf. Replace it if not.
920         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
921         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
922         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
923         * modules/modff (configure.ac): Consider REPLACE_MODFF.
924         (Depends-on): Update dependencies.
925         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
926         m4/signbit.m4.
927         (Depends-on): Add modf-ieee.
928         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
929         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
930
931         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
932         * m4/modf-ieee.m4: New file.
933         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
934         whether modf works with NaN and Inf. Replace it if not.
935         * lib/math.in.h (modf): New declaration.
936         * lib/modf.c: New file.
937         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
938         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
939         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
940         * modules/modf (Files): Add lib/modf.c.
941         (Depends-on): Add math, isfinite, trunc, isinf.
942         (configure.ac): Addrange to compile lib/modf.c if needed.
943         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
944         m4/signbit.m4.
945         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
946         * tests/test-math-c++.cc: Check the declaration of modf.
947         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
948
949         Tests for module 'modfl-ieee'.
950         * modules/modfl-ieee-tests: New file.
951         * tests/test-modfl-ieee.c: New file.
952
953         New module 'modfl-ieee'.
954         * modules/modfl-ieee: New file.
955
956         Tests for module 'modf-ieee'.
957         * modules/modf-ieee-tests: New file.
958         * tests/test-modf-ieee.c: New file.
959
960         New module 'modf-ieee'.
961         * modules/modf-ieee: New file.
962
963         Tests for module 'modff-ieee'.
964         * modules/modff-ieee-tests: New file.
965         * tests/test-modff-ieee.c: New file.
966         * tests/test-modf-ieee.h: New file.
967
968         New module 'modff-ieee'.
969         * modules/modff-ieee: New file.
970
971 2012-02-26  Bruno Haible  <bruno@clisp.org>
972
973         Tests for module 'fabsl-ieee'.
974         * modules/fabsl-ieee-tests: New file.
975         * tests/test-fabsl-ieee.c: New file.
976
977         New module 'fabsl-ieee'.
978         * modules/fabsl-ieee: New file.
979
980         Tests for module 'fabs-ieee'.
981         * modules/fabs-ieee-tests: New file.
982         * tests/test-fabs-ieee.c: New file.
983
984         New module 'fabs-ieee'.
985         * modules/fabs-ieee: New file.
986
987         Tests for module 'fabsf-ieee'.
988         * modules/fabsf-ieee-tests: New file.
989         * tests/test-fabsf-ieee.c: New file.
990         * tests/test-fabs-ieee.h: New file.
991
992         New module 'fabsf-ieee'.
993         * modules/fabsf-ieee: New file.
994
995 2012-02-26  Bruno Haible  <bruno@clisp.org>
996
997         Tests for module 'fmal-ieee'.
998         * modules/fmal-ieee-tests: New file.
999         * tests/test-fmal-ieee.c: New file.
1000
1001         New module 'fmal-ieee'.
1002         * modules/fmal-ieee: New file.
1003
1004         Tests for module 'fma-ieee'.
1005         * modules/fma-ieee-tests: New file.
1006         * tests/test-fma-ieee.c: New file.
1007
1008         New module 'fma-ieee'.
1009         * modules/fma-ieee: New file.
1010
1011         Tests for module 'fmaf-ieee'.
1012         * modules/fmaf-ieee-tests: New file.
1013         * tests/test-fmaf-ieee.c: New file.
1014         * tests/test-fma-ieee.h: New file.
1015
1016         New module 'fmaf-ieee'.
1017         * modules/fmaf-ieee: New file.
1018
1019 2012-02-26  Bruno Haible  <bruno@clisp.org>
1020
1021         Tests for module 'ldexpl-ieee'.
1022         * modules/ldexpl-ieee-tests: New file.
1023         * tests/test-ldexpl-ieee.c: New file.
1024
1025         New module 'ldexpl-ieee'.
1026         * modules/ldexpl-ieee: New file.
1027
1028         Tests for module 'ldexp-ieee'.
1029         * modules/ldexp-ieee-tests: New file.
1030         * tests/test-ldexp-ieee.c: New file.
1031
1032         New module 'ldexp-ieee'.
1033         * modules/ldexp-ieee: New file.
1034
1035         Tests for module 'ldexpf-ieee'.
1036         * modules/ldexpf-ieee-tests: New file.
1037         * tests/test-ldexpf-ieee.c: New file.
1038         * tests/test-ldexp-ieee.h: New file.
1039
1040         New module 'ldexpf-ieee'.
1041         * modules/ldexpf-ieee: New file.
1042
1043 2012-02-26  Bruno Haible  <bruno@clisp.org>
1044
1045         Refactor frexp*-ieee tests.
1046         * tests/test-frexp-ieee.h: New file.
1047         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1048         (main): Just call test_function.
1049         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1050         (main): Just call test_function.
1051         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1052         (main): Just call test_function.
1053         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1054         * modules/frexp-ieee-tests (Files): Likewise.
1055         * modules/frexpl-ieee-tests (Files): Likewise.
1056
1057         Tests for module 'frexpl-ieee'.
1058         * modules/frexpl-ieee-tests: New file.
1059         * tests/test-frexpl-ieee.c: New file.
1060
1061         New module 'frexpl-ieee'.
1062         * modules/frexpl-ieee: New file.
1063
1064         Tests for module 'frexp-ieee'.
1065         * modules/frexp-ieee-tests: New file.
1066         * tests/test-frexp-ieee.c: New file.
1067
1068         New module 'frexp-ieee'.
1069         * modules/frexp-ieee: New file.
1070
1071         Tests for module 'frexpf-ieee'.
1072         * modules/frexpf-ieee-tests: New file.
1073         * tests/test-frexpf-ieee.c: New file.
1074
1075         New module 'frexpf-ieee'.
1076         * modules/frexpf-ieee: New file.
1077
1078 2012-02-26  Bruno Haible  <bruno@clisp.org>
1079
1080         roundl-ieee tests: More tests.
1081         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1082         (main): Add tests for [MX] shaded specification in POSIX.
1083         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1084         (Depends-on): Add isnanl-nolibm.
1085
1086         round-ieee tests: More tests.
1087         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1088         (main): Add tests for [MX] shaded specification in POSIX.
1089         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1090         (Depends-on): Add isnand-nolibm.
1091
1092         roundf-ieee tests: More tests.
1093         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1094         (main): Add tests for [MX] shaded specification in POSIX.
1095         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1096         (Depends-on): Add isnanf-nolibm.
1097
1098         truncl-ieee tests: More tests.
1099         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1100         (main): Add tests for [MX] shaded specification in POSIX.
1101         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1102         (Depends-on): Add isnanl-nolibm.
1103
1104         trunc-ieee tests: More tests.
1105         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1106         (main): Add tests for [MX] shaded specification in POSIX.
1107         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1108         (Depends-on): Add isnand-nolibm.
1109
1110         truncf-ieee tests: More tests.
1111         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1112         (main): Add tests for [MX] shaded specification in POSIX.
1113         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1114         (Depends-on): Add isnanf-nolibm.
1115
1116         ceill-ieee tests: More tests.
1117         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1118         (main): Add tests for [MX] shaded specification in POSIX.
1119         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1120         (Depends-on): Add isnanl-nolibm.
1121
1122         ceil-ieee tests: More tests.
1123         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1124         (main): Add tests for [MX] shaded specification in POSIX.
1125         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1126         (Depends-on): Add isnand-nolibm.
1127
1128         ceilf-ieee tests: More tests.
1129         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1130         (main): Add tests for [MX] shaded specification in POSIX.
1131         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1132         (Depends-on): Add isnanf-nolibm.
1133
1134         floorl-ieee tests: More tests.
1135         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1136         (main): Add tests for [MX] shaded specification in POSIX.
1137         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1138         (Depends-on): Add isnanl-nolibm.
1139
1140         floor-ieee tests: More tests.
1141         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1142         (main): Add tests for [MX] shaded specification in POSIX.
1143         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1144         (Depends-on): Add isnand-nolibm.
1145
1146         floorf-ieee tests: More tests.
1147         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1148         (main): Add tests for [MX] shaded specification in POSIX.
1149         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1150         (Depends-on): Add isnanf-nolibm.
1151
1152 2012-02-26  Bruno Haible  <bruno@clisp.org>
1153
1154         fpieee: More comments.
1155         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
1156
1157 2012-02-25  Bruno Haible  <bruno@clisp.org>
1158
1159         Tests for module 'log10l'.
1160         * modules/log10l-tests: New file.
1161         * tests/test-log10l.c: New file.
1162         * tests/test-math-c++.cc: Check the declaration of log10l.
1163
1164         New module 'log10l'.
1165         * lib/math.in.h (log10l): New declaration.
1166         * lib/log10l.c: New file.
1167         * m4/log10l.m4: New file.
1168         * modules/log10l: New file.
1169         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1170         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1171         HAVE_DECL_LOG10L.
1172         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1173         HAVE_DECL_LOG10L.
1174         * doc/posix-functions/log10l.texi: Mention the new module.
1175
1176 2012-02-25  Bruno Haible  <bruno@clisp.org>
1177
1178         fmodl, remainder*: Avoid wrong results due to rounding errors.
1179         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1180         expected bounds.
1181         * lib/remainderf.c (remainderf): Likewise.
1182         * lib/remainder.c (remainder): Likewise.
1183         * lib/remainderl.c (remainderl): Likewise.
1184
1185 2012-02-25  Bruno Haible  <bruno@clisp.org>
1186
1187         Tests for module 'remainderl'.
1188         * modules/remainderl-tests: New file.
1189         * tests/test-remainderl.c: New file.
1190         * tests/test-math-c++.cc: Check the declaration of remainderl.
1191
1192         New module 'remainderl'.
1193         * lib/math.in.h (remainderl): New declaration.
1194         * lib/remainderl.c: New file.
1195         * m4/remainderl.m4: New file.
1196         * modules/remainderl: New file.
1197         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
1198         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
1199         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
1200         HAVE_REMAINDERL.
1201         * doc/posix-functions/remainderl.texi: Mention the new module.
1202
1203 2012-02-25  Bruno Haible  <bruno@clisp.org>
1204
1205         Tests for module 'remainderf'.
1206         * modules/remainderf-tests: New file.
1207         * tests/test-remainderf.c: New file.
1208         * tests/test-math-c++.cc: Check the declaration of remainderf.
1209
1210         New module 'remainderf'.
1211         * lib/math.in.h (remainderf): New declaration.
1212         * lib/remainderf.c: New file.
1213         * m4/remainderf.m4: New file.
1214         * modules/remainderf: New file.
1215         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
1216         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
1217         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
1218         HAVE_REMAINDERF.
1219         * doc/posix-functions/remainderf.texi: Mention the new module.
1220
1221 2012-02-25  Bruno Haible  <bruno@clisp.org>
1222
1223         remainder: Support for MSVC.
1224         * lib/math.in.h (remainder): New declaration.
1225         * lib/remainder.c: New file.
1226         * m4/remainder.m4: New file.
1227         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
1228         (Depends-on): Add math, round, fma.
1229         (configure.ac): Use results of gl_FUNC_REMAINDER.
1230         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
1231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
1232         HAVE_DECL_REMAINDER.
1233         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
1234         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
1235         * tests/test-math-c++.cc: Check the declaration of remainder.
1236         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
1237         problems are fixed.
1238
1239 2012-02-25  Bruno Haible  <bruno@clisp.org>
1240
1241         Tests for module 'fmodl'.
1242         * modules/fmodl-tests: New file.
1243         * tests/test-fmodl.c: New file.
1244         * tests/test-math-c++.cc: Check the declaration of fmodl.
1245
1246         New module 'fmodl'.
1247         * lib/math.in.h (fmodl): New declaration.
1248         * lib/fmodl.c: New file.
1249         * m4/fmodl.m4: New file.
1250         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
1251         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
1252         REPLACE_FMODL.
1253         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
1254         REPLACE_FMODL.
1255         * modules/fmodl: New file.
1256         * doc/posix-functions/fmodl.texi: Mention the new module.
1257
1258 2012-02-25  Bruno Haible  <bruno@clisp.org>
1259
1260         Tests for module 'modfl'.
1261         * modules/modfl-tests: New file.
1262         * tests/test-modfl.c: New file.
1263         * tests/test-math-c++.cc: Check the declaration of modfl.
1264
1265         New module 'modfl'.
1266         * lib/math.in.h (modfl): New declaration.
1267         * lib/modfl.c: New file.
1268         * m4/modfl.m4: New file.
1269         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
1270         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
1271         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
1272         * modules/modfl: New file.
1273         * doc/posix-functions/modfl.texi: Mention the new module.
1274
1275 2012-02-25  Bruno Haible  <bruno@clisp.org>
1276
1277         Tests for module 'fabsl'.
1278         * modules/fabsl-tests: New file.
1279         * tests/test-fabsl.c: New file.
1280         * tests/test-math-c++.cc: Check the declaration of fabsl.
1281
1282         New module 'fabsl'.
1283         * lib/math.in.h (fabsl): New declaration.
1284         * lib/fabsl.c: New file.
1285         * m4/fabsl.m4: New file.
1286         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
1287         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
1288         REPLACE_FABSL.
1289         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
1290         REPLACE_FABSL.
1291         * modules/fabsl: New file.
1292         * doc/posix-functions/fabsl.texi: Mention the new module.
1293
1294 2012-02-25  Bruno Haible  <bruno@clisp.org>
1295
1296         fabs tests: More tests.
1297         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
1298         (zero): New variable.
1299         (main): Add tests for signed zero.
1300         * modules/fabs-tests (Files): Add tests/minus-zero.h.
1301
1302         fabsf tests: More tests.
1303         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
1304         (zero): New variable.
1305         (main): Add tests for signed zero.
1306         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
1307
1308 2012-02-24  Bruno Haible  <bruno@clisp.org>
1309
1310         atanl: Provide function definition on MSVC.
1311         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
1312         function pointer.
1313         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
1314
1315 2012-02-24  Bruno Haible  <bruno@clisp.org>
1316
1317         acosl: Provide function definition on MSVC.
1318         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
1319         function pointer.
1320         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
1321
1322 2012-02-24  Bruno Haible  <bruno@clisp.org>
1323
1324         asinl: Provide function definition on MSVC.
1325         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
1326         function pointer.
1327         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
1328
1329 2012-02-24  Bruno Haible  <bruno@clisp.org>
1330
1331         tanl: Provide function definition on MSVC.
1332         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
1333         function pointer.
1334         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
1335
1336 2012-02-24  Bruno Haible  <bruno@clisp.org>
1337
1338         cosl: Provide function definition on MSVC.
1339         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
1340         function pointer.
1341         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
1342
1343 2012-02-24  Bruno Haible  <bruno@clisp.org>
1344
1345         sinl: Provide function definition on MSVC.
1346         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
1347         function pointer.
1348         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
1349
1350 2012-02-24  Bruno Haible  <bruno@clisp.org>
1351
1352         logl: Provide function definition on MSVC.
1353         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
1354         function pointer.
1355         * lib/math.in.h (logl): Undefine if it does not exist as a function.
1356
1357 2012-02-24  Bruno Haible  <bruno@clisp.org>
1358
1359         expl: Provide function definition on MSVC.
1360         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
1361         function pointer.
1362         * lib/math.in.h (expl): Undefine if it does not exist as a function.
1363
1364 2012-02-24  Bruno Haible  <bruno@clisp.org>
1365
1366         sqrtl: Provide function definition on MSVC.
1367         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
1368         a function pointer.
1369         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
1370
1371 2012-02-24  Bruno Haible  <bruno@clisp.org>
1372
1373         ceill: Provide function definition on MSVC.
1374         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
1375         used as a function pointer.
1376         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
1377
1378 2012-02-24  Bruno Haible  <bruno@clisp.org>
1379
1380         floorl: Provide function definition on MSVC.
1381         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
1382         used as a function pointer.
1383         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
1384
1385 2012-02-24  Bruno Haible  <bruno@clisp.org>
1386
1387         ceilf: Provide function definition on MSVC.
1388         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
1389         used as a function pointer.
1390         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
1391
1392 2012-02-24  Bruno Haible  <bruno@clisp.org>
1393
1394         floorf: Provide function definition on MSVC.
1395         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
1396         used as a function pointer.
1397         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
1398
1399 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1400
1401         stdnoreturn: new module
1402         This implements a replacement for C11's <stdnoreturn.h>.
1403         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
1404         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
1405         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1406         * tests/test-stdnoreturn.c: New files.
1407
1408 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
1409
1410         regex: fix false multibyte matches in some regular expressions
1411         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
1412         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
1413         * lib/regex_internal.c (re_string_skip_chars):
1414         Fix miscomputation of remain_len that may cause incomplete
1415         multi-byte character and false match.
1416
1417 2012-02-24  Jim Meyering  <meyering@redhat.com>
1418
1419         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
1420         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
1421         uses with "==" *before* the call, e.g., 0 == strcmp (...)
1422         Remove now-unnecessary str''cmp obfuscation.
1423         Suggested by Akim Demaille.
1424
1425 2012-02-24  Bruno Haible  <bruno@clisp.org>
1426
1427         streq: Rename macro.
1428         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
1429         * NEWS: Mention the change.
1430         * lib/mbrtowc.c (mbrtowc): Update.
1431         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
1432         * lib/wcwidth.c (wcwidth): Update.
1433         Suggested by Akim Demaille and Jim Meyering.
1434
1435 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1436
1437         regex: fix typo in definition of MIN
1438         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
1439         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
1440
1441 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1442             Bruno Haible  <bruno@clisp.org>
1443
1444         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
1445         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
1446         entries into a stack-allocated buffer directly.
1447         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
1448
1449 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1450             Bruno Haible  <bruno@clisp.org>
1451
1452         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
1453
1454          - There were several instances of this pattern:
1455
1456              for (;;) {
1457                n = acl (f, GETACLCNT, 0, NULL);
1458                [ allocate an array A of size N ]
1459                if (acl (f, GETACL, n, a) == n)
1460                  break;
1461              }
1462
1463            This loop might never terminate if some other process is constantly
1464            manipulating the file's ACL.  The loop should be rewritten to
1465            terminate.
1466
1467          - The acl (... GETACLNT ...) call is merely an optimization; its value
1468            is merely a hint as to how big to make the array.  A better
1469            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
1470            and just guess a reasonably-big size, growing the size and trying
1471            again if it's not large enough.  This guarantees termination, and
1472            saves a system call.
1473
1474         * lib/acl-internal.h: Include <limits.h>.
1475         (MIN, SIZE_MAX): New macros.
1476         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
1477         a stack-allocated buffer, and use malloc if it does not fit. Don't
1478         use GETACLCNT.
1479         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1480
1481 2012-02-19  Bruno Haible  <bruno@clisp.org>
1482
1483         acl: Fix endless loop on Solaris with vxfs.
1484         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
1485         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
1486         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1487         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
1488         * tests/test-sameacls.c (main)[Solaris]: Likewise.
1489         Reported by Bill Jones in
1490         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
1491
1492 2012-02-19  Bruno Haible  <bruno@clisp.org>
1493
1494         acl: Fix copy-acl test failure on Solaris 11 2011-11.
1495         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
1496         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
1497         that this function returns 0 in some more cases.
1498
1499 2012-02-19  Bruno Haible  <bruno@clisp.org>
1500
1501         acl: Update doc references.
1502         * doc/acl-resources.txt: Update links to Solaris documentation.
1503
1504 2012-02-19  Bruno Haible  <bruno@clisp.org>
1505
1506         Fix test failure in many locales on Solaris 11.
1507         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
1508         'tr' arguments.
1509         * tests/test-pipe-filter-ii1.c (main): Likewise.
1510         * build-aux/bootstrap (check_versions): Run 'tr' command with range
1511         expressions in the C locale.
1512         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1513         * m4/host-os.m4 (gl_HOST_OS): Likewise.
1514
1515 2012-02-19  Bruno Haible  <bruno@clisp.org>
1516
1517         gnulib-tool: Improve usage message.
1518         * gnulib-tool (func_usage): Move doc of --help and --version to the
1519         section "Operation modes".
1520
1521 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
1522
1523         README-release: make it easier to execute commands
1524         * top/README-release: break commands out on to separate lines.
1525
1526 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1527
1528         GNUmakefile: simplify detection of unconfigured trees
1529         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
1530         whether the tree make is being run from is already configured or
1531         not.  Related simplifications.
1532
1533 2012-02-13  Simon Josefsson  <simon@josefsson.org>
1534
1535         * gnulib-tool (func_usage): Document --help and --version.
1536
1537 2012-02-11  Jim Meyering  <meyering@redhat.com>
1538
1539         bootstrap: don't exit 0 upon gnulib-tool failure
1540         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
1541         its exit status, not 0.
1542
1543 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
1544
1545         README-release: various improvements
1546         * top/README-release: Give a command to push changes for the
1547         release.  Add "distcheck" to list of other pre-release checks.
1548         Fix instance of "make stable" which should be "make TYPE".
1549
1550 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1551
1552         maint: replace FSF snail-mail addresses with URLs
1553         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
1554         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
1555         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
1556         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
1557         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
1558         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
1559         * lib/check-version.c, lib/check-version.h, lib/config.charset:
1560         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
1561         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
1562         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
1563         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
1564         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
1565         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
1566         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
1567         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
1568         * lib/glthread/thread.c, lib/glthread/thread.h:
1569         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
1570         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
1571         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
1572         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
1573         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
1574         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
1575         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
1576         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
1577         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
1578         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
1579         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
1580         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
1581         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
1582         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
1583         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
1584         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
1585         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
1586         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
1587         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
1588         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
1589         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
1590         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
1591         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
1592         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
1593         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
1594         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
1595         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
1596         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
1597         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
1598         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
1599         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
1600         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
1601         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
1602         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
1603         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
1604         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
1605         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
1606         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
1607         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
1608         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
1609         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
1610         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
1611         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
1612         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
1613         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
1614         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
1615         * tests/test-poll.c, tests/test-quotearg-simple.c:
1616         * tests/test-quotearg.c, tests/test-quotearg.h:
1617         * tests/test-round-ieee.c, tests/test-round1.c:
1618         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
1619         * tests/test-roundl-ieee.c, tests/test-roundl.c:
1620         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
1621         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
1622         * tests/test-strerror.c, tests/test-strerror_r.c:
1623         * tests/test-strsignal.c, tests/test-strverscmp.c:
1624         * tests/test-xmemdup0.c:
1625         Replace FSF snail mail addresses with URLs, as per GNU coding
1626         standards.  See glibc bug
1627         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
1628
1629 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1630
1631         README-release: capitalize a word and split a line
1632         * top/README-release: Fix punctuation and spacing.
1633
1634 2012-02-08  Akim Demaille  <demaille@gostai.com>
1635
1636         fatal-signal: use C prototypes (with explicit void).
1637         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
1638         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
1639
1640 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1641
1642         regex: spelling fix
1643         * lib/regexec.c: spelling fix
1644
1645         regex: rely on stdint.h for SIZE_MAX
1646         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
1647
1648 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1649
1650         regex: merge glibc changes
1651
1652         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
1653         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
1654         (init_word_char): Work even if bitset words are not exactly 32 or
1655         64 bits wide.  Don't assume there are no padding bits.
1656         * lib/regex.c [_LIBC]: Do not include <config.h>.
1657         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
1658         and -Wtype-limits.
1659         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
1660         needless disagreement with glibc.  All uses changed.  Define it to
1661         1 only if _GNU_SOURCE, to match glibc.
1662         (_REG_RM_NAME): Remove; no longer needed, since the names in
1663         question are now all protected by __USE_GNU.
1664         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
1665         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
1666         * lib/regex_internal.h (MIN): New macro.
1667
1668         2012-01-03 Ulrich Drepper <drepper@gmail.com>
1669         * lib/regcomp.c (init_word_char): Optimize regex a bit.
1670
1671         2011-12-30 Jakub Jelinek <jakub@redhat.com>
1672         * lib/regex_internal.c (re_string_fetch_byte_case):
1673         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
1674         is miscompiled, and it turns out it is because of an incorrect
1675         attribute on re_string_fetch_byte_case.  Unlike
1676         re_string_peek_byte_case, this one is really not pure, it modifies
1677         memory (increments pstr->cur_idx), and with the pure attribute GCC
1678         assumed it doesn't and it cached the presumed value of
1679         regexp->cur_idx in a variable across the
1680          for (;; ++i)
1681            {
1682              if (i >= BRACKET_NAME_BUF_SIZE)
1683                return REG_EBRACK;
1684              if (token->type == OP_OPEN_CHAR_CLASS)
1685                ch = re_string_fetch_byte_case (regexp);
1686              else
1687                ch = re_string_fetch_byte (regexp);
1688              if (re_string_eoi(regexp))
1689                return REG_EBRACK;
1690              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
1691                break;
1692              elem->opr.name[i] = ch;
1693            }
1694
1695         2011-11-29 Andreas Schwab <schwab@redhat.com>
1696         * lib/regcomp.c (build_equiv_class):
1697         Fix access after end of search string in regex matcher.
1698
1699         2011-11-12 Ulrich Drepper <drepper@redhat.com>
1700         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
1701
1702         2011-10-12 Ulrich Drepper <drepper@redhat.com>
1703         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
1704
1705         2011-10-11 Ulrich Drepper <drepper@redhat.com>
1706         * lib/regcomp.c (parse_branch, parse_sub_exp):
1707         More regex memory leak fixes and tests.
1708         (parse_sub_exp, parse_bracket_exp):
1709         Fix memory leak for some invalid regular expressions.
1710
1711         2011-05-28 Ulrich Drepper <drepper@gmail.com>
1712         * lib/regex_internal.c, lib/regexec.c:
1713         Fix unnecessary overallocation due to incomplete character.  When
1714         incomplete characters are found at the end of a string the code
1715         ran amok and allocated lots of memory.  Stricter limits are now in
1716         place.
1717
1718         2011-05-20 Reuben Thomas <rrt@sc3d.org>
1719         * lib/regex.h: Update documentation.
1720
1721         2011-05-16 Aharon Robbins <arnold@skeeve.com>
1722         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
1723
1724         2010-05-05 Andreas Schwab <schwab@redhat.com>
1725         * lib/regexec.c (find_collation_sequence_value):
1726         Fix lookup of collation sequence value during regexp matching.
1727
1728         2010-01-22 Ulrich Drepper <drepper@redhat.com>
1729         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
1730
1731         2008-01-16 Ulrich Drepper <drepper@redhat.com>
1732         * lib/regex.h: Cleanup namespace.
1733
1734         2007-11-26 Ulrich Drepper <drepper@redhat.com>
1735         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
1736
1737         2007-08-26 Ulrich Drepper <drepper@redhat.com>
1738         * lib/regex_internal.h: Prevent some declarations and definitions
1739         to be seen when used in tests.
1740
1741         2005-05-06 Ulrich Drepper <drepper@redhat.com>
1742         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
1743         __libc_lock_* macros if not _LIBC.
1744         (struct re_dfa_t): Add lock.
1745
1746 2012-02-07  Eric Blake  <eblake@redhat.com>
1747
1748         maint.mk: also prohibit lower-case @var@
1749         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
1750         lower case, like @top_srcdir@.
1751
1752 2012-02-04  Eric Blake  <eblake@redhat.com>
1753
1754         canonicalize: avoid uninitialized memory use
1755         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
1756         random '/' left in dest.
1757         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
1758
1759 2012-02-04  Bruno Haible  <bruno@clisp.org>
1760
1761         isatty: Fix test failure of ptsname_r on native Windows.
1762         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
1763         and don't set errno.
1764         (isatty): Test first whether fd is valid. Set errno when returning 0.
1765
1766 2012-02-04  Bruno Haible  <bruno@clisp.org>
1767
1768         spawn-pipe tests: Fix a NULL program name in a diagnostic.
1769         * tests/test-spawn-pipe-main.c: Include progname.h.
1770         (main): Invoke set_program_name.
1771         * modules/spawn-pipe-tests (Depends-on): Add progname.
1772
1773         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
1774         * tests/test-nonblocking-socket-main.c: Include progname.h.
1775         (main): Invoke set_program_name.
1776         * modules/nonblocking-socket-tests (Depends-on): Add progname.
1777
1778         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
1779         * tests/test-nonblocking-pipe-main.c: Include progname.h.
1780         (main): Invoke set_program_name.
1781         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
1782
1783 2012-02-04  Eric Blake  <eblake@redhat.com>
1784
1785         canonicalize-lgpl: fix // handling
1786         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
1787
1788         canonicalize: fix // handling
1789         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
1790         /// to //, since only // is special.
1791
1792 2012-02-04  Bruno Haible  <bruno@clisp.org>
1793
1794         ioctl: Fix test failure on native Windows.
1795         * lib/ioctl.c: Include msvc-nothrow.h.
1796         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
1797
1798 2012-02-04  Bruno Haible  <bruno@clisp.org>
1799
1800         fsync: Avoid test failure on native Windows.
1801         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
1802         read-only.
1803
1804 2012-02-04  Bruno Haible  <bruno@clisp.org>
1805
1806         sys_select: Avoid syntax error on OpenBSD 5.0.
1807         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
1808         currently being included, just include the system's <sys/select.h>.
1809
1810 2012-02-04  Bruno Haible  <bruno@clisp.org>
1811
1812         sys_select: Avoid syntax error on OpenBSD 5.0.
1813         * lib/sys_select.in.h: Include <signal.h> only after the include_next
1814         <sys/select.h>, not before.
1815         Reported by Jiri B <jirib@devio.us>.
1816
1817 2012-02-04  Bruno Haible  <bruno@clisp.org>
1818
1819         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
1820         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
1821         global variables.
1822         * tests/test-get-rusage-data.c (main): Likewise.
1823         Reported by Jim Meyering.
1824
1825 2012-02-04  Bruno Haible  <bruno@clisp.org>
1826
1827         stdioext: Fix last commit.
1828         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
1829
1830 2012-02-03  Bruno Haible  <bruno@clisp.org>
1831
1832         stdioext: Add tentative support for Plan9.
1833         * lib/stdio-impl.h: Include <errno.h>.
1834         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
1835         * lib/freadable.c (freadable): Likewise.
1836         * lib/fwritable.c (fwritable): Likewise.
1837         * lib/fbufmode.c (fbufmode): Likewise.
1838         * lib/freading.c (freading): Likewise.
1839         * lib/fwriting.c (fwriting): Likewise.
1840         * lib/freadptr.c (freadptr): Likewise.
1841         * lib/freadseek.c (freadptrinc): Likewise.
1842         * lib/freadahead.c (freadahead): Likewise.
1843         * lib/fpurge.c (fpurge): Likewise.
1844         * lib/fseeko.c (rpl_fseeko): Likewise.
1845         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
1846         Reported by Jens Staal <staal1978@gmail.com>.
1847
1848 2012-02-02  Jim Meyering  <meyering@redhat.com>
1849
1850         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
1851         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
1852         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
1853         not even to try to add the attribute.  Instead, add a pragma to suppress
1854         the suggestion/warning.
1855
1856 2012-01-31  Karl Berry  <karl@gnu.org>
1857
1858         setstate doc: typo.
1859         * doc/posix-functions/setstate.texi (setstate): { not (.
1860
1861 2012-01-31  Bruno Haible  <bruno@clisp.org>
1862
1863         popen: Make more robust on Windows.
1864         * lib/popen.c: On native Windows, use the _popen based code even if
1865         HAVE_POPEN is set.
1866         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
1867         environment variable on native Windows.
1868
1869 2012-01-30  Bruno Haible  <bruno@clisp.org>
1870
1871         pclose: Fix typo.
1872         * lib/stdio.in.h (pclose): Fix typo in warning message.
1873
1874 2012-01-30  Bruno Haible  <bruno@clisp.org>
1875
1876         doc about getlogin_r, setstate.
1877         * doc/posix-functions/getlogin_r.texi: List the incompatible
1878         declaration problem under "not fixed by gnulib".
1879         * doc/posix-functions/setstate.texi: Mention incompatible declaration
1880         problem on Solaris 11 and other platforms.
1881
1882 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
1883             Bruno Haible  <bruno@clisp.org>
1884
1885         poll tests: Make test more robust.
1886         * tests/test-poll.c: Include macros.h.
1887         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
1888         return value of various I/O operations.
1889         * modules/poll-tests (Files): Add tests/macros.h.
1890
1891 2012-01-30  Bruno Haible  <bruno@clisp.org>
1892
1893         sys_stat: Fix support for mingw64 and MSVC.
1894         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
1895         header files already do it.
1896         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
1897         stat itself.
1898         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1899
1900 2012-01-30  Bruno Haible  <bruno@clisp.org>
1901
1902         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
1903         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
1904         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
1905
1906 2012-01-29  Bruno Haible  <bruno@clisp.org>
1907
1908         quotearg: Fix test failure on MacOS X 10.5.
1909         * tests/test-quotearg-simple.c: Include localcharset.h.
1910         (main): If the locale encoding is not ASCII, bypass the tests of
1911         locale_quoting_style and clocale_quoting_style.
1912         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
1913
1914 2012-01-29  Jim Meyering  <meyering@redhat.com>
1915
1916         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
1917         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
1918         detect uses of canonicalize_file_name.
1919
1920 2012-01-28  Bruno Haible  <bruno@clisp.org>
1921
1922         test-framework-sh: Fix test failure with AIX 7.1 diff.
1923         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
1924         in column 1, like 'diff -c' does.
1925         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
1926         whether 'diff -u' is used. Instead, test whether the output contains
1927         some '@' character.
1928
1929 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1930
1931         strtoimax: eliminate need for stdint.h, inttypes.h checks
1932         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
1933         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
1934         the prerequisites for a recently-introduced strtoimax test.
1935         I guess this might cause strtoimax to be replaced when not
1936         strictly necessary on older hosts, but this shouldn't introduce
1937         any bugs and it should make Emacs 'configure' faster on typical
1938         modern hosts.  Problem discovered when importing the latest gnulib
1939         to an Emacs test version.
1940         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
1941
1942 2012-01-28  Bruno Haible  <bruno@clisp.org>
1943
1944         sys_time: Override 'struct timeval' on some native Windows platforms.
1945         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
1946         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
1947         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
1948         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
1949         needs to be overridden.
1950         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
1951         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
1952         * tests/test-sys_select.c: Check that the tv_sec member has the same
1953         size as a 'time_t'.
1954         * tests/test-sys_time.c: Likewise.
1955         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
1956         is set, set also REPLACE_GETTIMEOFDAY.
1957         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
1958         convert the resulting 'struct timeval' before returning.
1959         * lib/select.c: Include <sys/time.h>.
1960         (select, timeval): Undefine at the right place.
1961         * modules/select (Depends-on): Add sys_time.
1962         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
1963         some Windows platforms.
1964         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1965
1966 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1967
1968         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
1969         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
1970         an integer.
1971         * lib/fcntl.c (dupfd): Likewise.
1972         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
1973
1974 2012-01-28  Bruno Haible  <bruno@clisp.org>
1975
1976         fcntl: Avoid compilation error on native Windows.
1977         * modules/fcntl (Depends-on): Add 'close'.
1978
1979 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1980
1981         select, poll, isatty: Avoid warnings on x86_64 mingw64.
1982         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
1983         pointer to an integer.
1984         * lib/poll.c (IsConsoleHandle): Likewise.
1985         * lib/isatty.c (IsConsoleHandle): Likewise.
1986
1987 2012-01-28  Jim Meyering  <meyering@redhat.com>
1988
1989         doc: clarify README-release
1990         * top/README-release: Clarify: you should make a point to have
1991         the latest stable versions of build tools in your PATH, and the
1992         reference to buildreq is solely for its list of tool names, not
1993         for its minimal-functional version numbers.
1994         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
1995
1996         maint.mk: use more readable (yet functionally equivalent) quoting
1997         It is common to quote a single quote in a single quoted string like
1998         this:  '...'\''...'.  Unless you know the idiom, that looks like
1999         gibberish, so prefer to double-quote the string when possible.
2000         Then you can use a more readable, lone single quote: "...'..."
2001         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2002         "don't" is more readable than the equivalent 'don'\''t'.
2003         (sc_cast_of_x_alloc_return_value): Likewise.
2004         (sc_cast_of_alloca_return_value): Likewise.
2005         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2006         rather than '\'':'\''.
2007
2008 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2009
2010         stdalign: relax _Alignof and tighten _Alignas test
2011         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2012         as it was too strict: alignof must divide offsetof, but it need
2013         not equal offsetof.  Inspired by Joseph S. Myers's comment
2014         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2015         Conversely, tighten the _Alignas test a bit, as the resulting
2016         alignment must be exactly 8.
2017
2018 2012-01-27  Bruno Haible  <bruno@clisp.org>
2019
2020         stdalign: Document the last change.
2021         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2022
2023 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2024
2025         stdalign: check that alignof and offsetof are consistent
2026         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2027         Problem reported for gnulib by Richard W.M. Jones in
2028         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2029
2030 2012-01-27  Jim Meyering  <meyering@redhat.com>
2031
2032         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2033         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2034         convert a sequence with gaps to the minimal containing range.
2035         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2036         * tests/test-update-copyright.sh: Test for this.
2037         The FSF confirmed it is ok to do this, assuming there is at
2038         least one significant change per year in the affected range:
2039         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2040
2041 2012-01-26  Bruno Haible  <bruno@clisp.org>
2042
2043         pipe2: refine doc about thread-safety
2044         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2045         multithread-safety problem.
2046         * doc/glibc-functions/accept4.texi: Likewise.
2047
2048 2012-01-26  Bruno Haible  <bruno@clisp.org>
2049
2050         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2051         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2052         In the test program, include <fcntl.h>, for O_RDONLY.
2053
2054 2012-01-26  Eric Blake  <eblake@redhat.com>
2055
2056         pipe2: document lack of thread-safety in replacement
2057         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2058         issue in replacement.
2059         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2060         Based on a report by Eric Wong.
2061
2062 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2063             Bruno Haible  <bruno@clisp.org>
2064
2065         malloca: Avoid warnings on x86_64 mingw64.
2066         * lib/malloca.c: Include <stdint.h>.
2067         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2068         * modules/malloca (Depends-on): Add stdint.
2069         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2070
2071 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2072
2073         obstack: remove __STDC__ conditionals
2074         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2075         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2076         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2077         m4/include_next.m4 as the only gnulib-maintained places that still
2078         refer to __STDC__.
2079
2080 2012-01-24  Bruno Haible  <bruno@clisp.org>
2081
2082         havelib: Modern quoting.
2083         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2084         the recent change to the GNU coding standards.
2085
2086 2012-01-24  Bruno Haible  <bruno@clisp.org>
2087
2088         stdint: Improve support for Android.
2089         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2090         Reported by Simon Josefsson <simon@josefsson.org>.
2091
2092 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2093
2094         doc: omit trailing empty lines from INSTALL etc.
2095         * doc/Makefile (INSTALL): Omit trailing empty lines.
2096         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2097         omit trailing empty lines.  This simplifies the build procedure.
2098
2099 2012-01-23  Jim Meyering  <meyering@redhat.com>
2100
2101         tests: avoid spurious warnings about gl_sockets_startup
2102         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2103         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2104         reporting a "statement with no effect".
2105         * tests/test-accept.c (main): Mark as "(void)".
2106         * tests/test-accept4.c (main): Likewise.
2107         * tests/test-bind.c (main): Likewise.
2108         * tests/test-connect.c (main): Likewise.
2109         * tests/test-getpeername.c (main): Likewise.
2110         * tests/test-getsockname.c (main): Likewise.
2111         * tests/test-getsockopt.c (main): Likewise.
2112         * tests/test-listen.c (main): Likewise.
2113         * tests/test-recv.c (main): Likewise.
2114         * tests/test-recvfrom.c (main): Likewise.
2115         * tests/test-send.c (main): Likewise.
2116         * tests/test-sendto.c (main): Likewise.
2117         * tests/test-setsockopt.c (main): Likewise.
2118         * tests/test-shutdown.c (main): Likewise.
2119
2120 2012-01-21  Bruno Haible  <bruno@clisp.org>
2121
2122         locale-fr.m4: Fix for Android.
2123         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2124         failure of the test program on Bionic libc.
2125
2126 2012-01-21  Jim Meyering  <meyering@redhat.com>
2127
2128         bootstrap: fail when bootstrap_post_import_hook fails
2129         Otherwise, it's far too easy to miss diagnostics emitted
2130         between gnulib-tool's output and that of running configure.
2131         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2132
2133 2012-01-17  Jim Meyering  <meyering@redhat.com>
2134
2135         maint: enable sc_trailing_blank
2136         * build-aux/pmccabe.css: Remove trailing blanks.
2137         * doc/acl-cygwin.txt: Likewise.
2138         * doc/gnu-oids.texi: Likewise
2139         * cfg.mk: Enable sc_trailing_blank.
2140         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2141
2142 2012-01-17  Jim Meyering  <meyering@redhat.com>
2143
2144         maint: enable sc_prohibit_openat_without_use
2145         * cfg.mk: Enable sc_prohibit_openat_without_use.
2146         Exempt lib/selinux-at.c.
2147
2148 2012-01-17  Jim Meyering  <meyering@redhat.com>
2149
2150         maint: enable sc_prohibit_cloexec_without_use
2151         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2152         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2153
2154 2012-01-17  Jim Meyering  <meyering@redhat.com>
2155
2156         maint: enable sc_prohibit_intprops_without_use
2157         * cfg.mk: Enable sc_prohibit_intprops_without_use
2158         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
2159
2160 2012-01-17  Jim Meyering  <meyering@redhat.com>
2161
2162         maint: enable sc_prohibit_hash_pjw_without_use
2163         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
2164         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
2165         to match any use of \<hash_pjw\>, i.e., not necessarily with a
2166         following " (".
2167
2168 2012-01-17  Jim Meyering  <meyering@redhat.com>
2169
2170         maint: enable double-word-prohibiting rule
2171         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2172         Exempt three files.
2173
2174 2012-01-17  Jim Meyering  <meyering@redhat.com>
2175
2176         maint: remove empty lines at EOF, but excluding modules/*
2177         Apply syntax rules at home as well as abroad.  Most changes
2178         were induced by running this:
2179           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2180             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2181             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2182         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2183         Exempt modules/* and two binary files.
2184         Also exempt doc/INSTALL*, per request from Bruno Haible.
2185         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2186         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2187         * doc/Copyright/request-assign.future: Likewise.
2188         * doc/Copyright/request-disclaim.changes: Likewise.
2189         * doc/INSTALL: Likewise.
2190         * doc/INSTALL.ISO: Likewise.
2191         * doc/INSTALL.UTF-8: Likewise.
2192         * doc/acl-cygwin.txt: Likewise.
2193         * doc/acl-resources.txt: Likewise.
2194         * doc/fdl-1.2.texi: Likewise.
2195         * doc/fdl-1.3.texi: Likewise.
2196         * doc/fdl.texi: Likewise.
2197         * lib/argp-pin.c: Likewise.
2198         * lib/round.c: Likewise.
2199         * lib/unicase/u16-totitle.c: Likewise.
2200         * lib/unictype/block_test.c: Likewise.
2201         * lib/uninorm/canonical-decomposition.c: Likewise.
2202         * m4/README: Likewise.
2203         * m4/relocatable-lib.m4: Likewise.
2204         * tests/test-isnand-nolibm.c: Likewise.
2205         * tests/test-isnand.c: Likewise.
2206         * tests/uninorm/NormalizationTest.txt: Likewise.
2207
2208 2012-01-17  Jim Meyering  <meyering@redhat.com>
2209
2210         maint: add framework to run syntax-check rules against gnulib sources
2211         * cfg.mk: New file, to disable all currently-failing tests.
2212         We'll enable them one by one, as they are made to pass.
2213         * Makefile (sc_maint): New rule.
2214
2215 2012-01-21  Bruno Haible  <bruno@clisp.org>
2216
2217         stdint: Add support for Android.
2218         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
2219         include the system's <stdint.h>.
2220         Reported by Simon Josefsson <simon@josefsson.org>.
2221
2222 2012-01-19  Jim Meyering  <meyering@redhat.com>
2223
2224         bootstrap: add bootstrap_post_import_hook
2225         Bison does still need something like the gnulib_mk_hook whose
2226         invocation I had to remove along with slurp in commit 767ccd40.
2227         Technically, we could get along without it, but doing so would
2228         have required living with a warning and a mandatory post-bootstrap
2229         automake rerun.
2230         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
2231         (bootstrap_post_import_hook): New function.
2232         Invoke it after gnulib-tool --import and before autoreconf.
2233
2234 2012-01-18  Jim Meyering  <meyering@redhat.com>
2235
2236         gitlog-to-changelog: don't use "no_"-prefixed variable name
2237         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
2238         to enable both --cluster and --no-cluster.  Change variable name,
2239         s/\$no_cluster/$cluster/, and reverse usage to match.
2240
2241         gitlog-to-changelog: use "||", not "or" in expressions
2242         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
2243         expressions.
2244
2245 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
2246
2247         gitlog-to-changelog: new option --no-cluster
2248         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
2249         clustering of adjacent commit messages.
2250
2251 2012-01-17  Jim Meyering  <meyering@redhat.com>
2252
2253         maint: spell file systems with two words, not one
2254         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
2255         two words, not one.
2256
2257 2012-01-16  Jim Meyering  <meyering@redhat.com>
2258
2259         bootstrap: add a FIXME comment to ensure we eventually remove the hack
2260         * build-aux/bootstrap (gnulib_tool_options): Add comment.
2261
2262 2012-01-16  Eric Blake  <eblake@redhat.com>
2263
2264         bootstrap: cater to autoconf 2.59
2265         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
2266         is not available.
2267
2268         bootstrap: properly check for libtool
2269         * build-aux/bootstrap (libtoolize): Also run libtool when older
2270         usage is detected.
2271
2272 2012-01-15  Bruno Haible  <bruno@clisp.org>
2273
2274         Improve support for MSVC 9.
2275         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
2276         clashes on MSVC.
2277         * lib/fcntl.in.h: Likewise.
2278         * lib/stdlib.in.h: Likewise.
2279         * lib/sys_stat.in.h: Likewise.
2280
2281 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2282
2283         gnupload: we hold the master copy of this script now
2284         For motivation and more information, see:
2285         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
2286         * build-aux/gnupload: Make it clear in the heading comments that the
2287         master copy of this file is maintained by gnulib.  Since we are at
2288         it, bump its copyright year and ...
2289         ($scriptversion): ... the date in its version.
2290         ($usage): Patches and bug reports should be sent to the gnulib list,
2291         not the automake one.
2292         * config/srclist.txt: Don't try to sync 'gnupload' from automake
2293         anymore.
2294
2295 2012-01-15  Bruno Haible  <bruno@clisp.org>
2296
2297         Fix module 'random'.
2298         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
2299         initstate, setstate are declared.
2300
2301 2012-01-14  Bruno Haible  <bruno@clisp.org>
2302
2303         Tests for module 'random'.
2304         * modules/random-tests: New file.
2305         * tests/test-random.c: New file, based on tests/test-random_r.c.
2306
2307         New module 'random'.
2308         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
2309         declarations.
2310         * lib/random.c: New file, based on glibc/stdlib/random.c.
2311         * m4/random.m4: New file.
2312         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
2313         HAVE_RANDOM.
2314         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
2315         * modules/random: New file.
2316         * config/srclist.txt: Add an entry for random.c.
2317         * doc/posix-functions/random.texi: Mention the 'random' module.
2318         * doc/posix-functions/initstate.texi: Likewise.
2319         * doc/posix-functions/setstate.texi: Likewise.
2320         * doc/posix-functions/srandom.texi: Likewise.
2321
2322 2012-01-12  Bruno Haible  <bruno@clisp.org>
2323
2324         random_r: Use common idioms.
2325         * lib/random_r.c: Include <stdlib.h> first.
2326
2327         random_r: Override incompatible API on AIX, OSF/1.
2328         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
2329         Override the system function if REPLACE_RANDOM_R is 1.
2330         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
2331         and OSF/1, set REPLACE_RANDOM_R.
2332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
2333         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
2334         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
2335         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
2336         * doc/glibc-functions/random_r.texi: Likewise.
2337         * doc/glibc-functions/setstate_r.texi: Likewise.
2338
2339         random_r: Support for MSVC 9.
2340         * lib/random_r.c: Include stdint.h, not inttypes.h.
2341
2342 2012-01-12  Eric Blake  <eblake@redhat.com>
2343
2344         inet_ntop: guard extra work by IF_LINT
2345         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
2346         better code generation when not checking for warnings.
2347         Suggested by Paul Eggert and Jim Meyering.
2348
2349         strptime: fix regression on mingw
2350         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
2351         Fix regression.  Reported by Bruno Haible.
2352
2353 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
2354             Bruno Haible  <bruno@clisp.org>
2355
2356         copy-file: add error-code-returning variant.
2357         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
2358         (qcopy_file_preserving): New declaration.
2359         * lib/copy-file.c (qcopy_file_preserving): Renamed from
2360         copy_file_preserving. Change return type to 'int'. Don't emit an error
2361         message here.
2362         (copy_file_preserving): New function.
2363         * tests/test-copy-file.c: Include <stdlib.h>.
2364         (main): Test qcopy_file_preserving if the environment variable
2365         NO_STDERR_OUTPUT is set.
2366         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
2367         with NO_STDERR_OUTPUT
2368         * tests/test-copy-file-2.sh: Likewise.
2369
2370 2012-01-10  Bruno Haible  <bruno@clisp.org>
2371
2372         copy-file: Use 'quote' module consistently.
2373         * lib/copy-file.c (copy_file_preserving): Use quote().
2374
2375         copy-file: Refactor.
2376         * lib/copy-file.c: Include quote.h.
2377         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
2378         message here.
2379         * modules/copy-file (Depends-on): Add quote.
2380
2381         acl: Export qcopy_acl.
2382         * lib/acl.h (qcopy_acl): New declaration.
2383         * lib/copy-acl.c (qcopy_acl): Make non-static.
2384
2385         acl: Rename a local variable.
2386         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
2387
2388         acl: Align return values of copy_acl and qcopy_acl.
2389         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
2390         maybe < -1.
2391
2392 2012-01-11  Eric Blake  <eblake@redhat.com>
2393
2394         strptime: silence gcc warnings
2395         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
2396         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
2397         Reported by Daniel P. Berrange.
2398
2399         inet_ntop: silence gcc warning
2400         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
2401         Reported by Daniel P. Berrange.
2402
2403 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
2404
2405         getloadavg test: skip the test on GNU/Linux without /proc mounted
2406         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
2407         file.  When /proc is not mounted, it always fails with ENOENT.
2408         * tests/test-getloadavg.c (main): Treat ENOENT return code from
2409         getloadavg(3) the same way as ENOSYS and ENOTSUP.
2410
2411 2012-01-10  Bruno Haible  <bruno@clisp.org>
2412
2413         regex: Avoid link error on MSVC 9.
2414         * modules/regex (Depends-on): Add wctype.
2415
2416 2012-01-10  Bruno Haible  <bruno@clisp.org>
2417
2418         doc: Mention --with-tests option.
2419         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
2420         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
2421         --with-tests.
2422         Reported by Reuben Thomas.
2423
2424 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
2425
2426         users.txt: order package names lexicographically.
2427         * users.txt: Order package names lexicographically.
2428
2429 2012-01-10  Jim Meyering  <meyering@redhat.com>
2430
2431         maint.mk: fix description in comment
2432         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
2433
2434         ignore-value: remove deprecated ignore_ptr function
2435         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
2436         * NEWS: Note this.
2437
2438 2012-01-09  Jim Meyering  <meyering@redhat.com>
2439
2440         test-init.sh: avoid a subshell
2441         * tests/test-init.sh: Remove protective subshell.
2442         Suggested by Bernhard Voelker.  While a subshell is normally
2443         required to protect against older shells (Solaris, FreeBSD) that
2444         warn about a missing program before performing redirection, the
2445         shell-selection tests performed by init.sh probably exclude any
2446         offending shell.
2447
2448 2012-01-08  Bruno Haible  <bruno@clisp.org>
2449
2450         setlocale tests: Avoid test failure on Solaris 11 2011-11.
2451         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
2452         variable.
2453
2454 2012-01-08  Bruno Haible  <bruno@clisp.org>
2455
2456         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
2457         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2458         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2459         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
2460         macro.
2461         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
2462         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2463         * lib/spawn_faction_addopen.c: Add workaround implementation if
2464         HAVE_WORKING_POSIX_SPAWN.
2465         * modules/spawn (Makefile): Substitute
2466         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2467         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
2468         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
2469         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2470         (Depends-on): Update conditions.
2471         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
2472         the Solaris 11 bug.
2473
2474 2012-01-08  Bruno Haible  <bruno@clisp.org>
2475
2476         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
2477         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2478         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2479         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
2480         macro.
2481         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
2482         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2483         * lib/spawn_faction_adddup2.c: Add workaround implementation if
2484         HAVE_WORKING_POSIX_SPAWN.
2485         * modules/spawn (Makefile): Substitute
2486         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2487         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
2488         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
2489         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2490         (Depends-on): Update conditions.
2491         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
2492         the Solaris 11 bug.
2493
2494 2012-01-08  Bruno Haible  <bruno@clisp.org>
2495
2496         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
2497         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2498         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2499         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
2500         HAVE_WORKING_POSIX_SPAWN.
2501         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
2502         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
2503         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2504         * lib/spawn_faction_addclose.c: Add workaround implementation if
2505         HAVE_WORKING_POSIX_SPAWN.
2506         * modules/spawn (Makefile): Substitute
2507         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2508         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
2509         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
2510         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2511         (Depends-on): Update conditions.
2512         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
2513         the Solaris 11 bug.
2514
2515 2012-01-08  Bruno Haible  <bruno@clisp.org>
2516
2517         doc: Update for Solaris 11 2011-11.
2518         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
2519         * m4/printf.m4: Update comments.
2520
2521 2012-01-08  Bruno Haible  <bruno@clisp.org>
2522
2523         mktime: Avoid compilation error on Solaris 11.
2524         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
2525
2526 2012-01-08  Bruno Haible  <bruno@clisp.org>
2527
2528         doc: Small fix.
2529         * doc/posix-headers/nl_types.texi: Correct platforms list.
2530
2531 2012-01-08  Simon Josefsson  <simon@josefsson.org>
2532
2533         Add lgpl-3.0 module.
2534         * MODULES.html.sh (Support for building documentation): Add
2535         lgpl-3.0.
2536         * modules/lgpl-3.0: New file.
2537
2538 2012-01-08  Jim Meyering  <meyering@redhat.com>
2539
2540         select.c: indent with spaces, not TABs
2541         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
2542
2543 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2544
2545         quotearg: do not use grave accent for left quote
2546         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
2547         locale_quoting_style.
2548         (quotearg_buffer_restyled): Fix example.
2549         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
2550
2551 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2552
2553         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
2554         Most programs do not have translation catalogs for English and much
2555         less separate catalogs for British and American English.  Drop the
2556         suggestion to translators about these two, and provide it
2557         automatically for Unicode locales.  Like most programs, even those
2558         using American English, we use single quotation marks.  This conflicts
2559         with the American typographic convention, but works better when you
2560         cite the entire error message within double quotes.  It also tries not
2561         to clash with established practice and with what non-gnulib programs
2562         will usually do.
2563         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
2564         using an UTF-8 or GB-18030 locale.  The list of other locales with
2565         quotes was provided by Bruno Haible.
2566         (quotearg_buffer_restyled): Adjust instructions to translators.
2567         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
2568         text, since this would be wrong when using Unicode.
2569         * modules/quotearg: Depend on c-strcaseeq.
2570
2571 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2572
2573         quotearg: fix Wikipedia link
2574         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
2575
2576 2012-01-07  Simon Josefsson  <simon@josefsson.org>
2577
2578         Fix for mingw with MSVC9.
2579         * m4/ld-version-script.m4: Check that compiler rejects version
2580         scripts with syntax errors.  Reported by Bruno Haible
2581         <bruno@clisp.org>.
2582
2583 2012-01-06  Bruno Haible  <bruno@clisp.org>
2584
2585         Talk about "native Windows API", not "Woe32".
2586         * lib/accept4.c: Update comments to mention native Windows.
2587         * lib/execute.c: Likewise.
2588         * lib/fatal-signal.c: Likewise.
2589         * lib/localcharset.c: Likewise.
2590         * lib/nanosleep.c: Likewise.
2591         * lib/nl_langinfo.c: Likewise.
2592         * lib/pclose.c: Likewise.
2593         * lib/pipe-filter-gi.c: Likewise.
2594         * lib/pipe-filter-ii.c: Likewise.
2595         * lib/pipe.c: Likewise.
2596         * lib/pipe2.c: Likewise.
2597         * lib/popen.c: Likewise.
2598         * lib/progreloc.c: Likewise.
2599         * lib/relocatable.c: Likewise.
2600         * lib/sigaction.c: Likewise.
2601         * lib/sigprocmask.c: Likewise.
2602         * lib/spawn-pipe.h: Likewise.
2603         * lib/spawn-pipe.c: Likewise.
2604         * lib/spawni.c: Likewise.
2605         * lib/stat-time.h: Likewise.
2606         * lib/w32spawn.h: Likewise.
2607         * tests/test-isatty.c: Likewise.
2608         * lib/config.charset: More comments.
2609         * doc/gnulib-intro.texi: Mention native Windows.
2610         * doc/posix-functions/_Exit_C99.texi: Likewise.
2611         * doc/posix-headers/fcntl.texi: Likewise.
2612
2613 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
2614
2615         argp: Avoid crash if translator uses % characters in a translation.
2616         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
2617         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2618
2619 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
2620
2621         doc: C11 and C++11 are now official
2622         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
2623         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
2624         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
2625         * modules/stdalign:
2626         Replace references to draft C1X to C11, and to draft C++0X to C++11.
2627
2628 2012-01-06  Bruno Haible  <bruno@clisp.org>
2629
2630         uc-is-grapheme-break tests: Tweak.
2631         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
2632         message.
2633
2634 2012-01-06  Bruno Haible  <bruno@clisp.org>
2635
2636         test-init.sh: correct the test for diff -u
2637         * tests/test-init.sh: Also redirect stdout to /dev/null.
2638
2639 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2640
2641         Use ', not `, for quoting output.
2642         * build-aux/announce-gen (usage, sizes, print_news_deltas)
2643         (print_changelog_deltas, get_tool_versions, main program):
2644         * build-aux/git-version-gen:
2645         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
2646         * build-aux/move-if-change (help):
2647         * build-aux/useless-if-before-free (usage, main program):
2648         * check-module (parse_module_file, usage)
2649         (find_included_lib_files, check_module):
2650         * lib/argmatch.c (main) [TEST]:
2651         * lib/argp-help.c (_help):
2652         * lib/getopt1.c (main) [TEST]:
2653         * lib/git-merge-changelog.c (usage):
2654         * lib/xstrtol-error.c (xstrtol_error):
2655         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
2656         * m4/argz.m4 (gl_FUNC_ARGZ):
2657         * m4/bison.m4 (gl_BISON):
2658         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
2659         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
2660         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
2661         * m4/fpending.m4 (gl_PREREQ_FPENDING):
2662         * m4/gc-random.m4 (gl_GC_RANDOM):
2663         * m4/intl.m4 (gt_CHECK_DECL):
2664         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
2665         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
2666         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
2667         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
2668         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
2669         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
2670         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
2671         * tests/test-dirname.c (main):
2672         * tests/test-getpass.c (main):
2673         * tests/test-iconvme.c (main):
2674         * tests/test-parse-datetime.c (LOG):
2675         * tests/test-xstrtoimax.sh:
2676         * tests/test-xstrtol.sh:
2677         * tests/test-xstrtoll.sh:
2678         * tests/test-xstrtoumax.sh:
2679         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
2680         * top/GNUmakefile (abort-due-to-no-makefile):
2681         Quote 'like this', not `like this', as per the recent change to
2682         the GNU coding standards.
2683
2684 2012-01-05  Bruno Haible  <bruno@clisp.org>
2685
2686         strtoimax: Don't force a replacement on systems where intmax_t is int.
2687         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
2688         'intmax_t' is not larger than 'int'.
2689         Reported by Pádraig Brady <P@draigBrady.com>.
2690
2691 2012-01-05  Bruno Haible  <bruno@clisp.org>
2692
2693         doc: Mention NetBSD bugs.
2694         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
2695         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
2696
2697 2012-01-05  Bruno Haible  <bruno@clisp.org>
2698
2699         strtoumax tests: Enhance tests.
2700         * tests/test-strtoumax.c (main): Add tests for large values.
2701
2702 2012-01-05  Bruno Haible  <bruno@clisp.org>
2703
2704         strtoimax: Work around AIX 5.1 bug.
2705         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
2706         definition.
2707         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
2708         Set HAVE_STRTOIMAX.
2709         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
2710         REPLACE_STRTOIMAX.
2711         * modules/inttypes-incomplete (Makefile.am): Substitute
2712         REPLACE_STRTOIMAX.
2713         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
2714         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
2715         (Depends-on): Update conditions.
2716         * tests/test-strtoimax.c (main): Add tests for large values.
2717         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
2718
2719 2012-01-05  Bruno Haible  <bruno@clisp.org>
2720
2721         inttypes: Modernize.
2722         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
2723         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
2724         (Makefile.am): Update inttypes.h rule.
2725
2726 2012-01-05  Jim Meyering  <meyering@redhat.com>
2727
2728         init.sh: don't waste a subshell just to redirect stderr
2729         * tests/init.sh: In testing for diff -u and diff -c, use a
2730         stderr-redirecting exec inside `...` rather than a subshell.
2731
2732         test-init.sh: avoid failure on HP-UX 11.00
2733         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
2734         resolves to diff -c or cmp.  Reported by Bruno Haible.
2735
2736 2012-01-05  Bruno Haible  <bruno@clisp.org>
2737
2738         Tests for module 'strtoull'.
2739         * modules/strtoull-tests: New file.
2740         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
2741
2742 2012-01-05  Bruno Haible  <bruno@clisp.org>
2743
2744         Tests for module 'strtoll'.
2745         * modules/strtoll-tests: New file.
2746         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
2747
2748 2012-01-05  Bruno Haible  <bruno@clisp.org>
2749
2750         Tests for module 'strtoul'.
2751         * modules/strtoul-tests: New file.
2752         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
2753
2754 2012-01-05  Bruno Haible  <bruno@clisp.org>
2755
2756         Tests for module 'strtol'.
2757         * modules/strtol-tests: New file.
2758         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
2759
2760 2012-01-04  Jim Meyering  <meyering@redhat.com>
2761
2762         test-init.sh: accommodate Solaris 5.10's different diff -u output
2763         * tests/test-init.sh: Also exempt @@ lines from the comparison
2764         of diff output, since Solaris 5.10 and GNU diff formats differ.
2765         Reported by Stefano Lattarini.
2766
2767 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2768
2769         test-posixtm: don't assume signed integer wraparound
2770         * tests/test-posixtm.c (main): Don't assume wraparound semantics
2771         after signed integer overflow.  Inspired by (though it may not
2772         fix) Bruno Haible's bug report in
2773         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
2774
2775         Spell out "Windows 9x" and "Windows XP".
2776         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
2777         "Windows 9x" and "WinXP" with "Windows XP".
2778
2779 2012-01-04  Jim Meyering  <meyering@redhat.com>
2780
2781         test-vc-list-files-cvs.sh: remove obsolete comment
2782         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
2783         double exit.  Now that's all encapsulated via skip_ and Exit.
2784
2785 2012-01-04  Bruno Haible  <bruno@clisp.org>
2786
2787         Talk about "native Windows API", not "Win32".
2788         * lib/classpath.c: Update comments to mention native Windows.
2789         * lib/csharpexec.c: Likewise.
2790         * lib/dup2.c: Likewise.
2791         * lib/error.c: Likewise.
2792         * lib/fcntl.c: Likewise.
2793         * lib/filename.h: Likewise.
2794         * lib/findprog.c: Likewise.
2795         * lib/get-rusage-as.c: Likewise.
2796         * lib/get-rusage-data.c: Likewise.
2797         * lib/getpagesize.c: Likewise.
2798         * lib/javaexec.c: Likewise.
2799         * lib/msvc-inval.c: Likewise.
2800         * lib/msvc-nothrow.c: Likewise.
2801         * lib/nanosleep.c: Likewise.
2802         * lib/nonblocking.c: Likewise.
2803         * lib/printf-parse.c: Likewise.
2804         * lib/setlocale.c: Likewise.
2805         * lib/sigaction.c: Likewise.
2806         * lib/strerror_r.c: Likewise.
2807         * lib/tmpdir.c: Likewise.
2808         * lib/vasnprintf.c: Likewise.
2809         * lib/w32spawn.h: Likewise.
2810         * lib/waitpid.c: Likewise.
2811         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
2812         * m4/locale-ar.m4: Likewise.
2813         * m4/locale-fr.m4: Likewise.
2814         * m4/locale-ja.m4: Likewise.
2815         * m4/locale-tr.m4: Likewise.
2816         * m4/locale-zh.m4: Likewise.
2817         * m4/printf.m4: Likewise.
2818         * tests/test-cloexec.c: Likewise.
2819         * tests/test-copy-acl.sh: Likewise.
2820         * tests/test-copy-file.sh: Likewise.
2821         * tests/test-file-has-acl.sh: Likewise.
2822         * tests/test-set-mode-acl.sh: Likewise.
2823         * tests/test-dup-safer.c: Likewise.
2824         * tests/test-dup2.c: Likewise.
2825         * tests/test-dup3.c: Likewise.
2826         * tests/test-fcntl.c: Likewise.
2827         * tests/test-nonblocking-pipe.h: Likewise.
2828         * tests/test-nonblocking-socket.h: Likewise.
2829         * tests/test-pipe.c: Likewise.
2830         * tests/test-pipe2.c: Likewise.
2831         * tests/test-spawn-pipe-child.c: Likewise.
2832         * doc/acl-resources.txt: Likewise.
2833         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2834         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
2835         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
2836         * lib/localcharset.c: Update comments to mention native Windows.
2837         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2838         * lib/localename.c: Likewise.
2839         * lib/progreloc.c: Likewise.
2840         * lib/relocatable.c: Likewise.
2841         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2842         (windows_compute_revents): Renamed from win32_compute_revents.
2843         (windows_compute_revents_socket): Renamed from
2844         win32_compute_revents_socket.
2845         * lib/select.c: Update comments to mention native Windows.
2846         (windows_poll_handle): Renamed from win32_poll_handle.
2847         * m4/threadlib.m4: Update comments to mention native Windows.
2848         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
2849         --enable-threads=windows instead of --enable-threads=win32. Set
2850         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
2851         * lib/glthread/lock.h: Update comments to mention native Windows.
2852         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
2853         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
2854         USE_WIN32_THREADS.
2855         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
2856         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
2857         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
2858         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
2859         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
2860         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
2861         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
2862         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
2863         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
2864         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
2865         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
2866         * tests/test-tls.c: Likewise.
2867         Rationale:
2868         Microsoft renamed the "Win32 API" to "Windows API", as it is available
2869         on both 32-bit and 64-bit Windows systems.
2870         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
2871         line of distinction is between "native Windows" on one side and Unix/
2872         POSIX systems on the other side. More details in
2873         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
2874         Suggested by Paul Eggert.
2875
2876 2012-01-03  Bruno Haible  <bruno@clisp.org>
2877
2878         isatty: Support for MSVC 9.
2879         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
2880         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
2881         (_isatty_nothrow): New function.
2882         (isatty): Use it instead of _isatty.
2883         (IsConsoleHandle): Add comment, from Paolo Bonzini.
2884         * lib/poll.c (IsConsoleHandle): Likewise.
2885         * lib/select.c (IsConsoleHandle): Likewise.
2886         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
2887         (gl_PREREQ_ISATTY): New macro.
2888         * modules/isatty (Depends-on): Add msvc-inval.
2889         (configure.ac): Invoke gl_PREREQ_ISATTY.
2890
2891 2012-01-03  Jim Meyering  <meyering@redhat.com>
2892
2893         maint.mk: remove temporary transition aid from over 1.5 years ago
2894         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
2895         purpose was to aid in the transition (avoiding silent malfunction)
2896         from that old name to the new _sc_search_regexp.  This shim was
2897         added by commit 219c504b.
2898
2899         init.sh: do not try to accommodate compare arguments starting with "-"
2900         * tests/init.sh (compare_dev_null_): Do not try to accommodate
2901         compare arguments that start with "-".  Besides, we do not worry
2902         about this when invoking diff or cmp; why start now with sed?
2903         Using "--" to separate options from argument would trigger sed
2904         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
2905         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
2906
2907 2012-01-02  Bruno Haible  <bruno@clisp.org>
2908
2909         Enhance tests for module 'isatty'.
2910         * modules/isatty-tests (Depends-on): Add pipe-posix.
2911         * tests/test-isatty.c: Include <fcntl.h>.
2912         (DEV_NULL): New macro.
2913         (main): Test the resut of isatty() also on regular files, pipes, and
2914         /dev/null.
2915
2916         New module 'isatty'.
2917         * lib/unistd.in.h (isatty): New declaration.
2918         * lib/isatty.c: New file, based on an idea of
2919         Bastien Roucariès <roucaries.bastien@gmail.com>.
2920         * m4/isatty.m4: New file.
2921         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
2922         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
2923         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
2924         REPLACE_ISATTY.
2925         * modules/isatty: New file.
2926         * doc/posix-functions/isatty.texi: Mention the new module.
2927         Suggested by Paolo Bonzini.
2928
2929 2012-01-02  Bruno Haible  <bruno@clisp.org>
2930
2931         canonicalize: Tweak 2011-12-29 commit.
2932         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
2933         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
2934
2935 2012-01-02  Jim Meyering  <meyering@redhat.com>
2936
2937         gitlog-to-changelog: describe input syntax in --help output
2938         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
2939
2940         gitlog-to-changelog: fix typo in --help: show backslash before email @
2941         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
2942         in sources, but not in actual output.
2943
2944 2011-12-30  Jim Meyering  <meyering@redhat.com>
2945
2946         gitlog-to-changelog: don't malfunction when name contains %-directive
2947         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
2948         in a name string cause trouble.  E.g., with a user name of "%s",
2949         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
2950
2951 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
2952
2953         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
2954         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
2955         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
2956         the "  (tiny change)" notation that is appended to the standard
2957         ChangeLog "date  name  email" header line.
2958
2959 2012-01-01  Jim Meyering  <meyering@redhat.com>
2960
2961         test-framework-sh: init.sh: fix "make dist" failure
2962         When using gnulib-tool's --with-tests option and any module that
2963         depends on test-framework-sh, "make dist" would fail due to the
2964         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
2965         in the gltests directory, and not in the gllib/ directory.
2966         One way to work around that is to move the EXTRA_DIST += init.sh
2967         from the primary module to the -tests one:
2968         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
2969         * modules/test-framework-sh (Makefile.am): ...not here.
2970         Reported by Tom G. Christensen in
2971         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
2972
2973         version-etc: update copyright year reported by --version
2974         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
2975
2976 2011-12-31  Pádraig Brady  <P@draigBrady.com>
2977
2978         canonicalize: only stat() if required
2979         * lib/canonicalize.c (canonicalize_filename_mode):
2980         Avoid calling l?stat() when both CAN_MISSING,
2981         and CAN_NOLINKS are set, as we neither need
2982         to resolve symlinks or test component existence.
2983
2984 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
2985
2986         doc: cover st_ino issues once; add OpenVMS etc.
2987         * doc/posix-functions/stat.texi (stat):
2988         * doc/posix-functions/lstat.texi (lstat):
2989         * doc/posix-functions/fstatat.texi (fstatat):
2990         * doc/posix-functions/fstat.texi (fstat):
2991         Move general 'struct stat' stuff to sys_stat.texi,
2992         leaving behind a pointer.
2993         * doc/posix-headers/sys_stat.texi (sys/stat.h):
2994         Merge duplicate info about 'struct stat' problems into here.
2995         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
2996         and suggest partial workarounds.
2997
2998         same-inode: port to OpenVMS
2999         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3000         three st_ino values.
3001
3002 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3003
3004         canonicalize: fix references to stat() and lstat()
3005         * lib/canonicalize.c (canonicalize_filename_mode):
3006         Ensure references always resolve to a replacement
3007         function if required (even via a macro).
3008
3009 2011-12-30  Jim Meyering  <meyering@redhat.com>
3010
3011         gitlog-to-changelog: remove a little duplication
3012         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3013         rather than twice.
3014
3015 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3016
3017         canonicalize: add support for not resolving symlinks
3018         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3019         indicate we don't want to follow symlinks.  Also
3020         provide CAN_MODE_MASK to aid setting these existing
3021         mutually exclusive values.
3022         * lib/canonicalize.c (canonicalize_filename_mode):
3023         Extract the flags from can_mode parameter, which
3024         are currently just used to select between stat()
3025         and lstat().  Also ensure that mutually exclusive
3026         values are flagged immediately as invalid.
3027         * tests/test-canonicalize.c: Verify symlinks are
3028         not followed, and that invalid flag combinations
3029         are diagnosed.
3030
3031 2011-12-25  Jim Meyering  <meyering@redhat.com>
3032
3033         gitlog-to-changelog: do not clump multi-paragraph entries
3034         Identical header lines (date,name,email+coauthors) are suppressed,
3035         thus putting all entries with those same characteristics under
3036         a single header.  However, when a log entry consists of two or
3037         more paragraphs, it may not be clear where it starts and ends.
3038         This change makes it so that such an entry is always separated
3039         from others by a header line, even when that header would
3040         otherwise be suppressed.
3041         * build-aux/gitlog-to-changelog: Implement the above.
3042         Inspired by a related request from Stefano Lattarini in
3043         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3044
3045 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3046
3047         announce-gen: fix `cmd' typo in diagnostic
3048         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3049         diagnostic: a missing '$' meant that the command was not output.
3050
3051 2011-12-23  Jim Meyering  <meyering@redhat.com>
3052
3053         test-framework-sh: distribute init.sh
3054         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3055         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3056         fail due to the lack of init.sh.
3057
3058         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3059         * modules/atexit-tests: Rather than listing tests/init.sh,
3060         now that there's a module for it, simply depend on that new module.
3061         * modules/closein-tests: Likewise.
3062         * modules/exclude-tests: Likewise.
3063         * modules/getcwd-tests: Likewise.
3064         * modules/perror-tests: Likewise.
3065         * modules/pread-tests: Likewise.
3066         * modules/pwrite-tests: Likewise.
3067         * modules/vc-list-files-tests: Likewise.
3068         * modules/verify-tests: Likewise.
3069         * modules/xalloc-die-tests: Likewise.
3070         * modules/xstrtoimax-tests: Likewise.
3071         * modules/xstrtol-tests: Likewise.
3072         * modules/xstrtoll-tests: Likewise.
3073         * modules/xstrtoumax-tests: Likewise.
3074         * modules/yesno-tests: Likewise.
3075
3076 2011-12-22  Jim Meyering  <meyering@redhat.com>
3077
3078         test-framework-sh: add minimal tests of init.sh's compare function
3079         * modules/test-framework-sh-tests: New file.
3080         * tests/test-init.sh: New file.
3081
3082         test-framework-sh: new module
3083         * modules/test-framework-sh: New file.
3084         * MODULES.html.sh (Support for maintaining and releasing projects):
3085         List it.
3086
3087         init.sh: do not emit simulated diff output to stderr
3088         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3089
3090 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3091
3092         .gitignore: ignore gnulib.dvi and regex.info
3093         * doc/.gitignore:add gnulib.dvi and regex.info
3094
3095 2011-12-22  Jim Meyering  <meyering@redhat.com>
3096
3097         init.sh: correct previous change
3098         * tests/init.sh (compare): My previous change was wrong.
3099         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3100
3101         init.sh: avoid unwarranted test failure when using "set -e"
3102         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3103         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3104         a use like "compare exp out" would get evoke an unconditional failure.
3105
3106 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3107
3108         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3109         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3110         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3111         autoreconf that did not.
3112         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3113         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3114
3115 2011-12-17  Jim Meyering  <meyering@redhat.com>
3116
3117         bootstrap: remove some now-unneeded code
3118         This script arose back when gnulib-tool was young.
3119         Since then, it has seen improvements that render much of this
3120         script unnecessary.  In particular, it can now make symlinks
3121         to the files it uses.  Also, I no longer see as much value in
3122         marking files as read-only via comments.
3123         If you relied on the symlink-creation feature of the preceding
3124         version of this script, you can get most of that functionality
3125         by adding the --symlink option to the definition of
3126         gnulib_tool_option_extras in your bootstrap.conf file.
3127         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3128         Run autopoint and libtoolize *before* gnulib-tool.
3129         After it, run an abbreviated autoreconf, rather than a loop around
3130         all tools.
3131         (slirp, bt_mark_as_generated): Remove functions.
3132
3133 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3134
3135         ftoastr: fix typo
3136         * lib/ftoastr.h: Fix misspelling in comment.
3137
3138 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3139
3140         * top/README-release: fix punctuation.
3141
3142 2011-12-17  Jim Meyering  <meyering@redhat.com>
3143
3144         bootstrap: correct the recent buildreq change
3145         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3146         had no effect.
3147         * build-aux/bootstrap (buildreq): Bracket each search term with
3148         "*...*", so that the shell "case" statement works as intended.
3149         Add comments.
3150
3151 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3152
3153         build: let bootstrap resort to wget when downloading .po files
3154         * build-aux/bootstrap (download_po_files): Fallback to wget when
3155         downloading the .po files via rsync fails.  This is necessary to
3156         bootstrap from behind a strict firewall.
3157
3158 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3159
3160         stdint: don't assume C++11 when compiling with g++
3161         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
3162         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
3163         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
3164         work also in C++ before C++11, as that improperly inhibits
3165         generating a substitute stdint.h for that case.
3166
3167 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3168
3169         alloca: protect comment from gnulib-tool
3170         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3171         that gnulib-tool doesn't think it's a license, and munge it to
3172         say "GCC version 3".
3173
3174 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3175
3176         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3177         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3178         $(abs_top_builddir) instead of $(top_builddir).
3179
3180 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3181
3182         strftime-tests: also test nanoseconds
3183         * tests/test-strftime.c (T): Add a test of %N.
3184
3185 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3186
3187         inttypes, stdint: add C++11 support
3188         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
3189         when including inttypes.h and stdint.h.  Support this change to
3190         the standard.
3191         * doc/posix-headers/inttypes.texi (inttypes.h):
3192         * doc/posix-headers/stdint.texi (stdint.h): Document this.
3193         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
3194         Define if not defined already, for the benefit of pre-C++11 hosts.
3195         Define the standard format macros (e.g., PRId8) always.
3196         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
3197         Likewise, if __cpluspus.  Define the standard constant and limit
3198         macros (e.g., INT8_C, INT8_MAX) always.
3199         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
3200         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
3201         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
3202         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
3203         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
3204         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
3205         Likewise.
3206
3207 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3208
3209         nonblocking tests: Fix test failure on Linux/PPC.
3210         Suggested by Prerna Saxena in
3211         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
3212         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
3213         Set to 1100000.
3214
3215 2011-12-12  Jim Meyering  <meyering@redhat.com>
3216
3217         argmatch: don't hard-code `' when listing valid option arguments
3218         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
3219         use the quote function to add quotes.  Use fputs rather than
3220         fprintf for the format string with no format directive.
3221
3222 2011-12-07  Eric Blake  <eblake@redhat.com>
3223
3224         bootstrap: detect tools required by gnulib-tool
3225         * build-aux/bootstrap (buildreq): Provide minimum implicit
3226         dependencies.
3227         * DEPENDENCIES: Mention patch as a prereq.
3228
3229 2011-12-04  Bruno Haible  <bruno@clisp.org>
3230
3231         sethostname: Port to Windows platforms.
3232         * lib/sethostname.c: Provide an alternate implementation for Windows
3233         platforms.
3234         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
3235         (main): Skip the test if sethostname() fails with EPERM. On Windows
3236         platforms, don't check the result of gethostname().
3237
3238 2011-12-04  Bruno Haible  <bruno@clisp.org>
3239             Jim Meyering  <meyering@redhat.com>
3240
3241         tests: Avoid spurious error message on platforms without mktemp program.
3242         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
3243
3244 2011-12-04  Bruno Haible  <bruno@clisp.org>
3245
3246         sethostname: Fix documentation.
3247         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
3248         "not fixed" section.
3249
3250 2011-12-03  Bruno Haible  <bruno@clisp.org>
3251
3252         gnulib-tool: Verify that the License field is present and non-empty.
3253         * gnulib-tool (func_get_license_raw): New function, extracted from
3254         func_get_license.
3255         (func_get_license): Use it. Warn if the module is not a test module and
3256         has no license.
3257         Suggested by Jim Meyering.
3258
3259 2011-12-03  Bruno Haible  <bruno@clisp.org>
3260
3261         sethostname tests: Fix link error on mingw.
3262         * tests/test-sethostname1.c: New file, extracted from
3263         tests/test-sethostname.c.
3264         * tests/test-sethostname2.c: New file, extracted from
3265         tests/test-sethostname.c.
3266         * tests/test-sethostname.c: Remove file.
3267         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
3268         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
3269         (Depends-on): Add gethostname.
3270         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
3271         Link the latter with $(GETHOSTNAME_LIB).
3272
3273         sethostname tests: Fix compilation error on mingw.
3274         * tests/test-sethostname.c: Don't include <sys/types.h>.
3275         (geteuid): Use a dummy value without uid_t.
3276         * modules/sethostname-tests (Depends-on): Remove sys_types.
3277
3278         sethostname tests: Avoid a gcc warning.
3279         * tests/test-sethostname.c (main): Remove an unused variable.
3280
3281         Tweak last commit.
3282         * modules/sethostname-tests (Files): Sort by decreasing importance.
3283         (configure.ac): Check for geteuid.
3284         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
3285         the test when there's nothing to test. Drop an unnecessary cast.
3286         Improve an error message. Verify that the final sethostname() call
3287         succeeds.
3288
3289 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3290
3291         Add a test suite for the sethostname module.
3292         * modules/sethostname-tests: New file.  A test program
3293         for the sethostname module.
3294         * tests/test-sethostname.c: Likewise.
3295
3296 2011-12-03  Bruno Haible  <bruno@clisp.org>
3297
3298         Tweak last commit.
3299         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
3300         Fix preprocessor directives indentation. Fix typos.
3301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
3302         * modules/unistd (Makefile): Likewise.
3303
3304 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3305
3306         Integrate the sethostname module into unistd.
3307         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
3308         into the unistd.h header.
3309         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
3310         preprocessor directives.
3311         * modules/unistd: Setup the Makefile substitutions of the
3312         SETHOSTNAME preprocessor directives.
3313
3314 2011-12-03  Bruno Haible  <bruno@clisp.org>
3315
3316         Tweak last commit.
3317         * lib/sethostname.c: Don't include <string.h>.
3318         (sethostname): No need to copy the argument string to the stack. Don't
3319         call clearerr. Preserve errno when fprintf failed.
3320         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
3321         Don't invoke AC_REPLACE_FUNCS.
3322         * modules/sethostname (Link): Remove empty section.
3323         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
3324         failure problem.
3325
3326 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3327
3328         New module 'sethostname'.
3329         * lib/sethostname.c (sethostname): New file.  Provide sethostname
3330         for systems that lack it.
3331         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
3332         sethostname declaration and function.
3333         * modules/sethostname: New file.  Define the sethostname module.
3334
3335 2011-12-03  Bruno Haible  <bruno@clisp.org>
3336
3337         Tweak last commit.
3338         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
3339
3340 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3341
3342         Split the HOST_NAME_MAX detection into a separate m4 macro.
3343         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
3344         macro so it can be used by the pending sethostname module.
3345
3346 2011-12-03  Bruno Haible  <bruno@clisp.org>
3347
3348         Fix module descriptions syntax.
3349         * modules/argv-iter (License): Fix syntax.
3350         * modules/di-set (License): Likewise.
3351         * modules/ino-map (License): Likewise.
3352         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
3353
3354 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
3355
3356         stdalign: port to Clang 3.0
3357         Problem reported by Simon Josefsson in
3358         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
3359         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
3360         which has <stdalign.h> but which does not define alignof.
3361         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
3362
3363 2011-12-01  Eric Blake  <eblake@redhat.com>
3364
3365         mktempd: silence dd usage
3366         * build-aux/mktempd (rand_bytes): Silence dd.
3367
3368 2011-11-30  Simon Josefsson  <simon@josefsson.org>
3369
3370         manywarnings: Don't mention gcc version in docstring.
3371         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
3372         Jim Meyering <meyering@redhat.com>.
3373
3374 2011-11-30  Jim Meyering  <meyering@redhat.com>
3375
3376         hash: mark a few floating point constants with "f" suffix
3377         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
3378         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
3379         floating point constants with "f", since they're destined to be
3380         saved/used as "float"s.
3381
3382 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
3383
3384         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
3385         * tests/test-float.c (test_long_double): Correct and re-enable the
3386         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
3387
3388 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
3389
3390         Avoid subtracting two pointers that don't point into the same block.
3391         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
3392         only pointers into the same memory block are subtracted. We cannot
3393         assume that sizeof (ptrdiff_t) == sizeof (void *).
3394
3395 2011-11-29  Eric Blake  <eblake@redhat.com>
3396
3397         maint.mk: add syntax check for use of compare from init.sh
3398         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
3399         moved here from coreutils.
3400
3401         manywarnings: drop -Wunsuffixed-float-constants
3402         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
3403         '1.0D', which is the only way to silence this warning for 'double'.
3404
3405 2011-11-29  Jim Meyering  <meyering@redhat.com>
3406
3407         hash: mark compute_bucket_size with the pure attribute
3408         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
3409
3410         quotearg, propername: correct pragma guard expression
3411         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
3412         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
3413
3414 2011-11-28  Jim Meyering  <meyering@redhat.com>
3415
3416         propername: do not mark proper_name with the const attribute
3417         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
3418         since it examines data pointed to by its parameter.
3419         * lib/propername.c (proper_name): Instead, add a pragma to suppress
3420         the suggestion from -Wsuggest-attribute=const.
3421
3422         propername: mark one more function as const
3423         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
3424
3425 2011-11-27  Jim Meyering  <meyering@redhat.com>
3426
3427         mark functions with const and pure attributes
3428
3429         Mark functions per suggestions from gcc-4.6 when using these options:
3430         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
3431         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
3432         Follow these guidelines: when possible, apply the attribute to
3433         an extern declaration, not to its definition.  Apply it to the
3434         definition only when the definition is static.
3435         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
3436         * lib/argv-iter.h (argv_iter_n_args): Likewise.
3437         * lib/base64.h (isbase64): Likewise.
3438         * lib/basename-lgpl.c (last_component, base_len): Likewise.
3439         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
3440         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
3441         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
3442         (c_tolower, c_toupper): Likewise.
3443         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
3444         * lib/chdir-long.c (find_non_slash): Likewise.
3445         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
3446         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
3447         * lib/file-type.h (file_type): Likewise.
3448         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
3449         * lib/filevercmp.c (verrevcmp): Likewise.
3450         * lib/freadahead.h (freadahead): Likewise.
3451         * lib/fts.c (fts_maxarglen): Likewise.
3452         * lib/hash-pjw.h (hash_pjw): Likewise.
3453         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
3454         * lib/hash.c (is_prime, next_prime): Likewise.
3455         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
3456         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
3457         (hash_table_ok, hash_get_first, hash_string): Likewise.
3458         (compute_bucket_size): Likewise.
3459         * lib/i-ring.h (i_ring_empty): Likewise.
3460         * lib/isnan.c (isnanl): Likewise.
3461         * lib/math.h (isnanl, rpl_isnanl): Likewise.
3462         * lib/memcasecmp.h (memcasecmp): Likewise.
3463         * lib/memchr2.h (memchr2): Likewise.
3464         * lib/memcmp2.h (memcmp2): Likewise.
3465         * lib/parse-datetime.y (lookup_zone): Likewise.
3466         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
3467         [!WINDOWS_SOCKETS]: Likewise.
3468         * lib/strnlen1.h (strnlen1): Likewise.
3469         * lib/uniwidth.in.h (uc_width): Likewise.
3470         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
3471         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
3472         (quoting_options_from_style): Add a comment.
3473         * lib/propername.h (proper_name): Add a comment.
3474
3475 2011-11-27  Bruno Haible  <bruno@clisp.org>
3476
3477         Remove unused macros from !_LIBC code in glibc-borrowed files.
3478         * lib/fnmatch.c (STRCOLL): Remove macro.
3479         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
3480         * lib/glob.c (__stat, __readdir64): Remove macros.
3481         * lib/tempname.c (__open64, __xstat64): Remove macros.
3482         Suggested by Paul Eggert.
3483
3484 2011-11-27  Bruno Haible  <bruno@clisp.org>
3485
3486         getcwd: Fix link error on MSVC 9.
3487         * modules/getcwd (Depends-on): Add readdir, rewinddir.
3488
3489 2011-11-27  Bruno Haible  <bruno@clisp.org>
3490
3491         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
3492         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
3493         HAVE_OPENDIR is 0.
3494         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
3495         HAVE_CLOSEDIR is 0.
3496         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
3497         is 0.
3498         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
3499
3500 2011-11-27  Bruno Haible  <bruno@clisp.org>
3501
3502         getcwd: Fix bug from 2011-08-17.
3503         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
3504         platforms that need it.
3505         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
3506         code of 4 to be a failure, not a success. This ensures that
3507         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
3508
3509 2011-11-27  Bruno Haible  <bruno@clisp.org>
3510
3511         binary-io tests: Avoid test failure on mingw when libtool is used.
3512         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
3513         Don't verify the size of t-bin-out1.tmp here.
3514         * tests/test-binary-io.sh: Verify it here.
3515         Reported by Simon Josefsson.
3516
3517 2011-11-26  Bruno Haible  <bruno@clisp.org>
3518
3519         Fix conflict between two instantiations of module 'unistd'.
3520         * gnulib-tool (func_emit_autoconf_snippet): Substitute
3521         ${include_guard_prefix} also in the autoconf snippet.
3522         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
3523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
3524         GNULIB_UNISTD_H_GETOPT.
3525         * modules/getopt-posix (configure.ac): Set the
3526         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
3527         * modules/getopt-gnu (configure.ac): Likewise.
3528         * modules/unistd (Makefile.am): Change the substitution value of
3529         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
3530         Reported by Simon Josefsson.
3531
3532 2011-11-25  Bruno Haible  <bruno@clisp.org>
3533
3534         pagealign_alloc: Doc and comments.
3535         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
3536         module.
3537         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
3538
3539 2011-11-25  Jim Meyering  <meyering@redhat.com>
3540
3541         test-update-copyright.sh: avoid false-positive failure
3542         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
3543         around false positive failure on Cygwin/Windows.  The latter was
3544         matching erroneously-created files with names like
3545         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
3546
3547 2011-11-25  Simon Josefsson  <simon@josefsson.org>
3548
3549         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
3550         * m4/valgrind-tests.m4: Check that the parameters that will be
3551         used works, not just a subset of them.  Reported by Bruno Haible
3552         <bruno@clisp.org>.
3553
3554 2011-11-24  Jim Meyering  <meyering@redhat.com>
3555
3556         test-stdalign.c: comment out long double tests
3557         * tests/test-stdalign.c: Don't try to reduce alignment of long double
3558         variables.  That provokes errors like this from gcc-4.7.0 20111124:
3559         error: '_Alignas' specifiers cannot reduce alignment of \
3560         'static_longdouble_alignas'.
3561
3562 2011-11-22  Jim Meyering  <meyering@redhat.com>
3563
3564         init.sh: make "compare /dev/null FILE" output more readable
3565         * tests/init.sh (compare_): Document the preferred order of arguments.
3566         (emit_diff_u_header_): New function.
3567         (compare_dev_null_): Emit a simulated diff, rather than just the
3568         contents of the unexpected file.  Suggestion from Bruno Haible.
3569
3570 2011-11-21  Jim Meyering  <meyering@redhat.com>
3571             Eric Blake  <eblake@redhat.com>
3572
3573         init.sh: work around OSF/1 5.1's mishandling of /dev/null
3574         * tests/init.sh: Make our compare function slightly more portable.
3575         Reported by Bruno Haible in
3576         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
3577
3578 2011-11-21  Simon Josefsson  <simon@josefsson.org>
3579
3580         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
3581         before using it, in code that ends up in config.h.
3582
3583 2011-11-20  Bruno Haible  <bruno@clisp.org>
3584
3585         getcwd: Work around getcwd bug on AIX 5..7.
3586         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
3587         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
3588         Use a different value for gl_cv_func_getcwd_path_max. Move the
3589         definition of HAVE_PARTLY_WORKING_GETCWD from here...
3590         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
3591         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
3592         Define HAVE_MINIMALLY_WORKING_GETCWD.
3593         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
3594         where it is not even minimally working, that is, on AIX.
3595         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
3596         m4/getcwd-path-max.m4.
3597         (main): Update exit code computation.
3598         * doc/posix-functions/getcwd.texi: Mention list of platforms where
3599         getcwd does not handle long file names.
3600
3601 2011-11-20  Bruno Haible  <bruno@clisp.org>
3602
3603         getcwd: Fix bug from 2009-09-10.
3604         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
3605         like "no".
3606
3607 2011-11-20  Simon Josefsson  <simon@josefsson.org>
3608
3609         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
3610
3611 2011-11-20  Bruno Haible  <bruno@clisp.org>
3612
3613         fma tests: Avoid shadowing local variables.
3614         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
3615         expected.
3616
3617 2011-11-20  Bruno Haible  <bruno@clisp.org>
3618
3619         copysignf tests: Fix.
3620         * tests/test-copysignf.c: Fix signature check.
3621
3622 2011-11-20  Bruno Haible  <bruno@clisp.org>
3623
3624         fma: Remove unused code.
3625         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
3626         unused macros.
3627
3628 2011-11-20  Bruno Haible  <bruno@clisp.org>
3629
3630         sethostname: Fix doc about AIX.
3631         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
3632         sethostname; it has it.
3633
3634         sethostname: Mention more portability problems.
3635         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
3636         problem.
3637         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
3638
3639 2011-11-19  Bruno Haible  <bruno@clisp.org>
3640
3641         Depend on module fcntl-h when AT_FDCWD is used.
3642         * modules/utimens (Depends-on): Add fcntl-h.
3643         * modules/areadlinkat (Depends-on): Likewise.
3644         * modules/areadlinkat-with-size (Depends-on): Likewise.
3645         * modules/faccessat (Depends-on): Likewise.
3646         * modules/fchmodat (Depends-on): Likewise.
3647         * modules/fchownat (Depends-on): Likewise.
3648         * modules/getcwd (Depends-on): Likewise.
3649         * modules/mkdirat (Depends-on): Likewise.
3650         * modules/mkfifoat (Depends-on): Likewise.
3651         * modules/readlinkat (Depends-on): Likewise.
3652         * modules/symlinkat (Depends-on): Likewise.
3653         * modules/dup2-tests (Depends-on): Likewise.
3654         * modules/fdutimensat-tests (Depends-on): Likewise.
3655         * modules/futimens-tests (Depends-on): Likewise.
3656
3657 2011-11-19  Bruno Haible  <bruno@clisp.org>
3658
3659         euidaccess: Update a comment.
3660         * lib/euidaccess.c: Update comment about platforms with faccessat.
3661
3662 2011-11-19  Bruno Haible  <bruno@clisp.org>
3663
3664         openat: Fix file list.
3665         * modules/openat (Files): Remove lib/at-func.c.
3666
3667 2011-11-19  Bruno Haible  <bruno@clisp.org>
3668
3669         fstatat: Simplify.
3670         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
3671         gnulib should define rpl_fstatat, there is a
3672         "#define fstatat rpl_fstatat" in <sys/stat.h>.
3673
3674 2011-11-19  Bruno Haible  <bruno@clisp.org>
3675
3676         Ensure 'inline' can be used in tests/test-utimens-common.h.
3677         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
3678         * modules/futimens-tests (configure.ac): Likewise.
3679         * modules/utimens-tests (configure.ac): Likewise.
3680         * modules/utimensat-tests (configure.ac): Likewise.
3681
3682 2011-11-19  Simon Josefsson  <simon@josefsson.org>
3683
3684         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
3685         not hash_insert0.
3686         (hash_insert_if_absent): Doc fix.
3687
3688 2011-11-19  Simon Josefsson  <simon@josefsson.org>
3689
3690         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
3691
3692 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
3693
3694         test-getcwd: disambiguate exit status
3695         * tests/test-getcwd.c (test_long_name): Return 0..7.
3696         (main): Exit with an unambiguous exit status.  The old
3697         code yielded a mysterious mixture of two failure codes.
3698
3699         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
3700         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
3701         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
3702         rpl_fstatat or fstatat.  This should fix the other problem
3703         reported by Kai Habel in
3704         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3705         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
3706         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
3707         and I reproduced it on a Solaris 8 host we still have in production.
3708
3709 2011-11-18  Jim Meyering  <meyering@redhat.com>
3710
3711         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
3712         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
3713         Add a sentence to the comment.
3714         (hash_insert0): New function that simply calls hash_insert_if_absent.
3715         * lib/hash.h (hash_insert_if_absent): Declare it.
3716         (hash_insert0): Add deprecation attribute.
3717         (_GL_ATTRIBUTE_DEPRECATED): Define.
3718         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
3719         not hash_insert0.
3720         * NEWS: Mention it, even though it's not really an incompatible change.
3721
3722 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
3723
3724         openat: avoid compilation failure due to lack of <errno.h> inclusion
3725         * lib/openat.c: Include <errno.h>.
3726
3727 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3728
3729         * modules/getcwd (Depends-on): Add fdopendir.
3730         This fixes one of the two problems reported by Kai Habel in
3731         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3732
3733         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
3734         stdalign problem reported by Ian Beckwith in
3735         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
3736         * modules/crypto/gc-arcfour (Depends-on):
3737         Depend conditionally on crypto/arcfour.
3738         * modules/crypto/gc-arctwo (Depends-on):
3739         Depend conditionally on crypto/arctwo.
3740         * modules/crypto/gc-des (Depends-on):
3741         Depend conditionally on crypto/des.
3742         * modules/crypto/gc-hmac-md5 (Depends-on):
3743         Depend conditionally on crypto/hmac-md5.
3744         * modules/crypto/gc-hmac-sha1 (Depends-on):
3745         Depend conditionally on crypto/hmac-sha1.
3746         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
3747         * modules/crypto/gc-md4 (Depends-on):
3748         Depend conditionally on crypto/md4.
3749         * modules/crypto/gc-md5 (Depends-on):
3750         Depend conditionally on crypto/md5.
3751         * modules/crypto/gc-rijndael (Depends-on):
3752         Depend conditionally on crypto/rijndael.
3753         * modules/crypto/gc-sha1 (Depends-on):
3754         Depend conditionally on crypto/sha1.
3755         * modules/crypto/gc-arcfour:
3756         * modules/crypto/gc-arctwo:
3757         * modules/crypto/gc-des:
3758         * modules/crypto/gc-hmac-md5:
3759         * modules/crypto/gc-hmac-sha1:
3760         * modules/crypto/gc-md2:
3761         * modules/crypto/gc-md4:
3762         * modules/crypto/gc-md5:
3763         * modules/crypto/gc-rijndael:
3764         * modules/crypto/gc-sha1:
3765         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
3766         now that the conditional dependencies do the work for us.
3767
3768 2011-11-17  Jim Meyering  <meyering@redhat.com>
3769
3770         tests: factor st_ctime-comparison out of two headers
3771         * tests/test-utimens-common.h (ctime_compare): Define.
3772         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
3773         * tests/test-lutimens.h (test_lutimens): Likewise.
3774         * tests/test-utimens.h (test_utimens): Likewise.
3775
3776         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
3777         Invoke the test program via an init.sh-using wrapper.
3778         * tests/test-getcwd.sh: New file.
3779         * modules/getcwd-tests (Files): Add it.
3780         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
3781
3782 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
3783
3784         gitlog-to-changelog: support multi-author commits.
3785         The FSF cares about keeping track of all authors of patches to its
3786         projects, but Git doesn't provide obvious support for multi-author
3787         changesets. Consensus seems to be forming around the use of extra
3788         Signed-off-by inspired lines in the log message formatted as
3789         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
3790         multi-author commits between version control systems.
3791         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
3792         log message and output in standard ChangeLog multi-author format.
3793         Reported by Peter Rosin <peda@lysator.liu.se>
3794
3795 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
3796             Bruno Haible  <bruno@clisp.org>
3797
3798         Fix some modules' file list.
3799         * modules/fstatat (Files): Add m4/lstat.m4.
3800         * modules/openat (Files): Likewise.
3801         * modules/unlinkat (Files): Likewise.
3802
3803 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
3804
3805         maint.mk: fix tight-scope.mk generation in VPATH builds.
3806         * top/maint.mk (tight-scope.mk): Make sure to prefix file
3807         reference with $(srcdir) so that the file is found correctly even
3808         when running `make syntax-check' in a VPATH build.
3809
3810 2011-11-13  Bruno Haible  <bruno@clisp.org>
3811             Jim Meyering  <meyering@redhat.com>
3812
3813         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
3814         * tests/init.sh (compare): Remove "No differences encountered" or
3815         synonymous output from the 'diff' program.
3816
3817 2011-11-13  Bruno Haible  <bruno@clisp.org>
3818
3819         Makefile: Tweak indentation.
3820         * Makefile: Use tab as first character in every line that contains rule
3821         commands.
3822
3823 2011-11-13  Bruno Haible  <bruno@clisp.org>
3824
3825         Syntax check for copyright statements.
3826         * check-copyright: New file.
3827         * Makefile (sc_check_copyright): New rule.
3828
3829 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3830
3831         * build-aux/git-version-gen: Add --prefix to configure the tag
3832         match string.
3833
3834 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3835
3836         * build-aux/git-version-gen: Add --help and --version.
3837
3838 2011-11-12  Jim Meyering  <meyering@redhat.com>
3839
3840         revamp the other test-exclude?.sh scripts to use init.sh, too
3841         * tests/test-exclude1.sh: Use init.sh.
3842         * tests/test-exclude2.sh: Likewise.
3843         * tests/test-exclude3.sh: Likewise.
3844         * tests/test-exclude4.sh: Likewise.
3845         * tests/test-exclude5.sh: Likewise.
3846         * tests/test-exclude6.sh: Likewise.
3847         * tests/test-exclude7.sh: Likewise.
3848         * tests/test-exclude8.sh: Likewise.
3849         * modules/exclude-tests (Files): List init.sh.
3850
3851         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
3852         These shell scripts ignored failure of the binary test-exclude,
3853         so making the latter return 77 didn't cause them to be skipped.
3854         * tests/test-exclude5.sh: Exit with test-exclude's error status
3855         when that program fails.  Revamp to use init.sh.
3856         * tests/test-exclude2.sh: Likewise.
3857
3858         test-exclude: fix a typo
3859         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
3860
3861 2011-11-11  Bruno Haible  <bruno@clisp.org>
3862
3863         obstack: Fix compilation error on MSVC 9.
3864         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
3865
3866 2011-11-11  Jim Meyering  <meyering@redhat.com>
3867
3868         test-exclude: skip tests rather than failing on deficient systems
3869         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
3870         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
3871         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
3872         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
3873
3874 2011-11-10  Bruno Haible  <bruno@clisp.org>
3875
3876         ptsname_r test: Avoid gcc warning on glibc systems.
3877         * tests/test-ptsname_r.c (null_ptr): New function.
3878         (test_errors): Use it.
3879
3880 2011-11-10  Bruno Haible  <bruno@clisp.org>
3881
3882         ptsname_r: Avoid compilation error on OSF/1 5.1.
3883         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
3884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
3885         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
3886         function is not declared or incompatibly declared.
3887         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
3888         * modules/ptsname_r (Depends-on, configure.ac): Update.
3889         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
3890
3891 2011-11-10  Bruno Haible  <bruno@clisp.org>
3892
3893         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
3894         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
3895         When cross-compiling, guess yes on all platforms except AIX.
3896         Reported by Ludovic Courtès <ludo@gnu.org>.
3897
3898 2011-11-09  Bruno Haible  <bruno@clisp.org>
3899
3900         ptsname_r tests: Fix bugs.
3901         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
3902         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
3903
3904 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3905
3906         fstatat: work with cross-compilation
3907         Problem reported by Ludovic Courtès in
3908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
3909         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
3910         "cross-compiling" and assume the bug is present.  Replace
3911         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
3912         an inverted sense, to be more conservative about our assumptions.
3913         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
3914
3915 2011-11-09  Bruno Haible  <bruno@clisp.org>
3916
3917         Improve MODULES.html output.
3918         * modules/mkfifoat (Description): Use the word "function".
3919         * modules/readlinkat (Description): Likewise.
3920         * modules/symlinkat (Description): Likewise.
3921
3922 2011-11-09  Eric Blake  <eblake@redhat.com>
3923
3924         ptsname_r-tests: new test module
3925         * modules/ptsname_r-tests: New module.
3926         * tests/test-ptsname_r.c: New file.
3927
3928         ptsname_r: new module
3929         * modules/ptsname_r: New module.
3930         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
3931         * lib/ptsname.c (__ptsname_r): Split...
3932         * lib/ptsname_r.c: ...into new file.
3933         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3934         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
3935         * modules/stdlib (Makefile.am): Substitute witnesses.
3936         * lib/stdlib.in.h (ptsname_r): Declare it.
3937         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
3938         * MODULES.html.sh (Misc): Likewise.
3939         * modules/ptsname (Depends-on): Alter dependency.
3940         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
3941
3942 2011-11-09  Jim Meyering  <meyering@redhat.com>
3943
3944         announce-gen: be more concise when there's only one URL+tarball
3945         * build-aux/announce-gen (get_tool_versions): When you distribute
3946         only one type of tarball, combine the first two "Here are..."
3947         sections and make the key-checking grammar independent of
3948         how many tarballs there are.
3949
3950 2011-11-09  Eric Blake  <eblake@redhat.com>
3951
3952         openpty: provide a stub on mingw
3953         * lib/pty.in.h (includes): Provide forward declarations.
3954         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
3955
3956         raise: fix mingw handling of SIGPIPE
3957         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
3958
3959 2011-11-08  Bruno Haible  <bruno@clisp.org>
3960
3961         More conditional dependencies.
3962         * modules/faccessat (Depends-on): Add conditions.
3963         * modules/fchmodat (Depends-on): Likewise.
3964         * modules/fchownat (Depends-on): Likewise.
3965         * modules/fstatat (Depends-on): Likewise.
3966         * modules/mkfifoat (Depends-on): Likewise.
3967         * modules/readlinkat (Depends-on): Likewise.
3968         * modules/symlinkat (Depends-on): Likewise.
3969         * modules/unlinkat (Depends-on): Likewise.
3970         * modules/utimensat (Depends-on): Likewise.
3971         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
3972         * modules/linkat (Depends-on): Refine the conditions.
3973         * modules/renameat (Depends-on): Likewise.
3974
3975 2011-11-08  Bruno Haible  <bruno@clisp.org>
3976
3977         faccessat: Move AC_LIBOBJ invocation to module description.
3978         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
3979         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
3980         invocation from here...
3981         * modules/faccessat (configure.ac): ... to here. Invoke
3982         gl_PREREQ_FACCESSAT.
3983
3984 2011-11-08  Bruno Haible  <bruno@clisp.org>
3985
3986         faccessat: Simplify autoconf macro.
3987         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
3988         gl_FUNC_EUIDACCESS.
3989
3990 2011-11-08  Bruno Haible  <bruno@clisp.org>
3991
3992         renameat: Fix dependencies.
3993         * modules/renameat (Depends-on): Add stdbool.
3994
3995 2011-11-08  Bruno Haible  <bruno@clisp.org>
3996
3997         mkfifoat: Fix module description.
3998         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
3999         not gl_UNISTD_MODULE_INDICATOR.
4000
4001 2011-11-08  Bruno Haible  <bruno@clisp.org>
4002
4003         fstatat: Remove unused dependency.
4004         * modules/fstatat (Depends-on): Remove fstat.
4005
4006 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4007
4008         GNUmakefile: behave when Makefile is missing.
4009         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4010
4011 2011-11-08  Bruno Haible  <bruno@clisp.org>
4012
4013         openat: Conditionalize dependencies.
4014         * lib/openat.c: Reduce the scope of some #includes.
4015         * modules/openat (Depends-on): Add conditions.
4016
4017 2011-11-07  Jim Meyering  <meyering@redhat.com>
4018
4019         maint.mk: extract GPG key ID without using a temporary file
4020         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4021         without using a temporary file.  Based on a suggestion from Werner Koch
4022         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4023
4024 2011-11-07  Eric Blake  <eblake@redhat.com>
4025
4026         grantpt: fix typo
4027         * lib/stdlib.in.h (grantpt): Check correct function.
4028
4029         maint.mk: silence new syntax check
4030         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4031
4032 2011-11-06  Bruno Haible  <bruno@clisp.org>
4033
4034         Doc about floating-point and math API.
4035         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4036         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4037
4038 2011-11-06  Bruno Haible  <bruno@clisp.org>
4039
4040         stdalign tests: Skip the test when compiled by Sun C.
4041         * tests/test-stdalign.c (main): Skip the test on Sun C.
4042
4043 2011-11-06  Bruno Haible  <bruno@clisp.org>
4044
4045         ansi-c++-opt: Complete the 2011-06-05 change.
4046         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4047         does not support namespaces, set the variable to "no", not to ":".
4048
4049 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4050
4051         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4052
4053 2011-11-06  Bruno Haible  <bruno@clisp.org>
4054
4055         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4056         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4057         (minus_zerol) [HP-UX]: New macro.
4058         (unary_minus) [HP-UX]: New function.
4059         (copysignl) [HP-UX]: Use unary_minus function.
4060
4061 2011-11-06  Bruno Haible  <bruno@clisp.org>
4062
4063         ldexp, ldexpf, ldexpl: Enhance tests.
4064         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4065         and tests/test-ldexpl.c.
4066         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4067         LDEXP, MIN_EXP, MAX_EXP): New macros.
4068         Include test-ldexp.h.
4069         (main): Just call test_function.
4070         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4071         infinity.h, nan.h.
4072         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4073         MAX_EXP): New macros.
4074         Include test-ldexp.h.
4075         (x, y): Remove variables.
4076         (main): Just call test_function.
4077         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4078         infinity.h, nan.h.
4079         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4080         MAX_EXP): New macros.
4081         Include test-ldexp.h.
4082         (x, y): Remove variables.
4083         (main): Just call test_function.
4084         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4085         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4086         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4087         (Depends-on): Add isnand-nolibm, signbit, float.
4088         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4089         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4090         (Depends-on): Add isnanf-nolibm, signbit, float.
4091
4092 2011-11-06  Bruno Haible  <bruno@clisp.org>
4093
4094         math tests: Cosmetics.
4095         * tests/test-math-c++.cc: Reorder declarations.
4096
4097 2011-11-05  Bruno Haible  <bruno@clisp.org>
4098
4099         fma*: Simplify test.
4100         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4101         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4102
4103         Tests for module 'fmal'.
4104         * modules/fmal-tests: New file.
4105         * tests/test-fmal1.c: New file.
4106         * tests/test-fmal2.c: New file.
4107
4108         New module 'fmal'.
4109         * lib/math.in.h (fmal): New declaration.
4110         * lib/fmal.c: New file.
4111         * m4/fmal.m4: New file.
4112         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4113         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4114         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4115         REPLACE_FMAL.
4116         * modules/fmal: New file.
4117         * doc/posix-functions/fmal.texi: Mention the new module and the various
4118         bugs.
4119
4120         Tests for module 'fmaf'.
4121         * modules/fmaf-tests: New file.
4122         * tests/test-fmaf1.c: New file.
4123         * tests/test-fmaf2.c: New file.
4124
4125         New module 'fmaf'.
4126         * lib/math.in.h (fmaf): New declaration.
4127         * lib/fmaf.c: New file.
4128         * m4/fmaf.m4: New file.
4129         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4130         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4131         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4132         REPLACE_FMAF.
4133         * modules/fmaf: New file.
4134         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4135         bugs.
4136
4137         Tests for module 'fma'.
4138         * modules/fma-tests: New file.
4139         * tests/test-fma1.c: New file.
4140         * tests/test-fma1.h: New file.
4141         * tests/test-fma2.c: New file.
4142         * tests/test-fma2.h: New file.
4143
4144         New module 'fma'.
4145         * lib/math.in.h (fma): New declaration.
4146         * lib/fma.c: New file.
4147         * m4/fma.m4: New file.
4148         * m4/fegetround.m4: New file.
4149         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4150         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4151         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4152         REPLACE_FMA.
4153         * modules/fma: New file.
4154         * doc/posix-functions/fma.texi: Mention the new module and the various
4155         bugs.
4156
4157         Extend gl_MATHFUNC.
4158         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
4159         Support 'void' as argument type.
4160         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
4161
4162 2011-11-05  Jim Meyering  <meyering@redhat.com>
4163
4164         maint.mk: also prohibit inclusion of dirent.h without use
4165         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
4166
4167 2011-11-05  Bruno Haible  <bruno@clisp.org>
4168
4169         ldexpl tests: Avoid test failure on MSVC 9.
4170         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4171         value. Needed in order to enforce the conversion from a value greater
4172         than LDBL_MAX to Infinity.
4173
4174 2011-11-05  Bruno Haible  <bruno@clisp.org>
4175
4176         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4177         * modules/at-internal: New file, extracted from modules/openat.
4178         * modules/openat-h: New file.
4179         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4180         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4181         * modules/openat (Description): Add reference to POSIX function.
4182         (Files): Remove lib/openat.h, lib/openat-proc.c.
4183         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4184         intprops, unistd.
4185         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4186         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4187         gl_FCNTL_MODULE_INDICATOR.
4188         (Include): Remove unistd.h, openat.h.
4189         * modules/areadlinkat (Files): Add lib/at-func.c.
4190         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4191         openat-die, openat-h, save-cwd.
4192         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
4193         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4194         openat-die, openat-h, save-cwd, unistd.
4195         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
4196         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4197         openat-h, save-cwd. Remove fcntl-h, openat.
4198         * modules/fchmodat (Files): Remove lib/openat.h.
4199         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4200         openat, stdbool, unistd.
4201         * modules/fchownat (Files): Remove lib/openat.h.
4202         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4203         openat, stdbool, sys_stat.
4204         * modules/fdopendir (Files): Remove lib/openat-priv.h,
4205         lib/openat-proc.c.
4206         (Depends-on): Add at-internal.
4207         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
4208         * modules/fstatat (Files): Remove lib/openat.h.
4209         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4210         stdbool, unistd.
4211         * modules/fts (Depends-on): Add openat-h.
4212         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
4213         openat.
4214         * modules/mkdirat (Files): Remove lib/openat.h.
4215         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4216         openat, stdbool, sys_stat.
4217         * modules/mkfifoat (Files): Add lib/at-func.c.
4218         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4219         openat-h, save-cwd. Remove fcntl-h, openat.
4220         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
4221         * modules/readlinkat (Files): Add lib/at-func.c.
4222         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4223         openat-h, save-cwd. Remove fcntl-h, openat.
4224         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
4225         openat.
4226         * modules/selinux-at (Files): Add lib/at-func.c.
4227         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4228         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
4229         * modules/symlinkat (Files): Add lib/at-func.c.
4230         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4231         openat-h, save-cwd. Remove fcntl-h, openat.
4232         * modules/unlinkat (Files): Remove lib/openat.h.
4233         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4234         stdbool.
4235         * modules/utimensat (Files): Add lib/at-func.c.
4236         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
4237         openat-die, openat-h, save-cwd.
4238         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
4239         * modules/fdutimensat-tests (Depends-on): Add openat.
4240         * modules/fstatat-tests (Depends-on): Add openat-h.
4241         * modules/readlinkat-tests (Depends-on): Add openat.
4242         * modules/symlinkat-tests (Depends-on): Add openat.
4243
4244 2011-11-05  Bruno Haible  <bruno@clisp.org>
4245
4246         openat: Include <stdbool.h>.
4247         * lib/openat.c: Include <stdbool.h>.
4248
4249 2011-11-04  Bruno Haible  <bruno@clisp.org>
4250
4251         fchownat, renameat, unlinkat: Fix dependencies.
4252         * modules/fchownat (Depends-on): Add fstatat.
4253         * modules/renameat (Depends-on): Likewise.
4254         * modules/unlinkat (Depends-on): Likewise.
4255
4256 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4257
4258         openat: remove direct dependency on dirent
4259         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
4260         and hasn't been needed ever since fdopendir was split into its own
4261         module on 2009-08-31.
4262         * modules/openat (Depends-on): Remove dirent.
4263
4264 2011-11-04  Bruno Haible  <bruno@clisp.org>
4265
4266         renameat: Optimize code size.
4267         * modules/renameat (configure.ac): Don't compile at-func2.c if
4268         REPLACE_RENAMEAT is 1.
4269
4270 2011-11-04  Bruno Haible  <bruno@clisp.org>
4271
4272         openat tests: Fix file list.
4273         * modules/openat-tests (Files): Add tests/test-open.h.
4274
4275 2011-11-04  Bruno Haible  <bruno@clisp.org>
4276
4277         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
4278         * modules/fchmodat (Depends-on): Add openat-die.
4279         * modules/fchownat (Depends-on): Likewise.
4280         * modules/linkat (Depends-on): Likewise.
4281         * modules/renameat (Depends-on): Likewise.
4282         * modules/openat (Depends-on): Add dirent.
4283
4284 2011-11-04  Jim Meyering  <meyering@redhat.com>
4285
4286         at-func*.c: fix comments
4287         * lib/at-func2.c: Correct/improve first-line comment.
4288         * lib/at-func.c: Correct grammar in first-line comment.
4289
4290 2011-11-04  Bruno Haible  <bruno@clisp.org>
4291
4292         New module 'mkdirat', split off from module 'openat'.
4293         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
4294         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
4295         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
4296         * modules/mkdirat: New file, extracted from modules/openat.
4297         * modules/openat (Files): Remove lib/mkdirat.c.
4298         (Depends-on): Remove mkdir.
4299         (configure.ac): Remove AC_LIBOBJ of mkdirat.
4300         (Include): Remove <sys/stat.h>.
4301         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
4302         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
4303         tests/test-mkdir.h.
4304         (Depends-on): Remove ignore-value.
4305         (Makefile.am): Remove rules for test-mkdirat.
4306         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
4307         of module 'openat'.
4308         * NEWS: Mention the change.
4309
4310 2011-11-04  Bruno Haible  <bruno@clisp.org>
4311
4312         closedir: Avoid warning on mingw.
4313         * lib/closedir.c: Include <unistd.h>.
4314
4315 2011-11-04  Bruno Haible  <bruno@clisp.org>
4316
4317         New module 'fstatat', split off from module 'openat'.
4318         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
4319         defined.
4320         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
4321         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
4322         gl_FUNC_FSTATAT.
4323         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
4324         * modules/fstatat: New file, extracted from modules/openat.
4325         * modules/openat (Files): Remove lib/fstatat.c.
4326         (Depends-on): Remove lstat.
4327         (configure.ac): Remove AC_LIBOBJ of fstatat.
4328         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
4329         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
4330         tests/test-lstat.h, tests/test-stat.h.
4331         (Depends-on): Remove getcwd-lgpl.
4332         (Makefile.am): Remove rules for test-fstatat.
4333         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
4334         of module 'openat'.
4335         * NEWS: Mention the change.
4336         * modules/getcwd (Depends-on): Add fstatat.
4337         * modules/linkat (Depends-on): Likewise.
4338         * modules/mkfifoat-tests (Depends-on): Likewise.
4339         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
4340
4341 2011-11-03  Bruno Haible  <bruno@clisp.org>
4342
4343         New module 'unlinkat', split off from module 'openat'.
4344         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
4345         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
4346         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
4347         * modules/unlinkat: New file, extracted from modules/openat. Correct
4348         the dependency conditions.
4349         * modules/openat (Files): Remove lib/unlinkat.c.
4350         (Depends-on): Remove rmdir, unlink.
4351         (configure.ac): Remove AC_LIBOBJ of unlinkat.
4352         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
4353         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
4354         tests/test-rmdir.h, tests/test-unlink.h.
4355         (Depends-on): Remove unlinkdir.
4356         (Makefile.am): Remove rules for test-unlinkat.
4357         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
4358         of module 'openat'.
4359         * NEWS: Mention the change.
4360         * modules/linkat-tests (Depends-on): Add unlinkat.
4361         * modules/mkfifoat-tests (Depends-on): Likewise.
4362         * modules/readlinkat-tests (Depends-on): Likewise.
4363
4364 2011-11-02  Bruno Haible  <bruno@clisp.org>
4365
4366         New module 'fchmodat', split off from module 'openat'.
4367         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
4368         defined.
4369         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
4370         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
4371         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
4372         * modules/fchmodat: New file, extracted from modules/openat.
4373         * modules/openat (Files): Remove lib/fchmodat.c.
4374         (configure.ac): Remove AC_LIBOBJ of fchmodat.
4375         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
4376         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
4377         (Makefile.am): Remove rules for test-fchmodat.
4378         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
4379         of module 'openat'.
4380         * NEWS: Mention the change.
4381
4382 2011-11-02  Jim Meyering  <meyering@redhat.com>
4383
4384         putenv: indent #definition of "environ" to placate cppi
4385         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
4386
4387         gitlog-to-changelog: provide a ChangeLog-repair mechanism
4388         Git logs are often treated as immutable, because editing them
4389         changes the SHA1 checksums of all descendants.  Thus, errors in
4390         git logs tend to stay there forever.  However, when we generate
4391         a ChangeLog file -- typically for distribution -- from that git log,
4392         we can actually make corrections in the generated file.  The key
4393         lies in recording in machine-readable/applicable form the desired
4394         corrections.  See --help for description and an example.
4395         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
4396         (usage): Describe it; alphabetize option descriptions.
4397         (main): Honor the new option, carefully.
4398
4399 2011-11-01  Jim Meyering  <meyering@redhat.com>
4400
4401         gitlog-to-changelog: avoid an infloop
4402         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
4403         that ends up being empty.
4404
4405 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4406
4407         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
4408         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
4409         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
4410         contains (possibly-quoted) backslashes.  This should avoid
4411         all-too-common shell bugs if COMPLICATED contains backslashes in
4412         the "wrong" places.  Reported by David Evans in
4413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
4414         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
4415         because we want ASCII ranges.  Is there some reason we don't use
4416         the C locale everywhere in this script?
4417         (func_module, top level): Avoid unwanted pathname expansion when
4418         $repo_url_prefix or $repo_url_suffix_repl contain shell
4419         metacharacters like '?' and '*'.
4420
4421 2011-11-01  Bruno Haible  <bruno@clisp.org>
4422
4423         fchownat: Improve description.
4424         * modules/fchownat (Description): Add link to function.
4425
4426 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4427
4428         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
4429         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
4430         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
4431         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
4432
4433 2011-11-01  Bruno Haible  <bruno@clisp.org>
4434
4435         alignof: Avoid collision with stdalign module.
4436         * lib/alignof.h (alignof): Remove macro.
4437         * NEWS: Mention the change.
4438         Reported by Paul Eggert.
4439
4440 2011-11-01  Bruno Haible  <bruno@clisp.org>
4441
4442         New module 'fchownat', split off from module 'openat'.
4443         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
4444         defined.
4445         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
4446         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
4447         invoke gl_FUNC_FCHOWNAT.
4448         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
4449         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
4450         * modules/fchownat: New file, extracted from modules/openat.
4451         * modules/openat (Files): Remove lib/fchownat.c.
4452         (Depends-on): Remove lchown.
4453         (configure.ac): Remove AC_LIBOBJ of fchownat.
4454         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
4455         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
4456         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
4457         (Depends-on): Remove mgetgroups, usleep, stat-time.
4458         (configure.ac): Remove test for getegid.
4459         (Makefile.am): Remove rules for test-fchownat.
4460         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
4461         of module 'openat'.
4462         * NEWS: Mention the change.
4463
4464 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4465
4466         stdalign: port better to MSVC and to Sun C 5.11
4467         This fixes some of the problems reported by Bruno Haible in
4468         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
4469         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
4470         shortcomings of MSVC and of Sun C 5.11.
4471         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
4472         around __declspec arg.
4473         * modules/stdalign-tests (Files): Add tests/macros.h.
4474         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
4475         Include macros.h, for ASSERT.
4476         (DECLARE_ALIGNED): Remove.
4477         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
4478         to catch bug), and to 1 if not (simplifies the rest of the code).
4479         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
4480         (CHECK_AUTO): Remove.
4481         (CHECK_ALIGNED): Check only the alignment of the static vars,
4482         since auto var alignment isn't supported by Sun C 5.11.
4483         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
4484         ASSERT failures are easier to diagnose.
4485
4486 2011-10-31  Bruno Haible  <bruno@clisp.org>
4487
4488         doc about some IRIX 5.3 problems.
4489         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
4490         on IRIX 5.3.
4491         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
4492         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
4493         5.3.
4494         * doc/posix-functions/grantpt.texi: Likewise.
4495         * doc/posix-functions/unlockpt.texi: Likewise.
4496         * doc/posix-functions/lgamma.texi: Likewise.
4497         * doc/posix-functions/nextafter.texi: Likewise.
4498         * doc/posix-functions/remainder.texi: Likewise.
4499         * doc/posix-functions/select.texi: Mention misplaced declaration on
4500         IRIX 5.3.
4501         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4502
4503 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
4504
4505         gitlog-to-changelog: fix git-log invocation.
4506         git-log mishandles date strings before 1970-01-01 UTC, and there is
4507         no use to specify --since=1970-01-01 by default anyway.
4508         * build-aux/gitlog-to-changelog: By default, when no --since option
4509         was given, do not specify explicit --since option to git-log.
4510
4511 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
4512
4513         gitlog-to-changelog: new option --append-dot.
4514         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
4515         first non-blank line of each commit message terminated with a dot.
4516
4517 2011-10-30  Bruno Haible  <bruno@clisp.org>
4518
4519         ffsl, ffsll: Avoid compilation error due to 'restrict'.
4520         * lib/ffsl.h: Include <config.h>.
4521         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
4522
4523 2011-10-30  Jim Meyering  <meyering@redhat.com>
4524
4525         GNUmakefile: reenable "make syntax-check" for most projects
4526         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
4527         build-aux variable", "syntax-check" would do nothing but succeed with
4528         the "No version control files detected..." diagnostic (unless you
4529         happened to override _build-aux via cfg.mk).
4530         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
4531         to precede inclusion of maint.mk.  Otherwise, these variables would
4532         be used undefined in any project that does not override the default.
4533
4534 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
4535
4536         gitlog-to-changelog: treat a message with only blank lines as empty.
4537         * build-aux/gitlog-to-changelog: Move the code that removes leading and
4538         trailing blank lines before the code that issues a warning about an
4539         empty commit message.
4540
4541 2011-10-30  Jim Meyering  <meyering@redhat.com>
4542
4543         test-parse-datetime.c: avoid new DST-related false positive test failure
4544         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
4545         based on the time/date we'll convert, not the current time.
4546         Otherwise, the moment we cross a DST boundary like today's in
4547         Europe, (CEST to CET), that offset ends up being one hour off.
4548
4549 2011-10-27  Bruno Haible  <bruno@clisp.org>
4550
4551         fstat: Tweak documentation.
4552         * modules/fstat (Description): More precise description.
4553
4554 2011-10-27  Bruno Haible  <bruno@clisp.org>
4555
4556         Update documentation regarding 'largefile' module.
4557         * doc/posix-functions/fstat.texi: Tweak wording.
4558         * doc/posix-functions/opendir.texi: Mention that the module fixes the
4559         problems with huge directories and/or small ino_t types.
4560         * doc/posix-functions/readdir.texi: Likewise.
4561         * doc/posix-functions/rewinddir.texi: Likewise.
4562
4563 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
4564
4565         maint.mk: don't maintain a second build-aux variable.
4566         * maint.mk (build_aux): Removed.  The maintainer-makefile module
4567         depends on GNUmakefile, which already maintains a cfg.mk
4568         overridable $(_build-aux) for projects with a non-standard
4569         build-aux directory location, although without the $(srcdir)
4570         prefix.  Use that variable consistently instead of introducing a
4571         second one.  Adjust all call sites.
4572
4573 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4574
4575         Add stdalign module and use it in other modules.
4576         This is based on a previous proposal by Bruno Haible
4577         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
4578
4579         stdalign: new module
4580         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
4581         * modules/stdalign: New files.
4582         * MODULES.html.sh (c1x_core_properties): Add stdalign.
4583         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
4584
4585         stdalign-tests: new module
4586         * modules/stdalign-tests, tests/test-stdalign.c: New files.
4587
4588         argp: use stdalign
4589         * lib/argp-parse.c: Include <stdalign.h>.
4590         (alignof): Remove.
4591         * modules/argp (Depends-on): Add stdalign.
4592
4593         crypto libraries: use stdalign
4594         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
4595         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
4596         Do not include <stdlib.h> twice, in md4.c.
4597         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
4598         because we are accessing a pointer's bit-pattern, not a size.
4599         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
4600         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
4601         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
4602         * modules/crypto/sha512: Likewise.
4603
4604         sys_socket: use stdalign, not alignof
4605         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
4606         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
4607
4608 2011-10-27  Bruno Haible  <bruno@clisp.org>
4609
4610         raise test: Avoid a test failure on Linux/MIPS.
4611         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
4612         because 99 is a valid signal on Linux/MIPS.
4613
4614 2011-10-27  Bruno Haible  <bruno@clisp.org>
4615
4616         nonblocking tests: Fix test failure on Linux/MIPS.
4617         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
4618         Set to 270000.
4619
4620 2011-10-27  Bruno Haible  <bruno@clisp.org>
4621
4622         utimensat: Work around problem on Linux/hppa.
4623         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
4624         values.
4625         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
4626
4627 2011-10-25  Jim Meyering  <meyering@redhat.com>
4628
4629         maint.mk: fix a bug in sc_prohibit_stddef_without_use
4630         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
4631         after symbols like NULL, size_t, etc.
4632         Reported by Alfred M. Szmidt.
4633
4634         maint.mk: exempt ENODATA from a syntax-check rule
4635         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
4636         from the sc_prohibit_always-defined_macros syntax-check rule.
4637         Add a comment.  See this for more details:
4638         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
4639
4640 2011-10-23  Jim Meyering  <meyering@redhat.com>
4641
4642         fts: close parent dir FD before returning from post-traversal fts_read
4643         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
4644         unlink A, even though an FD open on A remained.  This is suboptimal
4645         (holding a file descriptor open longer than needed), but otherwise not
4646         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
4647         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
4648         that represents a real problem: it causes the removal of A to fail
4649         with e.g., "rm: cannot remove `A': Device or resource busy"
4650
4651         fts visits each directory twice and keeps a cache (fts_fd_ring) of
4652         directory file descriptors.  After completing the final, FTS_DP,
4653         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
4654         cache, but then proceeded to add a new FD to it via the subsequent
4655         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
4656         final file descriptor would be closed only via fts_close's call to
4657         fd_ring_clear.  Now, it is usually closed earlier, via the final
4658         FTS_DP-returning fts_read call.
4659         * lib/fts.c (restore_initial_cwd): New function, converted from
4660         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
4661         Update callers.
4662         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
4663         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
4664
4665 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
4666             Bruno Haible  <bruno@clisp.org>
4667             Jim Meyering  <jim@meyering.net>
4668
4669         readme-release: improve safety of release prep instructions.
4670         * README-release: Don't git pull all branches when only master
4671         is needed for the release process.
4672         Run make maintainer-clean before changing trees and merging.
4673         Don't try to run ./configure right after git pull in case files
4674         that influence the bootstrap process have changed, move the
4675         ./configure step to after running ./bootstrap.
4676         Don't bootstrap "one last time"... it's the first time!
4677
4678 2011-10-22  Bruno Haible  <bruno@clisp.org>
4679
4680         errno, strerror-override: Support for MSVC 10.
4681         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
4682         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
4683         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
4684         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
4685         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
4686         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
4687         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
4688         Assign values compatible with MSVC 10.
4689         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
4690         New macros.
4691         (GNULIB_defined_EWINSOCK): New macro.
4692         * lib/strerror-override.c (strerror_override): Update accordingly.
4693         * lib/strerror-override.h: Likewise.
4694         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
4695         longer equal to the corresponding errno value.
4696         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4697
4698 2011-10-22  Bruno Haible  <bruno@clisp.org>
4699
4700         perror: Recognize when test program crashes.
4701         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
4702         strerror, set gl_cv_func_perror_works to no.
4703         Reported by Daniel Richard G. <skunk@iskunk.org>.
4704
4705         perror: Fix indentation.
4706         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
4707
4708 2011-10-22  Bruno Haible  <bruno@clisp.org>
4709
4710         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
4711         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
4712         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
4713         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
4714         functions, not as a macro.
4715         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
4716         macros.
4717         (isfinite, isinf, isnan, signbit): Check overloaded functions and
4718         absence of macro.
4719         Suggested by Eric Blake.
4720         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4721
4722 2011-10-21  Bruno Haible  <bruno@clisp.org>
4723
4724         relocatable-prog-wrapper: Don't leave object files behind.
4725         * build-aux/install-reloc: Re-synchronize list of .o files to be
4726         removed with list of compilation units.
4727
4728 2011-10-20  Bruno Haible  <bruno@clisp.org>
4729
4730         openpty, posix_openpt: Remove code duplication.
4731         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
4732         * lib/openpty.c: Include <stdlib.h>.
4733         (openpty): Use posix_openpt on all platforms except IRIX.
4734         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
4735
4736 2011-10-20  Bruno Haible  <bruno@clisp.org>
4737
4738         unlockpt: Detect invalid argument.
4739         * lib/unlockpt.c: Include <fcntl.h>.
4740         (unlockpt): Check whether fd is valid, using fcntl().
4741         * modules/unlockpt (Depends-on): Add fcntl-h.
4742
4743 2011-10-20  Bruno Haible  <bruno@clisp.org>
4744
4745         openpty: Avoid compilation error on AIX 6.1.
4746         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
4747
4748 2011-10-20  Bruno Haible  <bruno@clisp.org>
4749
4750         posix_openpt: Support for OpenBSD.
4751         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
4752         (posix_openpt) [OpenBSD]: New code.
4753         * lib/grantpt.c: Include <fcntl.h>.
4754         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
4755         * modules/grantpt (Depends-on): Add fcntl-h.
4756
4757 2011-10-20  Bruno Haible  <bruno@clisp.org>
4758
4759         posix_openpt test: Coding style.
4760         * tests/test-posix_openpt.c: Use GNU coding style.
4761
4762 2011-10-20  Bruno Haible  <bruno@clisp.org>
4763
4764         grantpt: Support --avoid=pt_chown.
4765         * modules/grantpt (Files): Add lib/pty-private.h.
4766
4767 2011-10-20  Bruno Haible  <bruno@clisp.org>
4768
4769         posix_openpt: Fix autoconf macro.
4770         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
4771         unneeded check for _getpty.
4772
4773 2011-10-20  Bruno Haible  <bruno@clisp.org>
4774
4775         openpty: Update comments.
4776         * lib/openpty.c: Add comments about Minix.
4777
4778 2011-10-19  Eric Blake  <eblake@redhat.com>
4779
4780         openpty: relax license
4781         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
4782
4783         pt_chown: use configmake to simplify build
4784         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
4785
4786         ptsname and others: relax license
4787         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
4788         * modules/unlockpt (License): Likewise.
4789         * modules/pt_chown (License): Likewise.
4790         * modules/ptsname (License): Likewise.
4791         * modules/ttyname_r (License): Likewise.
4792
4793 2011-10-19  Jim Meyering  <meyering@redhat.com>
4794
4795         posix_openpt: remove spurious #endif
4796         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
4797
4798 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
4799
4800         maint.mk: Respect $(build_aux) in web-manual rule.
4801         * top/maint.mk (web-manual): Find gen-announce script in user's
4802         $(build_aux) directory instead of hard-coding 'build-aux'.
4803
4804 2011-10-19  Bruno Haible  <bruno@clisp.org>
4805
4806         posix_openpt: Fix compilation error.
4807         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
4808         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
4809         Mention the openpty module as an alternative.
4810
4811 2011-10-19  Bruno Haible  <bruno@clisp.org>
4812
4813         Support for old NeXTstep 3.3 frexp().
4814         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
4815         execution time of the test to 5 seconds.
4816         Reported by Daniel Richard G. <skunk@iskunk.org>.
4817
4818 2011-10-19  Bruno Haible  <bruno@clisp.org>
4819
4820         Support for old NeXTstep 3.3 sed.
4821         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
4822         part, use /.../, not \|...|. Escape periods in the header file name.
4823         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4824         Reported by Daniel Richard G. <skunk@iskunk.org>.
4825
4826 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4827
4828         Support for old NeXTstep 3.3 gcc.
4829         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
4830         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
4831         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
4832         * lib/spawn.in.h (_Restrict_arr_): Likewise.
4833         * lib/regex.h (_Restrict_arr_): Likewise.
4834         * lib/regex_internal.h (re_token_t): Likewise.
4835         * lib/regexec.c (check_node_accept_bytes): Likewise.
4836         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
4837
4838 2011-10-18  Eric Blake  <eblake@redhat.com>
4839
4840         posix_openpt: new module
4841         * modules/posix_openpt: New module.
4842         * m4/posix_openpt.m4: New file.
4843         * lib/posix_openpt.c: Likewise.
4844         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4845         (gl_STDLIB_H_DEFAULTS): Set defaults.
4846         * modules/stdlib (Makefile.am): Substitute macros.
4847         * lib/stdlib.in.h (posix_openpt): Declare.
4848         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
4849         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
4850         * modules/posix_openpt-tests: New test module.
4851         * tests/test-posix_openpt.c: New test.
4852
4853 2011-10-15  Bruno Haible  <bruno@clisp.org>
4854
4855         xstrtoll: Fix compilation failure.
4856         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
4857         from lib/strtol.c.
4858         * doc/posix-headers/limits.texi: Mention missing numerical limits on
4859         some platforms.
4860         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4861
4862 2011-10-15  Bruno Haible  <bruno@clisp.org>
4863
4864         vasnprintf: Optimize bit search operation.
4865         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
4866         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
4867         gl_DOUBLE_EXPONENT_LOCATION.
4868         * modules/vasnprintf (Files): Add m4/exponentd.m4.
4869         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4870         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4871         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4872         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4873         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4874         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4875         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4876         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
4877
4878 2011-10-15  Bruno Haible  <bruno@clisp.org>
4879
4880         vasnprintf: Fix comments.
4881         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
4882
4883 2011-10-14  Bruno Haible  <bruno@clisp.org>
4884
4885         Tests for module 'integer_length_ll'.
4886         * modules/integer_length_ll-tests: New file.
4887         * tests/test-integer_length_ll.c: New file.
4888
4889         New module 'integer_length_ll'.
4890         * lib/integer_length_ll.c: New file.
4891         * modules/integer_length_ll: New file.
4892
4893 2011-10-14  Bruno Haible  <bruno@clisp.org>
4894
4895         Tests for module 'integer_length_l'.
4896         * modules/integer_length_l-tests: New file.
4897         * tests/test-integer_length_l.c: New file.
4898
4899         New module 'integer_length_l'.
4900         * lib/integer_length_l.c: New file.
4901         * modules/integer_length_l: New file.
4902
4903 2011-10-14  Bruno Haible  <bruno@clisp.org>
4904
4905         Tests for module 'integer_length'.
4906         * modules/integer_length-tests: New file.
4907         * tests/test-integer_length.c: New file.
4908
4909         New module 'integer_length'.
4910         * lib/integer_length.h: New file.
4911         * lib/integer_length.c: New file.
4912         * modules/integer_length: New file.
4913
4914 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4915
4916         popen: Fix dependency conditions.
4917         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
4918
4919 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4920
4921         perror: Fix autoconf test.
4922         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
4923         <stdlib.h> and <string.h>.
4924
4925 2011-10-14  Bruno Haible  <bruno@clisp.org>
4926
4927         ffsl: Optimize on 64-bit platforms.
4928         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
4929         unrolling.
4930
4931 2011-10-13  Bruno Haible  <bruno@clisp.org>
4932
4933         ffsl: Optimize on 32-bit platforms.
4934         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
4935         use ffs() without a loop.
4936
4937         ffsl, ffsll: Optimize for GCC.
4938         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
4939         * lib/ffsl.c (GCC_BUILTIN): New macro.
4940         * lib/ffsll.c (GCC_BUILTIN): Likewise.
4941
4942 2011-10-13  Bruno Haible  <bruno@clisp.org>
4943
4944         ffs, bcopy, memset: Support symbol renaming via config.h.
4945         * lib/ffs.c: Include <config.h>.
4946         * lib/bcopy.c: Likewise.
4947         * lib/memset.c: Likewise.
4948
4949 2011-10-10  Bruno Haible  <bruno@clisp.org>
4950
4951         atanl: Simplify for platforms where 'long double' == 'double'.
4952         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4953         alternative implementation.
4954         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4955         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4956         * modules/atanl (Depends-on): Add atan. Update conditions.
4957
4958 2011-10-10  Bruno Haible  <bruno@clisp.org>
4959
4960         acosl: Simplify for platforms where 'long double' == 'double'.
4961         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4962         alternative implementation.
4963         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4964         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4965         * modules/acosl (Depends-on): Add acos. Update conditions.
4966
4967 2011-10-10  Bruno Haible  <bruno@clisp.org>
4968
4969         asinl: Simplify for platforms where 'long double' == 'double'.
4970         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4971         alternative implementation.
4972         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4973         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4974         * modules/asinl (Depends-on): Add asin. Update conditions.
4975
4976 2011-10-10  Bruno Haible  <bruno@clisp.org>
4977
4978         tanl: Simplify for platforms where 'long double' == 'double'.
4979         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4980         implementation.
4981         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4982         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4983         * modules/tanl (Depends-on): Add tan. Update conditions.
4984         (configure.ac): Don't compile trigl.c if
4985         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4986
4987 2011-10-10  Bruno Haible  <bruno@clisp.org>
4988
4989         cosl: Simplify for platforms where 'long double' == 'double'.
4990         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4991         implementation.
4992         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4993         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4994         * modules/cosl (Depends-on): Add cos. Update conditions.
4995         (configure.ac): Don't compile sincosl.c and trigl.c if
4996         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4997
4998 2011-10-10  Bruno Haible  <bruno@clisp.org>
4999
5000         sinl: Simplify for platforms where 'long double' == 'double'.
5001         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5002         implementation.
5003         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5004         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5005         * modules/sinl (Depends-on): Add sin. Update conditions.
5006         (configure.ac): Don't compile sincosl.c and trigl.c if
5007         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5008
5009 2011-10-10  Bruno Haible  <bruno@clisp.org>
5010
5011         logl: Simplify for platforms where 'long double' == 'double'.
5012         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5013         implementation.
5014         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5015         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5016         * modules/logl (Depends-on): Add log. Update conditions.
5017
5018 2011-10-10  Bruno Haible  <bruno@clisp.org>
5019
5020         expl: Simplify for platforms where 'long double' == 'double'.
5021         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5022         implementation.
5023         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5024         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5025         * modules/expl (Depends-on): Add exp. Update conditions.
5026
5027 2011-10-10  Bruno Haible  <bruno@clisp.org>
5028
5029         sqrtl: Simplify for platforms where 'long double' == 'double'.
5030         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5031         alternative implementation.
5032         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5033         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5034         * modules/sqrtl (Depends-on): Update conditions.
5035
5036 2011-10-10  Bruno Haible  <bruno@clisp.org>
5037
5038         ldexpl: Simplify for platforms where 'long double' == 'double'.
5039         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5040         alternative implementation.
5041         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5042         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5043         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5044
5045 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5046
5047         ffsll: set correct witness
5048         * modules/ffsll (configure.ac): Fix typo.
5049
5050 2011-10-10  Bruno Haible  <bruno@clisp.org>
5051
5052         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5053         * lib/printf-frexpl.c: Include <config.h>.
5054         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5055         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5056         second time.
5057         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5058         gl_LONG_DOUBLE_VS_DOUBLE.
5059         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5060         conditions.
5061
5062 2011-10-10  Bruno Haible  <bruno@clisp.org>
5063
5064         frexpl: Simplify for platforms where 'long double' == 'double'.
5065         * lib/frexpl.c: Include <config.h>.
5066         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5067         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5068         time.
5069         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5070         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5071         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5072         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5073         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5074         conditions.
5075
5076 2011-10-10  Jim Meyering  <meyering@redhat.com>
5077
5078         test-renameat: don't leave behind a temporary file
5079         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5080           ERROR: files left in build directory after distclean:
5081           ./gltests/test-renameat.too
5082           make[1]: *** [distcleancheck] Error 1
5083         Reported by Tom G. Christensen.
5084
5085 2011-10-09  Bruno Haible  <bruno@clisp.org>
5086
5087         rint: Determine RINT_LIBM correctly on AIX 7.
5088         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5089         directly, not only through a function pointer. Also accept an optional
5090         4th argument with extra code.
5091         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5092         rintf() call by gcc when optimizing.
5093
5094         mathfunc.m4: Refactor.
5095         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5096         m4 variable.
5097
5098 2011-10-09  Bruno Haible  <bruno@clisp.org>
5099
5100         rintl: Simplify for platforms where 'long double' == 'double'.
5101         * lib/rintl.c: Include <config.h>.
5102         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5103         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5104         time.
5105         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5106         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5107         * modules/rintl (Depends-on): Add rint. Update conditions.
5108
5109 2011-10-09  Bruno Haible  <bruno@clisp.org>
5110
5111         roundl: Simplify for platforms where 'long double' == 'double'.
5112         * lib/roundl.c: Include <config.h>.
5113         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5114         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5115         time.
5116         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5117         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5118         * modules/roundl (Depends-on): Add round. Update conditions.
5119
5120 2011-10-09  Bruno Haible  <bruno@clisp.org>
5121
5122         truncl: Simplify for platforms where 'long double' == 'double'.
5123         * lib/truncl.c: Include <config.h>.
5124         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5125         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5126         time.
5127         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5128         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5129         * modules/truncl (Depends-on): Add trunc. Update conditions.
5130
5131 2011-10-09  Bruno Haible  <bruno@clisp.org>
5132
5133         ceill: Simplify for platforms where 'long double' == 'double'.
5134         * lib/ceill.c: Include <config.h>.
5135         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5136         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5137         time.
5138         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5139         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5140         * modules/ceill (Depends-on): Add ceil. Update conditions.
5141
5142 2011-10-09  Bruno Haible  <bruno@clisp.org>
5143
5144         floorl: Simplify for platforms where 'long double' == 'double'.
5145         * lib/floorl.c: Include <config.h>.
5146         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5147         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5148         time.
5149         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5150         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5151         * modules/floorl (Depends-on): Add floor. Update conditions.
5152
5153 2011-10-09  Bruno Haible  <bruno@clisp.org>
5154
5155         rint: Fix ordering constraints.
5156         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
5157         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5158         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5159
5160 2011-10-09  Bruno Haible  <bruno@clisp.org>
5161
5162         copysignl: Simplify for platforms where 'long double' == 'double'.
5163         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5164         alternative.
5165         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5166         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5167         * modules/copysignl (Depends-on): Add copysign. Update conditions.
5168
5169 2011-10-09  Bruno Haible  <bruno@clisp.org>
5170
5171         Tests for module 'rintl'.
5172         * modules/rintl-tests: New file.
5173         * tests/test-rintl.c: New file.
5174
5175         New module 'rintl'.
5176         * lib/math.in.h (rintl): New declaration.
5177         * lib/rintl.c: New file.
5178         * m4/rintl.m4: New file.
5179         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5180         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5181         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5182         * modules/rintl: New file.
5183         * tests/test-math-c++.cc: Check the declaration of rintl.
5184         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5185         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5186         * doc/posix-functions/rintl.texi: Mention the new module.
5187
5188 2011-10-09  Bruno Haible  <bruno@clisp.org>
5189
5190         Tests for module 'rintf'.
5191         * modules/rintf-tests: New file.
5192         * tests/test-rintf.c: New file.
5193
5194         New module 'rintf'.
5195         * lib/math.in.h (rintf): New declaration.
5196         * lib/rintf.c: New file.
5197         * m4/rintf.m4: New file.
5198         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
5199         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
5200         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
5201         * modules/rintf: New file.
5202         * tests/test-math-c++.cc: Check the declaration of rintf.
5203         * doc/posix-functions/rintf.texi: Mention the new module.
5204
5205 2011-10-09  Bruno Haible  <bruno@clisp.org>
5206
5207         rint: Support for MSVC.
5208         * lib/math.in.h (rint): New declaration.
5209         * lib/rint.c: New file.
5210         * m4/rint.m4: New file.
5211         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
5212         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
5213         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
5214         * modules/rint (Description): Fix.
5215         (Files): Add lib/rint.c, m4/rint.m4.
5216         (Depends-on): Add math.
5217         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
5218         gl_MATH_MODULE_INDICATOR.
5219         * tests/test-math-c++.cc: Check the declaration of rint.
5220         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5221         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
5222         * doc/posix-functions/rint.texi: Mention the replacement provided by
5223         the module.
5224
5225         rint tests: More tests.
5226         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
5227         minus-zero.h, infinity.h, nan.h.
5228         (main): Skip the test if the current rounding mode is not standard. Add
5229         tests for negative numbers, minus zero, infinity, NaN.
5230         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
5231         tests/nan.h.
5232         (Depends-on): Add isnand-nolibm.
5233
5234 2011-10-09  Bruno Haible  <bruno@clisp.org>
5235
5236         Tests for module 'copysignl'.
5237         * modules/copysignl-tests: New file.
5238         * tests/test-copysignl.c: New file.
5239
5240         New module 'copysignl'.
5241         * lib/math.in.h (copysignl): New declaration.
5242         * lib/copysignl.c: New file.
5243         * m4/copysignl.m4: New file.
5244         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
5245         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
5246         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
5247         HAVE_COPYSIGNL.
5248         * modules/copysignl: New file.
5249         * tests/test-math-c++.cc: Check the declaration of copysignl.
5250         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5251         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
5252         * doc/posix-functions/copysignl.texi: Mention the new module.
5253
5254 2011-10-09  Bruno Haible  <bruno@clisp.org>
5255
5256         Tests for module 'copysignf'.
5257         * modules/copysignf-tests: New file.
5258         * tests/test-copysignf.c: New file.
5259
5260         New module 'copysignf'.
5261         * lib/math.in.h (copysignf): New declaration.
5262         * lib/copysignf.c: New file.
5263         * m4/copysignf.m4: New file.
5264         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
5265         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
5266         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
5267         HAVE_COPYSIGNF.
5268         * modules/copysignf: New file.
5269         * tests/test-math-c++.cc: Check the declaration of copysignf.
5270         * doc/posix-functions/copysignf.texi: Mention the new module.
5271
5272 2011-10-09  Bruno Haible  <bruno@clisp.org>
5273
5274         Ensure that HAVE_* variables are set to 1 before they are set to 0.
5275         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
5276         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
5277         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5278         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
5279         gl_SIGNAL_H_DEFAULTS.
5280
5281 2011-10-09  Bruno Haible  <bruno@clisp.org>
5282
5283         poll: Make macro safer.
5284         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
5285         ac_cv_header_poll_h is not set.
5286
5287 2011-10-09  Bruno Haible  <bruno@clisp.org>
5288
5289         copysign: Provide replacement.
5290         * lib/math.in.h (copysign): New declaration.
5291         * lib/copysign.c: New file.
5292         * m4/copysign.m4: New file.
5293         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
5294         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
5295         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
5296         HAVE_COPYSIGN.
5297         * modules/copysign (Description): Clarify.
5298         (Files): Add lib/copysign.c, m4/copysign.m4.
5299         (Depends-on): Add math, signbit.
5300         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
5301         gl_MATH_MODULE_INDICATOR.
5302         * tests/test-math-c++.cc: Check the declaration of copysign.
5303         * doc/posix-functions/copysign.texi: Mention the effects of the module
5304         on Minix and MSVC.
5305
5306 2011-10-09  Bruno Haible  <bruno@clisp.org>
5307
5308         isinf: Ensure macro on AIX 5.1.
5309         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
5310         macro.
5311         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
5312
5313 2011-10-09  Bruno Haible  <bruno@clisp.org>
5314
5315         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
5316         * modules/snprintf-posix-tests (configure.ac): Require
5317         gl_LONG_DOUBLE_VS_DOUBLE.
5318         * modules/sprintf-posix-tests (configure.ac): Likewise.
5319         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
5320         * modules/vasprintf-posix-tests (configure.ac): Likewise.
5321         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
5322         * modules/vsprintf-posix-tests (configure.ac): Likewise.
5323         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
5324         tests on platforms where 'long double' is the same as 'double'.
5325         * tests/test-sprintf-posix.h (test_function): Likewise.
5326         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5327         * tests/test-vasprintf-posix.c (test_function): Likewise.
5328
5329         *printf: Fix for platforms where 'long double' == 'double'.
5330         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
5331         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
5332         * modules/dprintf-posix (Files): Add m4/math_h.m4.
5333         * modules/fprintf-posix (Files): Likewise.
5334         * modules/obstack-printf-posix (Files): Likewise.
5335         * modules/snprintf-posix (Files): Likewise.
5336         * modules/sprintf-posix (Files): Likewise.
5337         * modules/vasnprintf (Files): Likewise.
5338         * modules/vasnprintf-posix (Files): Likewise.
5339         * modules/vasprintf-posix (Files): Likewise.
5340         * modules/vdprintf-posix (Files): Likewise.
5341         * modules/vfprintf-posix (Files): Likewise.
5342         * modules/vsnprintf-posix (Files): Likewise.
5343         * modules/vsprintf-posix (Files): Likewise.
5344         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5345         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5346         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5347         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5348         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5349         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5350         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5351
5352         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
5353         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
5354         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5355         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
5356         'long double'.
5357         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
5358
5359         isinf: Fix for platforms where 'long double' == 'double'.
5360         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5361         Don't blindly assume 80-bit 'long double'.
5362
5363         isfinite: Fix for platforms where 'long double' == 'double'.
5364         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5365         Don't blindly assume 80-bit 'long double'.
5366
5367         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
5368         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
5369         * modules/isfinite-tests (configure.ac): Require
5370         gl_LONG_DOUBLE_VS_DOUBLE.
5371         * modules/isinf-tests (configure.ac): Likewise.
5372         * modules/isnan-tests (configure.ac): Likewise.
5373         * modules/isnanl-tests (configure.ac): Likewise.
5374         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
5375         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
5376         tests on platforms where 'long double' is the same as 'double'.
5377         * tests/test-isinf.c (test_isinfl): Likewise.
5378         * tests/test-isnan.c (test_long_double): Likewise.
5379         * tests/test-isnanl.h (main): Likewise.
5380
5381 2011-10-08  Bruno Haible  <bruno@clisp.org>
5382
5383         Tests for module 'tanhf'.
5384         * modules/tanhf-tests: New file.
5385         * tests/test-tanhf.c: New file.
5386
5387         New module 'tanhf'.
5388         * lib/math.in.h (tanhf): New declaration.
5389         * lib/tanhf.c: New file.
5390         * m4/tanhf.m4: New file.
5391         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
5392         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
5393         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
5394         * modules/tanhf: New file.
5395         * tests/test-math-c++.cc: Check the declaration of tanhf.
5396         * doc/posix-functions/tanhf.texi: Mention the new module.
5397
5398         tanh: Use a .m4 file.
5399         * m4/tanh.m4: New file.
5400         * modules/tanh (Files): Add it.
5401         (configure.ac): Just invoke gl_FUNC_TANH.
5402
5403 2011-10-08  Bruno Haible  <bruno@clisp.org>
5404
5405         Tests for module 'coshf'.
5406         * modules/coshf-tests: New file.
5407         * tests/test-coshf.c: New file.
5408
5409         New module 'coshf'.
5410         * lib/math.in.h (coshf): New declaration.
5411         * lib/coshf.c: New file.
5412         * m4/coshf.m4: New file.
5413         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
5414         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
5415         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
5416         * modules/coshf: New file.
5417         * tests/test-math-c++.cc: Check the declaration of coshf.
5418         * doc/posix-functions/coshf.texi: Mention the new module.
5419
5420         cosh: Use a .m4 file.
5421         * m4/cosh.m4: New file.
5422         * modules/cosh (Files): Add it.
5423         (configure.ac): Just invoke gl_FUNC_COSH.
5424
5425 2011-10-08  Bruno Haible  <bruno@clisp.org>
5426
5427         Tests for module 'sinhf'.
5428         * modules/sinhf-tests: New file.
5429         * tests/test-sinhf.c: New file.
5430
5431         New module 'sinhf'.
5432         * lib/math.in.h (sinhf): New declaration.
5433         * lib/sinhf.c: New file.
5434         * m4/sinhf.m4: New file.
5435         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
5436         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
5437         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
5438         * modules/sinhf: New file.
5439         * tests/test-math-c++.cc: Check the declaration of sinhf.
5440         * doc/posix-functions/sinhf.texi: Mention the new module.
5441
5442         sinh: Use a .m4 file.
5443         * m4/sinh.m4: New file.
5444         * modules/sinh (Files): Add it.
5445         (configure.ac): Just invoke gl_FUNC_SINH.
5446
5447 2011-10-08  Bruno Haible  <bruno@clisp.org>
5448
5449         Tests for module 'atan2f'.
5450         * modules/atan2f-tests: New file.
5451         * tests/test-atan2f.c: New file.
5452
5453         New module 'atan2f'.
5454         * lib/math.in.h (atan2f): New declaration.
5455         * lib/atan2f.c: New file.
5456         * m4/atan2f.m4: New file.
5457         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
5458         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
5459         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
5460         * modules/atan2f: New file.
5461         * tests/test-math-c++.cc: Check the declaration of atan2f.
5462         * doc/posix-functions/atan2f.texi: Mention the new module.
5463
5464         atan2: Use a .m4 file.
5465         * m4/atan2.m4: New file.
5466         * modules/atan2 (Files): Add it.
5467         (configure.ac): Just invoke gl_FUNC_ATAN2.
5468
5469 2011-10-08  Bruno Haible  <bruno@clisp.org>
5470
5471         Tests for module 'atanf'.
5472         * modules/atanf-tests: New file.
5473         * tests/test-atanf.c: New file.
5474
5475         New module 'atanf'.
5476         * lib/math.in.h (atanf): New declaration.
5477         * lib/atanf.c: New file.
5478         * m4/atanf.m4: New file.
5479         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
5480         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
5481         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
5482         * modules/atanf: New file.
5483         * tests/test-math-c++.cc: Check the declaration of atanf.
5484         * doc/posix-functions/atanf.texi: Mention the new module.
5485
5486         atan: Use a .m4 file.
5487         * m4/atan.m4: New file.
5488         * modules/atan (Files): Add it.
5489         (configure.ac): Just invoke gl_FUNC_ATAN.
5490
5491 2011-10-08  Bruno Haible  <bruno@clisp.org>
5492
5493         Tests for module 'acosf'.
5494         * modules/acosf-tests: New file.
5495         * tests/test-acosf.c: New file.
5496
5497         New module 'acosf'.
5498         * lib/math.in.h (acosf): New declaration.
5499         * lib/acosf.c: New file.
5500         * m4/acosf.m4: New file.
5501         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
5502         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
5503         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
5504         * modules/acosf: New file.
5505         * tests/test-math-c++.cc: Check the declaration of acosf.
5506         * doc/posix-functions/acosf.texi: Mention the new module.
5507
5508         acos: Use a .m4 file.
5509         * m4/acos.m4: New file.
5510         * modules/acos (Files): Add it.
5511         (configure.ac): Just invoke gl_FUNC_ACOS.
5512
5513 2011-10-08  Bruno Haible  <bruno@clisp.org>
5514
5515         Tests for module 'asinf'.
5516         * modules/asinf-tests: New file.
5517         * tests/test-asinf.c: New file.
5518
5519         New module 'asinf'.
5520         * lib/math.in.h (asinf): New declaration.
5521         * lib/asinf.c: New file.
5522         * m4/asinf.m4: New file.
5523         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
5524         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
5525         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
5526         * modules/asinf: New file.
5527         * tests/test-math-c++.cc: Check the declaration of asinf.
5528         * doc/posix-functions/asinf.texi: Mention the new module.
5529
5530         asin: Use a .m4 file.
5531         * m4/asin.m4: New file.
5532         * modules/asin (Files): Add it.
5533         (configure.ac): Just invoke gl_FUNC_ASIN.
5534
5535 2011-10-08  Bruno Haible  <bruno@clisp.org>
5536
5537         Tests for module 'tanf'.
5538         * modules/tanf-tests: New file.
5539         * tests/test-tanf.c: New file.
5540
5541         New module 'tanf'.
5542         * lib/math.in.h (tanf): New declaration.
5543         * lib/tanf.c: New file.
5544         * m4/tanf.m4: New file.
5545         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
5546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
5547         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
5548         * modules/tanf: New file.
5549         * tests/test-math-c++.cc: Check the declaration of tanf.
5550         * doc/posix-functions/tanf.texi: Mention the new module.
5551
5552         tan: Use a .m4 file.
5553         * m4/tan.m4: New file.
5554         * modules/tan (Files): Add it.
5555         (configure.ac): Just invoke gl_FUNC_TAN.
5556
5557 2011-10-08  Bruno Haible  <bruno@clisp.org>
5558
5559         Tests for module 'cosf'.
5560         * modules/cosf-tests: New file.
5561         * tests/test-cosf.c: New file.
5562
5563         New module 'cosf'.
5564         * lib/math.in.h (cosf): New declaration.
5565         * lib/cosf.c: New file.
5566         * m4/cosf.m4: New file.
5567         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
5568         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
5569         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
5570         * modules/cosf: New file.
5571         * tests/test-math-c++.cc: Check the declaration of cosf.
5572         * doc/posix-functions/cosf.texi: Mention the new module.
5573
5574         cos: Use a .m4 file.
5575         * m4/cos.m4: New file.
5576         * modules/cos (Files): Add it.
5577         (configure.ac): Just invoke gl_FUNC_COS.
5578
5579 2011-10-08  Bruno Haible  <bruno@clisp.org>
5580
5581         Tests for module 'sinf'.
5582         * modules/sinf-tests: New file.
5583         * tests/test-sinf.c: New file.
5584
5585         New module 'sinf'.
5586         * lib/math.in.h (sinf): New declaration.
5587         * lib/sinf.c: New file.
5588         * m4/sinf.m4: New file.
5589         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
5590         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
5591         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
5592         * modules/sinf: New file.
5593         * tests/test-math-c++.cc: Check the declaration of sinf.
5594         * doc/posix-functions/sinf.texi: Mention the new module.
5595
5596         sin: Use a .m4 file.
5597         * m4/sin.m4: New file.
5598         * modules/sin (Files): Add it.
5599         (configure.ac): Just invoke gl_FUNC_SIN.
5600
5601 2011-10-08  Bruno Haible  <bruno@clisp.org>
5602
5603         Tests for module 'powf'.
5604         * modules/powf-tests: New file.
5605         * tests/test-powf.c: New file.
5606
5607         New module 'powf'.
5608         * lib/math.in.h (powf): New declaration.
5609         * lib/powf.c: New file.
5610         * m4/powf.m4: New file.
5611         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
5612         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
5613         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
5614         * modules/powf: New file.
5615         * tests/test-math-c++.cc: Check the declaration of powf.
5616         * doc/posix-functions/powf.texi: Mention the new module.
5617
5618         pow: Use a .m4 file.
5619         * m4/pow.m4: New file.
5620         * modules/pow (Files): Add it.
5621         (configure.ac): Just invoke gl_FUNC_POW.
5622
5623 2011-10-08  Bruno Haible  <bruno@clisp.org>
5624
5625         Tests for module 'log10f'.
5626         * modules/log10f-tests: New file.
5627         * tests/test-log10f.c: New file.
5628
5629         New module 'log10f'.
5630         * lib/math.in.h (log10f): New declaration.
5631         * lib/log10f.c: New file.
5632         * m4/log10f.m4: New file.
5633         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
5634         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
5635         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
5636         * modules/log10f: New file.
5637         * tests/test-math-c++.cc: Check the declaration of log10f.
5638         * doc/posix-functions/log10f.texi: Mention the new module.
5639
5640         log10: Use a .m4 file.
5641         * m4/log10.m4: New file.
5642         * modules/log10 (Files): Add it.
5643         (configure.ac): Just invoke gl_FUNC_LOG10.
5644
5645 2011-10-08  Bruno Haible  <bruno@clisp.org>
5646
5647         Tests for module 'logf'.
5648         * modules/logf-tests: New file.
5649         * tests/test-logf.c: New file.
5650
5651         New module 'logf'.
5652         * lib/math.in.h (logf): New declaration.
5653         * lib/logf.c: New file.
5654         * m4/logf.m4: New file.
5655         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
5656         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
5657         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
5658         * modules/logf: New file.
5659         * tests/test-math-c++.cc: Check the declaration of logf.
5660         * doc/posix-functions/logf.texi: Mention the new module.
5661
5662         log: Use a .m4 file.
5663         * m4/log.m4: New file.
5664         * modules/log (Files): Add it.
5665         (configure.ac): Just invoke gl_FUNC_LOG.
5666
5667 2011-10-08  Bruno Haible  <bruno@clisp.org>
5668
5669         Tests for module 'expf'.
5670         * modules/expf-tests: New file.
5671         * tests/test-expf.c: New file.
5672
5673         New module 'expf'.
5674         * lib/math.in.h (expf): New declaration.
5675         * lib/expf.c: New file.
5676         * m4/expf.m4: New file.
5677         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
5678         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
5679         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
5680         * modules/expf: New file.
5681         * tests/test-math-c++.cc: Check the declaration of expf.
5682         * doc/posix-functions/expf.texi: Mention the new module.
5683
5684         exp: Use a .m4 file.
5685         * m4/exp.m4: New file.
5686         * modules/exp (Files): Add it.
5687         (configure.ac): Just invoke gl_FUNC_EXP.
5688
5689 2011-10-08  Bruno Haible  <bruno@clisp.org>
5690
5691         Tests for module 'sqrtf'.
5692         * modules/sqrtf-tests: New file.
5693         * tests/test-sqrtf.c: New file.
5694
5695         New module 'sqrtf'.
5696         * lib/math.in.h (sqrtf): New declaration.
5697         * lib/sqrtf.c: New file.
5698         * m4/sqrtf.m4: New file.
5699         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
5700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
5701         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
5702         * modules/sqrtf: New file.
5703         * tests/test-math-c++.cc: Check the declaration of sqrtf.
5704         * doc/posix-functions/sqrtf.texi: Mention the new module.
5705
5706 2011-10-08  Bruno Haible  <bruno@clisp.org>
5707
5708         Tests: Avoid link failures w.r.t. libintl.
5709         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
5710         $(LIBINTL).
5711         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
5712         $(LIBINTL).
5713         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
5714         against $(LIBINTL).
5715         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
5716         $(LIBINTL).
5717         * modules/openat-tests (Makefile.am): Link test-fchmodat against
5718         $(LIBINTL).
5719         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
5720
5721 2011-10-08  Bruno Haible  <bruno@clisp.org>
5722
5723         pow tests: Defeat compiler optimizations.
5724         * tests/test-pow.c (main): Assign arguments to x and y before use.
5725
5726 2011-10-08  Bruno Haible  <bruno@clisp.org>
5727
5728         gnulib-tool: Improve last commit.
5729         * gnulib-tool (func_modules_transitive_closure): Simplify code.
5730         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
5731         ignore dependencies that are not among the modules list.
5732
5733 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
5734
5735         gnulib-tool: don't follow dependencies to avoided modules
5736         This fixes a bug that is related to the previous one.
5737         * gnulib-tool (func_modules_transitive_closure)
5738         (func_emit_autoconf_snippets):
5739         Check whether a dependency is acceptable before using it.
5740         (--extract-dependencies): Report an error if --avoid is also used,
5741         since this combination of options is not yet supported.
5742
5743         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
5744         Problem reported by Peter Dyballa in
5745         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
5746         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
5747         when echoing "$condition".
5748
5749 2011-10-07  Bruno Haible  <bruno@clisp.org>
5750
5751         Fix documentation about math functions on MacOS X.
5752         * doc/posix-functions/exp2.texi: Don't say the function is missing on
5753         MacOS X 10.5.
5754         * doc/posix-functions/fdim.texi: Likewise.
5755         * doc/posix-functions/feclearexcept.texi: Likewise.
5756         * doc/posix-functions/fegetenv.texi: Likewise.
5757         * doc/posix-functions/fegetround.texi: Likewise.
5758         * doc/posix-functions/feholdexcept.texi: Likewise.
5759         * doc/posix-functions/feraiseexcept.texi: Likewise.
5760         * doc/posix-functions/fesetenv.texi: Likewise.
5761         * doc/posix-functions/fesetround.texi: Likewise.
5762         * doc/posix-functions/fetestexcept.texi: Likewise.
5763         * doc/posix-functions/feupdateenv.texi: Likewise.
5764         * doc/posix-functions/fmax.texi: Likewise.
5765         * doc/posix-functions/fmin.texi: Likewise.
5766         * doc/posix-functions/log2.texi: Likewise.
5767         * doc/posix-functions/modff.texi: Likewise.
5768         * doc/posix-functions/nan.texi: Likewise.
5769         * doc/posix-functions/nanf.texi: Likewise.
5770         * doc/posix-functions/nextafterf.texi: Likewise.
5771         * doc/posix-functions/remquo.texi: Likewise.
5772
5773 2011-10-07  Bruno Haible  <bruno@clisp.org>
5774
5775         modff: Drop assumption about library that defines modff.
5776         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
5777         AC_CHECK_FUNCS.
5778         * modules/modff (Files): Add m4/mathfunc.m4.
5779
5780 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
5781
5782         raise tests: Avoid a GCC warning.
5783         * tests/test-raise.c (handler): Use _Noreturn.
5784
5785 2011-10-07  Bruno Haible  <bruno@clisp.org>
5786
5787         Tests for module 'ldexpf'.
5788         * modules/ldexpf-tests: New file.
5789         * tests/test-ldexpf.c: New file.
5790
5791         New module 'ldexpf'.
5792         * lib/math.in.h (ldexpf): New declaration.
5793         * lib/ldexpf.c: New file.
5794         * m4/ldexpf.m4: New file.
5795         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
5796         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
5797         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
5798         * modules/ldexpf: New file.
5799         * tests/test-math-c++.cc: Check the declaration of ldexpf.
5800         * doc/posix-functions/ldexpf.texi: Mention the new module.
5801
5802 2011-10-06  Bruno Haible  <bruno@clisp.org>
5803
5804         frexpf: Work around problems on IRIX and mingw.
5805         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
5806         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
5807         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
5808         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
5809         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
5810         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
5811         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
5812
5813 2011-10-06  Bruno Haible  <bruno@clisp.org>
5814
5815         fabsf: Drop assumption about library that defines fabsf.
5816         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
5817         AC_CHECK_FUNCS.
5818         * modules/fabsf (Files): Add m4/mathfunc.m4.
5819
5820 2011-10-06  Bruno Haible  <bruno@clisp.org>
5821
5822         frexpf: Drop assumption about library that defines frexpf.
5823         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
5824         'int *', 'float *', 'long double *', 'float', 'long double'.
5825         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
5826         AC_CHECK_FUNCS.
5827         * modules/frexpf (Files): Add m4/mathfunc.m4.
5828
5829         Tests for module 'frexpf'.
5830         * modules/frexpf-tests: New file.
5831         * tests/test-frexpf.c: New file.
5832
5833         New module 'frexpf'.
5834         * lib/math.in.h (frexpf): New declaration.
5835         * lib/frexpf.c: New file.
5836         * m4/frexpf.m4: New file.
5837         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
5838         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
5839         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
5840         * modules/frexpf: New file.
5841         * tests/test-math-c++.cc: Check the declaration of frexpf.
5842         * doc/posix-functions/frexpf.texi: Mention the new module.
5843
5844 2011-10-06  Bruno Haible  <bruno@clisp.org>
5845
5846         math: Sort function declarations of math.in.h.
5847         * lib/math.in.h (frexp, logb): Move declarations.
5848
5849 2011-10-05  Bruno Haible  <bruno@clisp.org>
5850
5851         Tests for module 'modff'.
5852         * modules/modff-tests: New file.
5853         * tests/test-modff.c: New file.
5854
5855         New module 'modff'.
5856         * lib/math.in.h (modff): New declaration.
5857         * lib/modff.c: New file.
5858         * m4/modff.m4: New file.
5859         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
5860         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
5861         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
5862         * modules/modff: New file.
5863         * tests/test-math-c++.cc: Check the declaration of modff.
5864         * doc/posix-functions/modff.texi: Mention the new module.
5865
5866         modf tests: Make test sharper.
5867         * tests/test-modf.c (main): Strengthen upper bound.
5868
5869         modf: Use a .m4 file.
5870         * m4/modf.m4: New file.
5871         * modules/modf (Files): Add it.
5872         (configure.ac): Just invoke gl_FUNC_MODF.
5873
5874 2011-10-05  Bruno Haible  <bruno@clisp.org>
5875
5876         Tests for module 'fmodf'.
5877         * modules/fmodf-tests: New file.
5878         * tests/test-fmodf.c: New file.
5879
5880         New module 'fmodf'.
5881         * lib/math.in.h (fmodf): New declaration.
5882         * lib/fmodf.c: New file.
5883         * m4/fmodf.m4: New file.
5884         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
5885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
5886         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
5887         * modules/fmodf: New file.
5888         * tests/test-math-c++.cc: Check the declaration of fmodf.
5889         * doc/posix-functions/fmodf.texi: Mention the new module.
5890
5891         fmod: Use a .m4 file.
5892         * m4/fmod.m4: New file.
5893         * modules/fmod (Files): Add it.
5894         (configure.ac): Just invoke gl_FUNC_FMOD.
5895
5896 2011-10-05  Bruno Haible  <bruno@clisp.org>
5897
5898         Tests for module 'fabsf'.
5899         * modules/fabsf-tests: New file.
5900         * tests/test-fabsf.c: New file.
5901
5902         New module 'fabsf'.
5903         * lib/math.in.h (fabsf): New declaration.
5904         * lib/fabsf.c: New file.
5905         * m4/fabsf.m4: New file.
5906         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
5907         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
5908         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
5909         * modules/fabsf: New file.
5910         * tests/test-math-c++.cc: Check the declaration of fabsf.
5911         * doc/posix-functions/fabsf.texi: Mention the new module.
5912
5913         fabs: Use a .m4 file.
5914         * m4/fabs.m4: New file.
5915         * modules/fabs (Files): Add it.
5916         (configure.ac): Just invoke gl_FUNC_FABS.
5917
5918 2011-10-05  Jim Meyering  <meyering@redhat.com>
5919
5920         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
5921         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
5922         ls -lL regression introduced in coreutils-8.12, it does so at the
5923         cost of an additional stat call in the common case.  Besides, now
5924         that the kernel change that prompted commit 95f7c57f has been reverted
5925         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
5926         we have no use for commit 95f7c57f, "file-has-acl: use
5927         acl_extended_file_nofollow if available".
5928
5929 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
5930
5931         file-has-acl: revert unintended change in behavior of ls -L
5932         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
5933         derived from...
5934         (file_has_acl): ...code here.  Call it.
5935         This problem was introduced with 2011-07-22 commit 95f7c57f,
5936         "file-has-acl: use acl_extended_file_nofollow if available".
5937         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
5938
5939 2011-10-03  Bruno Haible  <bruno@clisp.org>
5940
5941         poll: Avoid link errors on MSVC.
5942         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
5943         * modules/poll (Depends-on): Add sockets.
5944         (Link): New section.
5945         * NEWS: Mention the change.
5946         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
5947         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
5948         $(LIB_POLL) instead of $(LIBSOCKET).
5949
5950 2011-10-03  Bruno Haible  <bruno@clisp.org>
5951
5952         sys_select tests: Fix link error on MSVC 9.
5953         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
5954         with $(LIB_SELECT) instead of $(LIBSOCKET).
5955
5956 2011-10-03  Bruno Haible  <bruno@clisp.org>
5957
5958         sys_select: Fix compilation error on mingw.
5959         * lib/sys_select.in.h: On native Windows, include <io.h>.
5960
5961 2011-10-03  Bruno Haible  <bruno@clisp.org>
5962
5963         wmemset: Support for MSVC.
5964         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
5965         whether wmemset() exists.
5966
5967 2011-10-03  Bruno Haible  <bruno@clisp.org>
5968
5969         wmemmove: Support for MSVC.
5970         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
5971         whether wmemmove() exists.
5972
5973 2011-10-03  Bruno Haible  <bruno@clisp.org>
5974
5975         wmemcpy: Support for MSVC.
5976         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
5977         whether wmemcpy() exists.
5978
5979 2011-10-03  Bruno Haible  <bruno@clisp.org>
5980
5981         wmemcmp: Support for MSVC.
5982         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
5983         whether wmemcmp() exists.
5984
5985 2011-10-03  Bruno Haible  <bruno@clisp.org>
5986
5987         wmemchr: Support for MSVC.
5988         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
5989         whether wmemchr() exists.
5990
5991 2011-10-03  Bruno Haible  <bruno@clisp.org>
5992
5993         glthread/*, strsignal: Support for MSVC.
5994         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
5995         including <winsock.h> on MSVC 9.
5996         * lib/glthread/lock.h: Likewise.
5997         * lib/glthread/thread.h: Likewise.
5998         * lib/glthread/tls.h: Likewise.
5999         * lib/glthread/yield.h: Likewise.
6000         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6001         if HAVE_UNISTD_H is false.
6002         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6003
6004 2011-10-03  Bruno Haible  <bruno@clisp.org>
6005
6006         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6007         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6008         Set to 100000.
6009
6010 2011-10-03  Bruno Haible  <bruno@clisp.org>
6011
6012         acl: Fix specification.
6013         * lib/file-has-acl.c (file_has_acl): Fix specification.
6014
6015 2011-10-03  Bruno Haible  <bruno@clisp.org>
6016
6017         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6018         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6019         (compute_curr_prefix, shared_library_fullname,
6020         find_shared_library_fullname, get_shared_library_fullname, relocate):
6021         Use it together with PIC && INSTALLDIR.
6022         Reported by <jojelino@gmail.com>
6023         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6024
6025 2011-10-01  Jim Meyering  <meyering@redhat.com>
6026
6027         maint.mk: adjust a release-related rule not to require use of gzip
6028         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6029         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6030         projects that build only .tar.xz files.  Also fix an erroneous test.
6031
6032         test-linkat: don't leave behind a temporary file
6033         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6034         Otherwise, coreutils' "make distcheck" would fail with this:
6035           Only in /c/cu/tests/torture/coreutils/test/\
6036             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6037           make[2]: *** [my-distcheck] Error 1
6038
6039         float, math: add omitted file
6040         * lib/itold.c: Add file, required for yesterday's float change.
6041
6042 2011-10-01  Bruno Haible  <bruno@clisp.org>
6043
6044         isinf: Fix for OpenBSD/x86.
6045         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6046         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6047         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6048
6049 2011-10-01  Bruno Haible  <bruno@clisp.org>
6050
6051         isfinite: Fix syntax error in configure test.
6052         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6053
6054         isfinite: Fix typo.
6055         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6056         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6057
6058 2011-10-01  Bruno Haible  <bruno@clisp.org>
6059
6060         nonblocking tests: Fix test failure on Linux/IA-64.
6061         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6062         Set to 270000.
6063
6064 2011-10-01  Bruno Haible  <bruno@clisp.org>
6065
6066         mkfifoat tests: Fix a test failure on mingw.
6067         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6068         with error ENOSYS.
6069
6070 2011-09-30  Bruno Haible  <bruno@clisp.org>
6071
6072         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6073         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6074         'long double'. Set REPLACE_ITOLD.
6075         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6076         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6077         * lib/itold.c: New file.
6078         * modules/float (Files): Add lib/itold.c.
6079         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6080         (Makefile.am): Substitute REPLACE_ITOLD.
6081         * modules/math (Depends-on): Add float.
6082         (Makefile.am): Substitute REPLACE_ITOLD.
6083         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6084         * doc/posix-headers/math.texi: Likewise.
6085         * doc/posix-functions/logl.texi: Likewise.
6086
6087 2011-09-30  Bruno Haible  <bruno@clisp.org>
6088
6089         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6090         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6091         Set to 140000.
6092
6093 2011-09-30  Bruno Haible  <bruno@clisp.org>
6094
6095         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6096         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6097         invocation, say "right after AC_PROG_CC_STDC", not "right after
6098         AC_PROG_CC".
6099         Reported by Gary V. Vaughan <gary@gnu.org>.
6100
6101 2011-09-30  Bruno Haible  <bruno@clisp.org>
6102
6103         Centralize C99 requirement.
6104         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6105         * modules/stdarg (configure.ac-early): Invoke it instead of
6106         AC_PROG_CC_STDC.
6107         Reported by Gary V. Vaughan and Paul Eggert.
6108
6109 2011-09-29  Bruno Haible  <bruno@clisp.org>
6110
6111         float: Fix LDBL_MAX value on Linux/PowerPC.
6112         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6113         on Linux/PowerPC.
6114         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6115         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6116         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6117         platform.
6118         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6119
6120 2011-09-29  Bruno Haible  <bruno@clisp.org>
6121
6122         doc: Improve doc about gl_EARLY.
6123         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6124         AC_PROG_CC_STDC invocation.
6125         Reported by Gary V. Vaughan <gary@gnu.org>.
6126
6127 2011-09-28  Bruno Haible  <bruno@clisp.org>
6128
6129         fgetc, fputc, fread, fwrite tests: Fix link error.
6130         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6131         on non-MSVC platforms.
6132         * tests/test-fputc.c (main): Likewise.
6133         * tests/test-fread.c (main): Likewise.
6134         * tests/test-fwrite.c (main): Likewise.
6135         Reported by Jim Meyering.
6136
6137 2011-09-27  Bruno Haible  <bruno@clisp.org>
6138
6139         fputc, fwrite tests: Avoid test failure on MSVC.
6140         * tests/test-fgetc.c: Include msvc-inval.h.
6141         (main): Invoke gl_msvc_inval_ensure_handler.
6142         * tests/test-fputc.c: Include msvc-inval.h.
6143         (main): Invoke gl_msvc_inval_ensure_handler.
6144         * tests/test-fread.c: Include msvc-inval.h.
6145         (main): Invoke gl_msvc_inval_ensure_handler.
6146         * tests/test-fwrite.c: Include msvc-inval.h.
6147         (main): Invoke gl_msvc_inval_ensure_handler.
6148         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6149         * modules/fputc-tests (Depends-on): Likewise.
6150         * modules/fread-tests (Depends-on): Likewise.
6151         * modules/fwrite-tests (Depends-on): Likewise.
6152
6153 2011-09-27  Bruno Haible  <bruno@clisp.org>
6154
6155         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
6156         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
6157         (raise): Remove older, duplicated declaration.
6158         (_gl_raise_SIGPIPE): New declaration.
6159         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
6160         (rpl_raise): Remove function.
6161         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
6162         a gnulib-defined SIGPIPE here.
6163         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
6164         'sigprocmask' has detected missing signal-blocking and the module
6165         'sigpipe' is enabled.
6166         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6167
6168 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6169
6170         base64-tests: avoid memory leak
6171         * tests/test-base64.c (main): Plug memory leak.
6172
6173         base32: new module
6174         * modules/base32: New module.
6175         * lib/base32.c: New file.
6176         * lib/base32.h: Likewise.
6177         * m4/base32.m4: Likewise.
6178         * modules/base32-tests: New test.
6179         * tests/test-base32.c: Likewise.
6180         * MODULES.html.sh (Misc): Mention it.
6181
6182 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6183
6184         gnulib: use more-standard license notice wording
6185         * gnulib-tool (func_emit_copyright_notice): When emitting a
6186         license notice into a file, use the standard wording as suggested
6187         by the current information for GNU maintainers, except say "file"
6188         rather than "program".  The new wording gives a license version
6189         number, which addresses an issue raised by Glenn Morris in
6190         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
6191         * m4/onceonly.m4: Use that same wording here, too.
6192
6193         dup2: minor simplification
6194         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
6195         as lib/dup2.c no longer uses 'inline'.
6196
6197 2011-09-25  Bruno Haible  <bruno@clisp.org>
6198
6199         strings: Fix compilation error on MSVC.
6200         * lib/strings.in.h: Include <stddef.h> for size_t.
6201
6202 2011-09-25  Bruno Haible  <bruno@clisp.org>
6203
6204         fflush et al.: Document limitation on MSVC.
6205         * doc/posix-functions/fflush.texi: Document possible crash in handling
6206         mode other than DEFAULT_HANDLING.
6207         * doc/posix-functions/fgetc.texi: Likewise.
6208         * doc/posix-functions/fputc.texi: Likewise.
6209         * doc/posix-functions/fread.texi: Likewise.
6210         * doc/posix-functions/fwrite.texi: Likewise.
6211
6212 2011-09-25  Bruno Haible  <bruno@clisp.org>
6213
6214         msvc-inval: Allow three invalid parameter handling modes.
6215         * lib/msvc-inval.h: Don't include <stdlib.h> here.
6216         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
6217         macros.
6218         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
6219         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
6220         SANE_LIBRARY_HANDLING as a no-op.
6221         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
6222         <stdlib.h>.
6223         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
6224
6225 2011-09-25  Bruno Haible  <bruno@clisp.org>
6226
6227         msvc-inval: Make handler multithread-safe.
6228         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
6229         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
6230         declarations.
6231         (gl_msvc_inval_current): New declaration.
6232         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6233         Operate on the structure returned by gl_msvc_inval_current().
6234         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
6235         Remove varaiables.
6236         (tls_index, tls_initialized): New variables.
6237         (not_per_thread): New variable.
6238         (gl_msvc_inval_current): New function.
6239         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
6240         returned by gl_msvc_inval_current().
6241
6242 2011-09-25  Bruno Haible  <bruno@clisp.org>
6243
6244         msvc-inval: Install handler globally.
6245         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
6246         !_MSC_VER.
6247         (gl_msvc_invalid_parameter_handler): Remove declaration.
6248         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
6249         declarations.
6250         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6251         Install the handler globally, don't uninstall it.
6252         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
6253         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
6254         currently valid, call RaiseException instead.
6255         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
6256         for !_MSC_VER.
6257
6258 2011-09-25  Bruno Haible  <bruno@clisp.org>
6259
6260         strerror_r-posix: Fix for MSVC 9.
6261         * lib/strerror_r.c (local_snprintf): New function.
6262         (snprintf): Define to local_snprintf, not to _snprintf.
6263
6264 2011-09-25  Bruno Haible  <bruno@clisp.org>
6265
6266         ftruncate: Support for MSVC 9.
6267         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
6268         (chsize_nothrow): New function.
6269         (chsize): Redefine as a macro.
6270         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
6271         * modules/ftruncate (Depends-on): Add msvc-inval.
6272
6273 2011-09-25  Bruno Haible  <bruno@clisp.org>
6274
6275         New module 'fstat'.
6276         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
6277         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
6278         * lib/fchdir.c (rpl_fstat): Remove function.
6279         * m4/fstat.m4: New file.
6280         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
6281         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
6282         declared.
6283         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
6284         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
6285         * modules/fstat: New file.
6286         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
6287         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
6288         is set.
6289         * doc/posix-functions/fstat.texi: Mention the new module and the
6290         problem on MSVC.
6291         * NEWS: Mention the change.
6292         * modules/acl (Depends-on): Add fstat.
6293         * modules/chdir-safer (Depends-on): Likewise.
6294         * modules/chown (Depends-on): Likewise.
6295         * modules/copy-file (Depends-on): Likewise.
6296         * modules/fchdir (Depends-on): Likewise.
6297         * modules/fdopendir (Depends-on): Likewise.
6298         * modules/fopen (Depends-on): Likewise.
6299         * modules/fts (Depends-on): Likewise.
6300         * modules/getcwd (Depends-on): Likewise.
6301         * modules/isapipe (Depends-on): Likewise.
6302         * modules/linkat (Depends-on): Likewise.
6303         * modules/lseek (Depends-on): Likewise.
6304         * modules/mkdir-p (Depends-on): Likewise.
6305         * modules/open (Depends-on): Likewise.
6306         * modules/openat (Depends-on): Likewise.
6307         * modules/read-file (Depends-on): Likewise.
6308         * modules/renameat (Depends-on): Likewise.
6309         * modules/utimens (Depends-on): Likewise.
6310
6311 2011-09-25  Bruno Haible  <bruno@clisp.org>
6312
6313         linkat: Fix compilation on MSVC 9.
6314         * lib/linkat.c: Don't include <stdint.h>.
6315
6316 2011-09-25  Bruno Haible  <bruno@clisp.org>
6317
6318         fclose: Support for MSVC 9.
6319         * lib/fclose.c: Include msvc-inval.h.
6320         (fclose_nothrow): New function.
6321         (rpl_fclose): Use it.
6322         * modules/fclose (Depends-on): Add msvc-inval.
6323         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
6324
6325 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
6326
6327         dup2: minor simplifications
6328         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
6329         that it's a performance win.
6330         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
6331         ! defined __CYGWIN__)" to "ifdef F_GETFL".
6332
6333 2011-09-24  Jim Meyering  <meyering@redhat.com>
6334
6335         test-futimens: avoid a warning from gcc -Wshadow
6336         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
6337         to avoid a shadowing warning.
6338
6339 2011-09-24  Bruno Haible  <bruno@clisp.org>
6340
6341         fdopen: Support for MSVC 9.
6342         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
6343         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
6344         * lib/fdopen.c: Include msvc-inval.h.
6345         (fdopen_nothrow): New function.
6346         (rpl_fdopen): Use it.
6347         * modules/fdopen (Depends-on): Add msvc-inval.
6348         * modules/fclose-tests (Depends-on): Add fdopen.
6349         * modules/fflush-tests (Depends-on): Likewise.
6350         * modules/fgetc-tests (Depends-on): Likewise.
6351         * modules/fputc-tests (Depends-on): Likewise.
6352         * modules/fread-tests (Depends-on): Likewise.
6353         * modules/freopen-tests (Depends-on): Likewise.
6354         * modules/fseeko-tests (Depends-on): Likewise.
6355         * modules/ftello-tests (Depends-on): Likewise.
6356         * modules/fwrite-tests  (Depends-on): Likewise.
6357         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
6358
6359 2011-09-24  Bruno Haible  <bruno@clisp.org>
6360
6361         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
6362         * modules/fgetc-tests (Depends-on): Add unistd.
6363         * modules/fputc-tests (Depends-on): Likewise.
6364         * modules/fread-tests (Depends-on): Likewise.
6365         * modules/fwrite-tests (Depends-on): Likewise.
6366
6367 2011-09-24  Bruno Haible  <bruno@clisp.org>
6368
6369         dup: Simplify autoconf test.
6370         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
6371         on gl_MSVC_INVAL's result.
6372
6373 2011-09-24  Bruno Haible  <bruno@clisp.org>
6374
6375         Tests for function fwrite().
6376         * modules/fwrite-tests: New file.
6377         * tests/test-fwrite.c: New file.
6378         * modules/stdio-tests (Depends-on): Add fwrite-tests.
6379
6380         Tests for function fread().
6381         * modules/fread-tests: New file.
6382         * tests/test-fread.c: New file.
6383         * modules/stdio-tests (Depends-on): Add fread-tests.
6384
6385         Activate fputc tests.
6386         * modules/stdio-tests (Depends-on): Add fputc-tests.
6387
6388         Enhance fgetc, fputc tests.
6389         * tests/test-fgetc.c (main): Also test the stream's error indicator.
6390         * tests/test-fputc.c (main): Likewise.
6391
6392 2011-09-24  Bruno Haible  <bruno@clisp.org>
6393
6394         write: Support for MSVC 9.
6395         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6396         is not 1.
6397         * lib/write.c (write_nothrow): New function.
6398         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
6399         not 1. Use write_nothrow.
6400         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
6401         invalid parameter handler.
6402         (gl_PREREQ_WRITE): New macro.
6403         * modules/write (Depends-on): Add msvc-inval.
6404         (configure.ac): Invoke gl_PREREQ_WRITE.
6405         * doc/posix-functions/write.texi: Mention the problem on MSVC.
6406
6407 2011-09-24  Bruno Haible  <bruno@clisp.org>
6408
6409         read: Fix last commit.
6410         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
6411
6412 2011-09-24  Bruno Haible  <bruno@clisp.org>
6413
6414         dup2: Fix last commit.
6415         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
6416         (rpl_dup2): Disable fcntl workaround on native Windows.
6417
6418         sigprocmask: Make code safer.
6419         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
6420         section that changes macro definitions for this compilation unit.
6421
6422 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
6423
6424         dup2: clarify by coalescing Windows-specific material
6425         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
6426         "msvc-nothrow.h"' to the Windows-specific section, so that the
6427         Emacs source need not contain these include files.
6428         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
6429         Windows-specific fixes into this function rather than just the
6430         nothrow fix, as this shortens and clarifies the code.  Always
6431         define as a function, as that's a bit cleaner than having it be
6432         sometimes a function and sometimes a macro.
6433         (rpl_dup2): Move the Windows-specific stuff out of here and into
6434         ms_windows_dup2.  Don't protect the Haiku-related fix with
6435         "#if !defined __linux__", as the same code also works around
6436         a Linux kernel bug, and it doesn't add any system calls on any
6437         platform.  Add comment about FreeBSD 6.1.
6438
6439         sigprocmask: move #include directive
6440         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
6441         Windows-specific section, so that the Emacs source need not
6442         contain msvc-inval.h.
6443
6444 2011-09-23  Bruno Haible  <bruno@clisp.org>
6445
6446         read: Support for MSVC 9.
6447         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6448         is not 1.
6449         * lib/read.c (read_nothrow): New function.
6450         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
6451         read_nothrow.
6452         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
6453         invalid parameter handler.
6454         (gl_PREREQ_READ): New macro.
6455         * modules/read (Depends-on): Add msvc-inval.
6456         (configure.ac): Invoke gl_PREREQ_READ.
6457         * doc/posix-functions/read.texi: Mention the problem on MSVC.
6458
6459 2011-09-23  Bruno Haible  <bruno@clisp.org>
6460
6461         close: Support for MSVC 9.
6462         * lib/close.c: Include <errno.h>, msvc-inval.h.
6463         (close_nothrow): New function.
6464         (rpl_close): Use it.
6465         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
6466         invalid parameter handler.
6467         * modules/close (Depends-on): Add msvc-inval.
6468         * modules/dup2-tests (Depends-on): Add close.
6469         * modules/dup3-tests (Depends-on): Likewise.
6470         * modules/fcntl-tests (Depends-on): Likewise.
6471         * modules/spawn-pipe-tests (Depends-on): Likewise.
6472         * modules/unistd-safer-tests (Depends-on): Likewise.
6473         * doc/posix-functions/close.texi: Mention the problem on MSVC.
6474
6475 2011-09-23  Bruno Haible  <bruno@clisp.org>
6476
6477         New module 'dup'.
6478         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
6479         Allow replacement.
6480         * lib/dup.c: New file.
6481         * lib/fchdir.c (rpl_dup): Remove function.
6482         * m4/dup.m4: New file.
6483         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
6484         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
6485         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
6486         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
6487         * modules/dup: New file.
6488         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
6489         'dup' module is in use.
6490         * modules/fdopendir (Depends-on): Add dup.
6491         * modules/fdutimensat-tests (Depends-on): Likewise.
6492         * modules/fts (Depends-on): Likewise.
6493         * modules/futimens-tests (Depends-on): Likewise.
6494         * modules/posix_spawnp-tests (Depends-on): Likewise.
6495         * modules/unistd-safer-tests (Depends-on): Likewise.
6496         * modules/utimens-tests (Depends-on): Likewise.
6497         * doc/posix-functions/dup.texi: Mention the new module and the problem
6498         on MSVC.
6499
6500 2011-09-23  Bruno Haible  <bruno@clisp.org>
6501
6502         getdtablesize: Support for MSVC 9.
6503         * lib/getdtablesize.c: Include msvc-inval.h.
6504         (_setmaxstdio_nothrow): New function.
6505         (_setmaxstdio): Redefine it.
6506         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
6507         * modules/getdtablesize (Depends-on): Add msvc-inval.
6508         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
6509
6510 2011-09-23  Bruno Haible  <bruno@clisp.org>
6511
6512         signal-h: Rename from signal.
6513         * modules/signal-h: Renamed from modules/signal.
6514         * modules/pthread_sigmask (Depends-on): Update.
6515         * modules/raise (Depends-on): Likewise.
6516         * modules/sigaction (Depends-on): Likewise.
6517         * modules/sigpipe (Depends-on): Likewise.
6518         * modules/sigprocmask (Depends-on): Likewise.
6519         * modules/sys_select (Depends-on): Likewise.
6520         * modules/signal-h-tests: Renamed from modules/signal-tests.
6521         (Files, Depends-on, Makefile.am): Update.
6522         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
6523         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
6524         (Files, Makefile.am): Update.
6525         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
6526         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
6527         * modules/signal: New placeholder file.
6528         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
6529         * doc/posix-headers/signal.texi: Update.
6530         * NEWS: Mention the change.
6531
6532 2011-09-23  Bruno Haible  <bruno@clisp.org>
6533
6534         sigprocmask: Avoid crashes through signal() on MSVC 9.
6535         * lib/sigprocmask.c: Include msvc-inval.h.
6536         (signal_nothrow): New function.
6537         (signal): Redefine it.
6538         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
6539         * modules/sigprocmask (Depends-on): Add msvc-inval.
6540         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
6541
6542 2011-09-23  Bruno Haible  <bruno@clisp.org>
6543
6544         Tests for module 'raise'.
6545         * modules/raise-tests: New file.
6546         * tests/test-raise.c: New file.
6547
6548         raise: Support for MSVC.
6549         * lib/signal.in.h (raise): New declaration.
6550         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
6551         for native Windows platforms.
6552         * m4/raise.m4: New file.
6553         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
6554         HAVE_RAISE, REPLACE_RAISE.
6555         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
6556         REPLACE_RAISE.
6557         * modules/raise (Status, Notice): Remove fields.
6558         (Files): Add m4/raise.m4.
6559         (Depends-on): Add signal, msvc-inval.
6560         (configure.ac): Use the common idioms.
6561         (Maintainer): Add me.
6562         * tests/test-signal-c++.cc: Check the signature of raise.
6563         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
6564
6565 2011-09-23  Bruno Haible  <bruno@clisp.org>
6566
6567         pipe2: Fix compilation on pre-C99 compilers.
6568         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
6569
6570 2011-09-23  Bruno Haible  <bruno@clisp.org>
6571
6572         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
6573         * lib/msvc-nothrow.h: New file.
6574         * lib/msvc-nothrow.c: New file.
6575         * m4/msvc-nothrow.m4: New file.
6576         * modules/msvc-nothrow: New file.
6577         * lib/dup2.c: Include msvc-nothrow.h.
6578         (rpl_dup2): No need to protect _get_osfhandle call here.
6579         * lib/accept4.c: Include msvc-nothrow.h.
6580         * lib/error.c: Likewise.
6581         * lib/fcntl.c: Likewise.
6582         * lib/lseek.c: Likewise.
6583         * lib/nonblocking.c: Likewise.
6584         * lib/poll.c: Likewise.
6585         * lib/read.c: Likewise.
6586         * lib/select.c: Likewise.
6587         * lib/sockets.h: Likewise.
6588         * lib/sockets.c: Likewise.
6589         * lib/stdio-read.c: Likewise.
6590         * lib/stdio-write.c: Likewise.
6591         * lib/write.c: Likewise.
6592         * lib/w32sock.h: Likewise.
6593         * lib/w32spawn.h: Likewise.
6594         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
6595         * lib/fsync.c: Likewise.
6596         * lib/isapipe.c: Likewise.
6597         * modules/dup2 (Depends-on): Add msvc-nothrow.
6598         * modules/accept4 (Depends-on): Likewise.
6599         * modules/error (Depends-on): Likewise.
6600         * modules/fcntl (Depends-on): Likewise.
6601         * modules/lseek (Depends-on): Likewise.
6602         * modules/nonblocking (Depends-on): Likewise.
6603         * modules/poll (Depends-on): Likewise.
6604         * modules/read (Depends-on): Likewise.
6605         * modules/select (Depends-on): Likewise.
6606         * modules/sockets (Depends-on): Likewise.
6607         * modules/sigpipe (Depends-on): Likewise.
6608         * modules/write (Depends-on): Likewise.
6609         * modules/accept (Depends-on): Likewise.
6610         * modules/bind (Depends-on): Likewise.
6611         * modules/connect (Depends-on): Likewise.
6612         * modules/gethostname (Depends-on): Likewise.
6613         * modules/getpeername (Depends-on): Likewise.
6614         * modules/getsockname (Depends-on): Likewise.
6615         * modules/getsockopt (Depends-on): Likewise.
6616         * modules/ioctl (Depends-on): Likewise.
6617         * modules/listen (Depends-on): Likewise.
6618         * modules/recv (Depends-on): Likewise.
6619         * modules/recvfrom (Depends-on): Likewise.
6620         * modules/send (Depends-on): Likewise.
6621         * modules/sendto (Depends-on): Likewise.
6622         * modules/setsockopt (Depends-on): Likewise.
6623         * modules/shutdown (Depends-on): Likewise.
6624         * modules/socket (Depends-on): Likewise.
6625         * modules/execute (Depends-on): Likewise.
6626         * modules/spawn-pipe (Depends-on): Likewise.
6627         * modules/flock (Depends-on): Likewise.
6628         * modules/fsync (Depends-on): Likewise.
6629         * modules/isapipe (Depends-on): Likewise.
6630         * tests/test-cloexec.c: Include msvc-nothrow.h.
6631         * tests/test-dup-safer.c: Likewise.
6632         * tests/test-dup2.c: Likewise.
6633         * tests/test-dup3.c: Likewise.
6634         * tests/test-fcntl.c: Likewise.
6635         * tests/test-pipe.c: Likewise.
6636         * tests/test-pipe2.c: Likewise.
6637         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
6638         * modules/unistd-safer-tests (Depends-on): Likewise.
6639         * modules/dup2-tests (Depends-on): Likewise.
6640         * modules/dup3-tests (Depends-on): Likewise.
6641         * modules/fcntl-tests (Depends-on): Likewise.
6642         * modules/pipe-posix-tests (Depends-on): Likewise.
6643         * modules/pipe2-tests (Depends-on): Likewise.
6644
6645 2011-09-23  Bruno Haible  <bruno@clisp.org>
6646
6647         dup2: Make code more maintainable.
6648         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
6649         (rpl_dup2): Use it.
6650         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
6651         * modules/dup2 (configure.ac): Invoke it.
6652         Reported by Paul Eggert.
6653
6654 2011-09-23  Bruno Haible  <bruno@clisp.org>
6655
6656         msvc-inval: Fix compilation error.
6657         * lib/msvc-inval.h: Include <excpt.h>.
6658
6659 2011-09-23  Bruno Haible  <bruno@clisp.org>
6660
6661         mkdir: Tweak for MSVC 9.
6662         * lib/sys_stat.in.h: Update comments.
6663         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
6664
6665         Tests for module 'chdir'.
6666         * modules/chdir-tests: New file.
6667         * tests/test-chdir.c: New file.
6668
6669         New module 'chdir'.
6670         * modules/chdir: New file.
6671         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
6672         (chdir): New declaration.
6673         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
6674         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
6675         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
6676         * tests/test-unistd-c++.cc: Check signature of chdir.
6677         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
6678         * modules/chdir-long (Depends-on): Add chdir.
6679         * modules/fchdir (Depends-on): Likewise.
6680         * modules/rename (Depends-on): Likewise.
6681         * modules/savewd (Depends-on): Likewise.
6682
6683         rmdir: Support for mingw, MSVC 9.
6684         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
6685         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
6686
6687         getcwd: Tweak for MSVC 9.
6688         * lib/unistd.in.h: Update comments.
6689         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
6690
6691 2011-09-22  Bruno Haible  <bruno@clisp.org>
6692
6693         strerror_r-posix: Avoid a link error on MSVC.
6694         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
6695         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
6696
6697 2011-09-22  Bruno Haible  <bruno@clisp.org>
6698
6699         select: Avoid link errors on MSVC.
6700         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
6701         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
6702         * modules/pselect (Link): Likewise.
6703         * NEWS: Mention the change.
6704         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
6705         test-select-stdin against $(LIB_SELECT).
6706         * modules/pselect-tests (Makefile.am): Link test-pselect against
6707         $(LIB_SELECT).
6708
6709 2011-09-22  Bruno Haible  <bruno@clisp.org>
6710
6711         select: Avoid compilation error on MSVC.
6712         * lib/select.c: Don't include <stdbool.h>.
6713
6714 2011-09-21  Bruno Haible  <bruno@clisp.org>
6715
6716         Consolidate all uses of PATH_MAX in *.m4 files.
6717         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
6718         macros.
6719         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
6720         and gl_PATHMAX_SNIPPET.
6721         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6722         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6723         * modules/chdir-long (Files): Add m4/pathmax.m4.
6724         * modules/getcwd (Files): Likewise.
6725
6726 2011-09-21  Bruno Haible  <bruno@clisp.org>
6727
6728         ftruncate: Un-deprecate, concentrate on Win32 support.
6729         * modules/ftruncate (Status, Notice): Remove sections.
6730         (Depends-on): Add largefile.
6731         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
6732         non-mingw platforms.
6733         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
6734         include <io.h>.
6735         * modules/perror-tests (Depends-on): Add ftruncate.
6736         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
6737         'ftruncate' module.
6738
6739 2011-09-21  Bruno Haible  <bruno@clisp.org>
6740
6741         Add dependencies to new dirent related modules.
6742         * modules/opendir (Depends-on): Add closedir.
6743         * modules/getcwd (Depends-on): Add opendir, closedir.
6744         * modules/dirent-safer-tests (Depends-on): Likewise.
6745         * modules/fdopendir-tests (Depends-on): Likewise.
6746         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
6747         * modules/renameat-tests (Depends-on): Likewise.
6748
6749 2011-09-21  Bruno Haible  <bruno@clisp.org>
6750
6751         opendir: Avoid compilation error on mingw.
6752         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
6753         * modules/opendir (Depends-on): Add unistd.
6754
6755 2011-09-21  Bruno Haible  <bruno@clisp.org>
6756
6757         ftruncate tests: Avoid a test failure on mingw.
6758         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
6759
6760 2011-09-21  Bruno Haible  <bruno@clisp.org>
6761
6762         select tests: Avoid test failures on OSF/1 5.1 and mingw.
6763         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
6764         native Windows.
6765
6766 2011-09-21  Bruno Haible  <bruno@clisp.org>
6767
6768         New module 'fdopen'.
6769         * lib/stdio.in.h (fdopen): New declaration.
6770         * lib/fdopen.c: New file.
6771         * m4/fdopen.m4: New file.
6772         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
6773         REPLACE_FDOPEN.
6774         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
6775         REPLACE_FDOPEN.
6776         * modules/fdopen: New file.
6777         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
6778         * tests/test-stdio-c++.cc: Check signature of fdopen.
6779         * doc/posix-functions/fdopen.texi: Mention the new module.
6780
6781 2011-09-21  Bruno Haible  <bruno@clisp.org>
6782
6783         unlockpt tests: Avoid test failure on NetBSD 5.1.
6784         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
6785         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
6786
6787 2011-09-21  Bruno Haible  <bruno@clisp.org>
6788
6789         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
6790         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
6791         * tests/test-getlogin_r.c (main): Likewise.
6792
6793 2011-09-20  Bruno Haible  <bruno@clisp.org>
6794
6795         time tests: Don't require pid_t.
6796         * doc/posix-headers/time.texi: Revert last change.
6797         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
6798         * tests/test-time.c: Comment out the check for pid_t.
6799
6800 2011-09-20  Bruno Haible  <bruno@clisp.org>
6801
6802         fsync tests: Avoid a test failure on mingw.
6803         * tests/test-fsync.c (main): Allow a failure with EIO.
6804
6805 2011-09-20  Bruno Haible  <bruno@clisp.org>
6806
6807         euidaccess: Update comments.
6808         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
6809
6810 2011-09-20  Bruno Haible  <bruno@clisp.org>
6811
6812         Ensure EBADF returns for socket functions on mingw.
6813         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
6814         descriptor is invalid.
6815         * lib/bind.c (rpl_bind): Likewise.
6816         * lib/connect.c (rpl_connect): Likewise.
6817         * lib/getpeername.c (rpl_getpeername): Likewise.
6818         * lib/getsockname.c (rpl_getsockname): Likewise.
6819         * lib/getsockopt.c (rpl_getsockopt): Likewise.
6820         * lib/listen.c (rpl_listen): Likewise.
6821         * lib/recv.c (rpl_recv): Likewise.
6822         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6823         * lib/send.c (rpl_send): Likewise.
6824         * lib/sendto.c (rpl_sendto): Likewise.
6825         * lib/setsockopt.c (rpl_setsockopt): Likewise.
6826         * lib/shutdown.c (rpl_shutdown): Likewise.
6827
6828 2011-09-20  Bruno Haible  <bruno@clisp.org>
6829
6830         select tests: EBADF tests.
6831         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
6832         test_bad_fd): New functions.
6833         (test_function): Invoke also test_bad_fd.
6834
6835 2011-09-20  Bruno Haible  <bruno@clisp.org>
6836
6837         Tests for module 'posix_spawn_file_actions_addopen.
6838         * modules/posix_spawn_file_actions_addopen-tests: New file.
6839         * tests/test-posix_spawn_file_actions_addopen.c: New file.
6840
6841         Tests for module 'posix_spawn_file_actions_adddup2'.
6842         * modules/posix_spawn_file_actions_adddup2-tests: New file.
6843         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
6844
6845         Tests for module 'posix_spawn_file_actions_addclose'.
6846         * modules/posix_spawn_file_actions_addclose-tests: New file.
6847         * tests/test-posix_spawn_file_actions_addclose.c: New file.
6848
6849 2011-09-20  Bruno Haible  <bruno@clisp.org>
6850
6851         Tests for module 'unlockpt'.
6852         * modules/unlockpt-tests: New file.
6853         * tests/test-unlockpt.c: New file.
6854         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
6855
6856         Tests for module 'grantpt'.
6857         * modules/grantpt-tests: New file.
6858         * tests/test-grantpt.c: New file.
6859         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
6860
6861 2011-09-20  Bruno Haible  <bruno@clisp.org>
6862
6863         freopen tests: EBADF tests.
6864         * tests/test-freopen.c: Include errno.h, unistd.h.
6865         (main): Add tests for EBADF, commented out for the moment.
6866
6867         fclose tests: EBADF tests.
6868         * tests/test-fclose.c (main): Add tests for EBADF.
6869
6870         fflush tests: EBADF tests.
6871         * tests/test-fflush.c: Include errno.h, macros.h.
6872         (main): Add tests for EBADF.
6873
6874         ftello tests: EBADF tests.
6875         * tests/test-ftello4.sh: New file.
6876         * tests/test-ftello4.c: New file.
6877         * modules/ftello-tests (Files): Add them.
6878         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
6879
6880         fseeko tests: EBADF tests.
6881         * tests/test-fseeko4.sh: New file.
6882         * tests/test-fseeko4.c: New file.
6883         * modules/fseeko-tests (Files): Add them.
6884         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
6885
6886         Tests for function fputc().
6887         * modules/fputc-tests: New file.
6888         * tests/test-fputc.c: New file.
6889         * modules/stdio-tests (Depends-on): Add fputc-tests.
6890
6891         Tests for function fgetc().
6892         * modules/fgetc-tests: New file.
6893         * tests/test-fgetc.c: New file.
6894         * modules/stdio-tests (Depends-on): Add fgetc-tests.
6895
6896         Tests for function fdopen().
6897         * modules/fdopen-tests: New file.
6898         * tests/test-fdopen.c: New file.
6899         * modules/stdio-tests (Depends-on): Add fdopen-tests.
6900
6901         Tests for module 'vdprintf'.
6902         * modules/vdprintf-tests: New file.
6903         * tests/test-vdprintf.c: New file.
6904
6905         Tests for module 'dprintf'.
6906         * modules/dprintf-tests: New file.
6907         * tests/test-dprintf.c: New file.
6908
6909 2011-09-20  Bruno Haible  <bruno@clisp.org>
6910
6911         Tests for module 'ioctl'.
6912         * modules/ioctl-tests: New file.
6913         * tests/test-ioctl.c: New file.
6914
6915 2011-09-20  Bruno Haible  <bruno@clisp.org>
6916
6917         fcntl tests: EBADF tests.
6918         * tests/test-fcntl.c (main): Add more tests for EBADF.
6919
6920 2011-09-20  Bruno Haible  <bruno@clisp.org>
6921
6922         utimensat tests: EBADF tests.
6923         * tests/test-utimensat.c (main): Add tests for EBADF.
6924
6925         renameat tests: EBADF tests.
6926         * tests/test-renameat.c (main): Add tests for EBADF.
6927
6928         mkfifoat tests: EBADF tests.
6929         * tests/test-mkfifoat.c (main): Add tests for EBADF.
6930
6931         readlinkat tests: EBADF tests.
6932         * tests/test-readlinkat.c (main): Add tests for EBADF.
6933
6934         symlinkat tests: EBADF tests.
6935         * tests/test-symlinkat.c (main): Add tests for EBADF.
6936
6937         linkat tests: EBADF tests.
6938         * tests/test-linkat.c (main): Add tests for EBADF.
6939
6940         Tests for module 'faccessat'.
6941         * modules/faccessat-tests: New file.
6942         * tests/test-faccessat.c: New file.
6943
6944         fdopendir tests: EBADF tests.
6945         * tests/test-fdopendir.c (main): Add more tests for EBADF.
6946
6947         openat tests: EBADF tests.
6948         * tests/test-fchownat.c (main): Add tests for EBADF.
6949         * tests/test-fstatat.c (main): Likewise.
6950         * tests/test-mkdirat.c (main): Likewise.
6951         * tests/test-openat.c (main): Likewise.
6952         * tests/test-unlinkat.c (main): Likewise.
6953         * tests/test-fchmodat.c: New file.
6954         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
6955         (Makefile.am): Also run 'test-fchmodat'.
6956
6957 2011-09-20  Bruno Haible  <bruno@clisp.org>
6958
6959         utimens, futimens, fdutimensat tests: EBADF tests.
6960         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
6961
6962         Tests for function fstat().
6963         * modules/fstat-tests: New file.
6964         * tests/test-fstat.c: New file.
6965         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
6966
6967 2011-09-20  Bruno Haible  <bruno@clisp.org>
6968
6969         test-ttyname_r tests: EBADF tests.
6970         * tests/test-ttyname_r.c (main): Add tests for EBADF.
6971
6972         Tests for module 'isatty'.
6973         * modules/isatty-tests: New file.
6974         * tests/test-isatty.c: New file.
6975
6976         Tests for module 'write'.
6977         * modules/write-tests: New file.
6978         * tests/test-write.c: New file.
6979
6980         Tests for module 'read'.
6981         * modules/read-tests: New file.
6982         * tests/test-read.c: New file.
6983
6984         pwrite tests: EBADF tests.
6985         * tests/test-pwrite.c (main): Add tests for EBADF.
6986
6987         pread tests: EBADF tests.
6988         * tests/test-pread.c (main): Add tests for EBADF.
6989
6990         lseek tests: EBADF tests.
6991         * tests/test-lseek.c (main): Add more tests for EBADF.
6992
6993         Tests for module 'ftruncate'.
6994         * modules/ftruncate-tests: New file.
6995         * tests/test-ftruncate.sh: New file.
6996         * tests/test-ftruncate.c: New file.
6997
6998         fsync tests: EBADF tests.
6999         * tests/test-fsync.c (main): Add more tests for EBADF.
7000
7001         fdatasync tests: EBADF tests.
7002         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7003
7004         Tests for module 'fchown'.
7005         * modules/fchown-tests: New file.
7006         * tests/test-fchown.c: New file.
7007
7008         Tests for module 'fchmod'.
7009         * modules/fchmod-tests: New file.
7010         * tests/test-fchmod.c: New file.
7011
7012         fchdir tests: EBADF tests.
7013         * tests/test-fchdir.c (main): Add more tests for EBADF.
7014
7015         dup2 tests: EBADF tests.
7016         * tests/test-dup2.c (main): Add more tests for EBADF.
7017
7018         Tests for module 'dup'.
7019         * modules/dup-tests: New file.
7020         * tests/test-dup.c: New file.
7021
7022         Tests for module 'close'.
7023         * modules/close-tests: New file.
7024         * tests/test-close.c: New file.
7025
7026 2011-09-20  Bruno Haible  <bruno@clisp.org>
7027
7028         Tests for module 'shutdown'.
7029         * modules/shutdown-tests: New file.
7030         * tests/test-shutdown.c: New file.
7031
7032         Tests for module 'setsockopt'.
7033         * modules/setsockopt-tests: New file.
7034         * tests/test-setsockopt.c: New file.
7035
7036         Tests for module 'sendto'.
7037         * modules/sendto-tests: New file.
7038         * tests/test-sendto.c: New file.
7039
7040         Tests for module 'send'.
7041         * modules/send-tests: New file.
7042         * tests/test-send.c: New file.
7043
7044         Tests for module 'recvfrom'.
7045         * modules/recvfrom-tests: New file.
7046         * tests/test-recvfrom.c: New file.
7047
7048         Tests for module 'recv'.
7049         * modules/recv-tests: New file.
7050         * tests/test-recv.c: New file.
7051
7052         Tests for module 'listen'.
7053         * modules/listen-tests: New file.
7054         * tests/test-listen.c: New file.
7055
7056         Tests for module 'getsockopt'.
7057         * modules/getsockopt-tests: New file.
7058         * tests/test-getsockopt.c: New file.
7059
7060         Tests for module 'getsockname'.
7061         * modules/getsockname-tests: New file.
7062         * tests/test-getsockname.c: New file.
7063
7064         Tests for module 'getpeername'.
7065         * modules/getpeername-tests: New file.
7066         * tests/test-getpeername.c: New file.
7067
7068         Tests for module 'connect'.
7069         * modules/connect-tests: New file.
7070         * tests/test-connect.c: New file.
7071
7072         Tests for module 'bind'.
7073         * modules/bind-tests: New file.
7074         * tests/test-bind.c: New file.
7075
7076         accept4 tests: Fix for native Windows.
7077         * tests/test-accept4.c: Include sockets.h.
7078         (main): Invoke gl_sockets_startup.
7079         * modules/accept4-tests (Depends-on): Add sockets.
7080
7081         accept tests: Fix for native Windows.
7082         * tests/test-accept.c: Include sockets.h.
7083         (main): Invoke gl_sockets_startup.
7084         * modules/accept-tests (Depends-on): Add sockets.
7085
7086 2011-09-19  Bruno Haible  <bruno@clisp.org>
7087
7088         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7089         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7090         do...while(0).
7091         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7092         Suggested by Paul Eggert.
7093
7094 2011-09-19  Bruno Haible  <bruno@clisp.org>
7095
7096         sched: Ensure pid_t is defined.
7097         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7098         not define pid_t.
7099         * lib/sched.in.h: Include <sys/types.h>.
7100         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7101         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7102
7103 2011-09-19  Bruno Haible  <bruno@clisp.org>
7104
7105         msvc-inval: Ensure the entire expansion is a single statement.
7106         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7107         of braces.
7108
7109 2011-09-19  Jim Meyering  <meyering@redhat.com>
7110
7111         tests: use printf, not echo in init.sh's warn_ function
7112         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7113         misbehave when given strings containing a backslash or starting
7114         with e.g., -n.  James Youngman suggested setting IFS.
7115
7116 2011-09-19  Eric Blake  <eblake@redhat.com>
7117
7118         futimens: enhance test
7119         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7120         closed non-negative fd.
7121
7122         date: accept 'hence' as opposite of 'ago'
7123         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7124         * tests/test-parse-datetime.c (main): Enhance test.
7125         Suggested by Jesse Wilson.
7126
7127 2011-09-19  Jim Meyering  <meyering@redhat.com>
7128
7129         getcwd: don't fail in a deep directory on a system without openat
7130         Before this change, getcwd would fail when called from a directory
7131         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7132         the non-openat implementation used "..", "../..", "../../..", etc.
7133         to access ancestor directories.  With too many, that string would
7134         be longer than PATH_MAX.
7135         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7136         using gnulib's openat replacement.
7137         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7138         we're using the replacement function.
7139
7140 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7141
7142         maint.mk: avoid warnings from perl about missing files
7143         * top/maint.mk (def_sym_regex): Ignore files listed in
7144         $(gl_other_headers_) that do not exist, say because a project
7145         does not use a corresponding module.
7146
7147 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7148
7149         stat: use pathmax.h only if needed
7150         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7151         This is better for Emacs, which does not have a mingw port and
7152         therefore can avoid the pathmax module.
7153
7154         utimens: remove dependency on dup2
7155         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
7156         to work around the Linux kernel bug.
7157         * modules/utimens (Depends-on): Remove dup2.
7158
7159 2011-09-18  Bruno Haible  <bruno@clisp.org>
7160
7161         inet_ntop, inet_pton: Look for it also in libresolv.
7162         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
7163         libnsl, search for it in libresolv.
7164         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7165         Needed on Solaris 7.
7166
7167 2011-09-18  Bruno Haible  <bruno@clisp.org>
7168
7169         accept, accept4 tests: Avoid link error on Solaris.
7170         * modules/accept-tests (Makefile.am): Link test-accept against
7171         $(LIBSOCKET).
7172         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7173         $(LIBSOCKET).
7174
7175         accept4: Avoid link error on Solaris.
7176         * modules/accept4 (Link): New section.
7177
7178         socket functions: Avoid link errors on Solaris.
7179         * modules/accept (Depends-on): Add socketlib.
7180         (Link): New section.
7181         * modules/bind (Depends-on): Add socketlib.
7182         (Link): New section.
7183         * modules/connect (Depends-on): Add socketlib.
7184         (Link): New section.
7185         * modules/getpeername (Depends-on): Add socketlib.
7186         (Link): New section.
7187         * modules/getsockname (Depends-on): Add socketlib.
7188         (Link): New section.
7189         * modules/getsockopt (Depends-on): Add socketlib.
7190         (Link): New section.
7191         * modules/listen (Depends-on): Add socketlib.
7192         (Link): New section.
7193         * modules/recv (Depends-on): Add socketlib.
7194         (Link): New section.
7195         * modules/recvfrom (Depends-on): Add socketlib.
7196         (Link): New section.
7197         * modules/send (Depends-on): Add socketlib.
7198         (Link): New section.
7199         * modules/sendto (Depends-on): Add socketlib.
7200         (Link): New section.
7201         * modules/setsockopt (Depends-on): Add socketlib.
7202         (Link): New section.
7203         * modules/shutdown (Depends-on): Add socketlib.
7204         (Link): New section.
7205         * modules/socket (Depends-on): Add socketlib.
7206         (Link): New section.
7207
7208 2011-09-18  Bruno Haible  <bruno@clisp.org>
7209
7210         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
7211         * tests/test-ptsname.c (main): Terminate the test if it takes longer
7212         than 5 seconds.
7213         * modules/ptsname-tests (configure.ac): Test for alarm.
7214
7215 2011-09-18  Bruno Haible  <bruno@clisp.org>
7216
7217         posix_spawn_file_actions_add*: Fix module dependencies.
7218         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
7219         posix_spawn_file_actions_init.
7220         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
7221         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
7222
7223 2011-09-18  Bruno Haible  <bruno@clisp.org>
7224
7225         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
7226         * tests/test-rename.h (test_rename): Allow error code EEXIST.
7227         * tests/test-renameat.c (main): Likewise.
7228
7229 2011-09-18  Bruno Haible  <bruno@clisp.org>
7230
7231         Tests for module 'accept4'.
7232         * modules/accept4-tests: New file.
7233         * tests/test-accept4.c: New file.
7234
7235 2011-09-18  Bruno Haible  <bruno@clisp.org>
7236
7237         Tests for module 'accept'.
7238         * modules/accept-tests: New file.
7239         * tests/test-accept.c: New file.
7240
7241 2011-09-18  Bruno Haible  <bruno@clisp.org>
7242
7243         dup2: Support for MSVC.
7244         * lib/dup2.c: Include msvc-inval.h.
7245         (rpl_dup2): Handle invalid parameter notifications during dup2 and
7246         _get_osfhandle calls.
7247         * modules/dup2 (Depends-on): Add msvc-inval.
7248         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
7249
7250         New module 'msvc-inval'.
7251         * lib/msvc-inval.h: New file.
7252         * lib/msvc-inval.c: New file.
7253         * m4/msvc-inval.m4: New file.
7254         * modules/msvc-inval: New file.
7255
7256 2011-09-17  Bruno Haible  <bruno@clisp.org>
7257
7258         Tests for module 'pclose'.
7259         * modules/pclose-tests: New file.
7260
7261         New module 'pclose'.
7262         * lib/stdio.in.h (pclose): New declaration.
7263         * lib/pclose.c: New file.
7264         * m4/pclose.m4: New file.
7265         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
7266         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
7267         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
7268         * modules/pclose: New file.
7269         * modules/popen-tests (Depends-on): Add pclose.
7270         * modules/popen-safer-tests (Depends-on): Likewise.
7271         * doc/posix-functions/pclose.texi: Mention the new module.
7272
7273 2011-09-17  Bruno Haible  <bruno@clisp.org>
7274
7275         popen: Support for MSVC.
7276         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
7277         * lib/popen.c (popen): Provide alternate definition for native Windows.
7278         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
7280         * modules/popen (Depends-on, configure.ac): Update condition.
7281         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
7282         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
7283         fixed.
7284
7285 2011-09-17  Bruno Haible  <bruno@clisp.org>
7286
7287         isnanl, isnand, isnanf: Work around MSVC bug.
7288         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
7289
7290 2011-09-17  Bruno Haible  <bruno@clisp.org>
7291
7292         sys_socket tests: Fix recent mistake.
7293         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
7294
7295 2011-09-17  Bruno Haible  <bruno@clisp.org>
7296
7297         putenv: Support for MSVC.
7298         * modules/putenv (Depends-on): Add environ.
7299         * lib/putenv.c (environ): Disable declaration.
7300         * lib/unistd.in.h: Update comment.
7301
7302 2011-09-17  Bruno Haible  <bruno@clisp.org>
7303
7304         math: Avoid macro redefinition warnings on MSVC.
7305         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
7306         Undefine before redefining.
7307
7308 2011-09-17  Bruno Haible  <bruno@clisp.org>
7309
7310         doc: Mention functions which are declared as macros.
7311         * doc/posix-functions/*[fl].texi: Mention that some functions are
7312         defined as macros with arguments only.
7313
7314 2011-09-17  Bruno Haible  <bruno@clisp.org>
7315
7316         Add dependencies to new dirent related modules.
7317         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
7318         * modules/fts (Depends-on): Likewise.
7319         * modules/glob (Depends-on): Likewise.
7320         * modules/savedir (Depends-on): Likewise.
7321         * modules/scandir (Depends-on): Likewise.
7322         * modules/dirent-safer (Depends-on): Add opendir, closedir.
7323         * modules/fdopendir (Depends-on): Add opendir.
7324
7325 2011-09-17  Bruno Haible  <bruno@clisp.org>
7326
7327         inet_pton: Support for MSVC on Windows Vista or newer.
7328         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
7329         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
7330         HAVE_DECL_INET_PTON is defined.
7331         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7332         On platforms with <winsock2.h>, test whether inet_pton is declared in
7333         <ws2tcpip.h>. If so, arrange to replace it.
7334         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7335         REPLACE_INET_PTON.
7336         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
7337         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
7338         (Depends-on, configure.ac): Update condition.
7339         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
7340
7341 2011-09-17  Bruno Haible  <bruno@clisp.org>
7342
7343         inet_ntop: Support for MSVC on Windows Vista or newer.
7344         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
7345         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
7346         HAVE_DECL_INET_NTOP is defined.
7347         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7348         On platforms with <winsock2.h>, test whether inet_ntop is declared in
7349         <ws2tcpip.h>. If so, arrange to replace it.
7350         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7351         REPLACE_INET_NTOP.
7352         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
7353         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
7354         (Depends-on, configure.ac): Update condition.
7355         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
7356
7357 2011-09-16  Eric Blake  <eblake@redhat.com>
7358
7359         test-fsync: yet another enhancement
7360         * tests/test-fsync.c (main): Also test behavior on read-only text
7361         file.
7362
7363 2011-09-16  Bruno Haible  <bruno@clisp.org>
7364
7365         Enhance fsync, fdatasync tests.
7366         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
7367         * tests/test-fdatasync.c (main): Likewise.
7368
7369 2011-09-16  Bruno Haible  <bruno@clisp.org>
7370
7371         Support for MSVC compiler: Ensure mode_t gets defined.
7372         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
7373         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7374         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7375         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
7376         * tests/test-fcntl-h.c: Check that mode_t is defined.
7377         * tests/test-sys_stat.c: Likewise.
7378         * tests/test-sys_types.c: Likewise.
7379         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
7380         * doc/posix-headers/sys_stat.texi: Likewise.
7381         * doc/posix-headers/sys_types.texi: Likewise.
7382
7383 2011-09-16  Bruno Haible  <bruno@clisp.org>
7384
7385         sys_stat: Support for MSVC.
7386         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
7387         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
7388         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
7389         MSVC.
7390
7391 2011-09-16  Bruno Haible  <bruno@clisp.org>
7392
7393         Support for MSVC compiler: Ensure off_t gets defined.
7394         * lib/unistd.in.h: Include <sys/types.h>.
7395         * tests/test-fcntl-h.c: Check that off_t is defined.
7396         * tests/test-sys_stat.c: Likewise.
7397         * tests/test-sys_types.c: Likewise.
7398
7399 2011-09-16  Eric Blake  <eblake@redhat.com>
7400
7401         fdatasync: port to Solaris
7402         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
7403         * modules/fdatasync (Link): Document it.
7404         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
7405
7406         fdatasync: port to MacOS X 10.7
7407         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
7408         declared.
7409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
7410         * modules/unistd (Makefile.am): Substitute it.
7411         * lib/unistd.in.h (fdatasync): Declare on MacOS.
7412         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
7413
7414         fdatasync: minor improvements
7415         * modules/fdatasync (Depends-on): Add condition for fsync.
7416         * lib/fdatasync.c (fdatasync): Add comment.
7417         * tests/test-unistd-c++.cc: Test fdatasync.
7418
7419         unistd: update refs to newer POSIX
7420         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
7421         Suggested by Bruno Haible.
7422
7423         fdatasync: new module
7424         * modules/fsync (Description): Document difference to fdatasync.
7425         * modules/fdatasync: New module.
7426         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
7427         * lib/fdatasync.c (fdatasync): Likewise.
7428         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
7429         defaults.
7430         * modules/unistd (Makefile.am): Set witnesses.
7431         * lib/unistd.in.h (fdatasync): Declare.
7432         * MODULES.html.sh: Document it.
7433         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
7434         * modules/fdatasync-tests: New test.
7435         * tests/test-fdatasync.c: Likewise.
7436
7437 2011-09-16  Eric Blake  <eblake@redhat.com>
7438
7439         test-fsync: enhance tests
7440         * modules/fsync-tests (Depends-on): Add errno, for mingw.
7441         * tests/test-fsync.c (main): Enhance test.
7442
7443 2011-09-15  Bruno Haible  <bruno@clisp.org>
7444
7445         Support for MSVC compiler: Ensure ssize_t gets defined.
7446         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
7447         * doc/posix-headers/stdio.texi: Likewise.
7448         * modules/stdio (Depends-on): Add ssize_t.
7449         * modules/sys_socket (Depends-on): Likewise.
7450         * modules/sys_types (Depends-on): Likewise.
7451         * modules/sys_uio (Depends-on): Likewise.
7452         * modules/unistd (Depends-on): Likewise.
7453         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
7454         * tests/test-sys_types.c: Check that ssize_t is defined.
7455
7456 2011-09-14  Bruno Haible  <bruno@clisp.org>
7457
7458         Avoid using #, the m4 comment starter character, near brackets.
7459         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
7460         delimiter character in sed expressions.
7461         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7462         Suggested by Eric Blake.
7463
7464         Properly quote AC_CHECK_DECLS' 4th argument.
7465         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
7466         argument.
7467         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
7468         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7469         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7470         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
7471         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
7472         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
7473         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
7474         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
7475         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
7476         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7477         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
7478         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7479         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7480         * m4/isinf.m4 (gl_ISINF): Likewise.
7481         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
7482         * m4/readutmp.m4 (gl_READUTMP): Likewise.
7483         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7484         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7485         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7486         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
7487         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
7488         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7489         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
7490         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
7491         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7492         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7493         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
7494         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7495         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7496         Reported by Eric Blake.
7497
7498         Properly quote AC_CHECK_DECL's 4th argument.
7499         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
7500         argument.
7501         * m4/argp.m4 (gl_ARGP): Likewise.
7502         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
7503         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
7504         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
7505         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
7506         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
7507         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
7508         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
7509         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
7510         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7511         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
7512         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
7513         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
7514         Reported by Eric Blake.
7515
7516 2011-09-14  Eric Blake  <eblake@redhat.com>
7517
7518         opendir: avoid compile warning
7519         * lib/opendir.c (includes): Always include errno.h.
7520         Reported by Tatsuro MATSUOKA.
7521
7522 2011-09-14  Jim Meyering  <meyering@redhat.com>
7523
7524         maint.mk: sc_tight_scope: propagate failure from sub-make
7525         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
7526         Reported by Martin von Gagern.
7527
7528 2011-09-13  Bruno Haible  <bruno@clisp.org>
7529
7530         tempname: Support for MSVC.
7531         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
7532         MSVC.
7533         * modules/tempname (Depends-on): Add fcntl-h.
7534
7535 2011-09-13  Bruno Haible  <bruno@clisp.org>
7536
7537         sys_time: Support for MSVC.
7538         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
7539         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
7540         include <winsock2.h>.
7541         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
7542         function declarations that collide with POSIX.
7543         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
7544         (Makefile.am): Substitute HAVE_WINSOCK2_H.
7545
7546 2011-09-13  Bruno Haible  <bruno@clisp.org>
7547
7548         stat: Support for MSVC.
7549         * lib/stat.c: Include pathmax.h.
7550         * modules/stat (Depends-on): Add pathmax.
7551
7552         pathmax: Support for native Windows.
7553         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
7554
7555 2011-09-12  Bruno Haible  <bruno@clisp.org>
7556
7557         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
7558         * lib/dirent.in.h (struct dirent): New type.
7559         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
7560         DT_WHT): New macros.
7561         (DIR): New type.
7562         (opendir, closedir): Declare only if the module 'opendir' is enabled.
7563         (readdir, rewinddir): New declarations.
7564         * lib/dirent-private.h: New file.
7565         * lib/opendir.c: New file.
7566         * lib/readdir.c: New file.
7567         * lib/rewinddir.c: New file.
7568         * lib/closedir.c: New file.
7569         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
7570         * m4/opendir.m4: New file.
7571         * m4/readdir.m4: New file.
7572         * m4/rewinddir.m4: New file.
7573         * m4/closedir.m4: New file.
7574         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
7575         REPLACE_CLOSEDIR here.
7576         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
7577         readdir, rewinddir are declared.
7578         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
7579         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
7580         HAVE_REWINDDIR, HAVE_CLOSEDIR.
7581         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
7582         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
7583         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
7584         * modules/opendir: New file.
7585         * modules/readdir: New file.
7586         * modules/rewinddir: New file.
7587         * modules/closedir: New file.
7588         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
7589         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
7590         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
7591         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
7592         * NEWS: Mention the 'fchdir' change.
7593
7594 2011-09-11  Bruno Haible  <bruno@clisp.org>
7595
7596         asm-underscore.m4: Support for MSVC.
7597         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
7598         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
7599
7600 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
7601
7602         Doc about crypt functions.
7603         * doc/posix-functions/crypt.texi: Expand range of glibc versions
7604         needing for _GNU_SOURCE to get crypt.
7605         * doc/posix-functions/encrypt.texi: Likewise.
7606         * doc/posix-functions/setkey.texi: Likewise.
7607
7608 2011-09-11  Bruno Haible  <bruno@clisp.org>
7609
7610         doc: Update regarding MSVC 9.
7611         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
7612         tested".
7613         * doc/posix-functions/*.texi: Update with info about MSVC 9.
7614         * doc/posix-headers/*.texi: Likewise.
7615         * doc/pastposix-functions/*.texi: Likewise.
7616         * doc/glibc-functions/*.texi: Likewise.
7617         * doc/glibc-headers/*.texi: Likewise.
7618
7619 2011-09-11  Bruno Haible  <bruno@clisp.org>
7620
7621         unistd et al.: Don't assume <unistd.h> exists.
7622         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
7623         does not exist.
7624         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
7625         exist. But include <stdlib.h>.
7626         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
7627         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
7628         symlink() does not exist.
7629         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
7630         include <io.h> instead.
7631         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
7632         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
7633         include <direct.h> instead.
7634         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7635         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7636         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
7637         <io.h> instead.
7638         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
7639         correctly if the system does not have hard links.
7640         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
7641         <direct.h> instead.
7642         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
7643         it when looking for function declarations.
7644         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
7645         <direct.h> and <io.h> instead.
7646         * doc/posix-headers/unistd.texi: More details about MSVC problem.
7647
7648 2011-09-11  Bruno Haible  <bruno@clisp.org>
7649
7650         strcase: Support for MSVC.
7651         * modules/strcase (Status, Notice): Remove obsoletion mark.
7652         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
7653         * doc/posix-functions/strncasecmp.texi: Likewise.
7654
7655         strings: Don't assume <strings.h> exists.
7656         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
7657         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
7658         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
7659         * doc/posix-headers/strings.texi: Mention the MSVC problem.
7660
7661 2011-09-11  Bruno Haible  <bruno@clisp.org>
7662
7663         dirent: Don't assume <dirent.h> exists.
7664         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
7665         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
7666         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
7667         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
7668
7669 2011-09-11  Bruno Haible  <bruno@clisp.org>
7670
7671         Fix wint_t on MSVC.
7672         * lib/wchar.in.h (wint_t): On MSVC, override it.
7673         * lib/wctype.in.h (wint_t): Likewise.
7674         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
7675         MSVC.
7676         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
7677         * doc/posix-headers/wctype.texi: Likewise.
7678
7679 2011-09-11  Bruno Haible  <bruno@clisp.org>
7680
7681         sys_types: Fix typo.
7682         * lib/sys_types.in.h: Fix typo in comment.
7683         Reported by Paul Eggert.
7684
7685         Support for MSVC compiler: Ensure size_t gets defined.
7686         * modules/strings (Depends-on): Add 'sys_types'.
7687         * modules/sys_uio (Depends-on): Likewise.
7688         * lib/sys_uio.in.h: Update comment.
7689
7690         C++ tests for module 'sys_types'.
7691         * modules/sys_types-c++-tests: New file.
7692         * tests/test-sys_types-c++.cc: New file.
7693
7694         Tests for module 'sys_types'.
7695         * modules/sys_types-tests: New file.
7696         * tests/test-sys_types.c: New file.
7697
7698         New module 'sys_types'.
7699         * lib/sys_types.in.h: New file.
7700         * m4/sys_types_h.m4: New file.
7701         * modules/sys_types: New file.
7702         * doc/posix-headers/sys_types.texi: Mention the new module and the
7703         size_t problem on MSVC 9.
7704
7705 2011-09-11  Bruno Haible  <bruno@clisp.org>
7706
7707         Support for MSVC compiler: Avoid division by a literal 0.
7708         * lib/math.in.h (NAN): Define through a function call also on MSVC.
7709         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
7710         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
7711         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
7712         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
7713         * tests/infinity.h: New file.
7714         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
7715         on MSVC.
7716         * tests/test-ceilf1.c: Include infinity.h.
7717         (main): Use Infinityf.
7718         * tests/test-ceil1.c: Include infinity.h.
7719         (main): Use Infinityd.
7720         * tests/test-ceill.c: Include infinity.h.
7721         (main): Use Infinityl.
7722         * tests/test-dprintf-posix.c: Include infinity.h.
7723         (test_function): Use Infinityd.
7724         * tests/test-floorf1.c: Include infinity.h.
7725         (main): Use Infinityf.
7726         * tests/test-floor1.c: Include infinity.h.
7727         (main): Use Infinityd.
7728         * tests/test-floorl.c: Include infinity.h.
7729         (main): Use Infinityl.
7730         * tests/test-fprintf-posix.c: Include infinity.h.
7731         (test_function): Use Infinityd.
7732         * tests/test-frexp.c: Include infinity.h.
7733         (main): Use Infinityd.
7734         * tests/test-frexpl.c: Include infinity.h.
7735         (main): Use Infinityl.
7736         * tests/test-isfinite.c: Include infinity.h.
7737         (test_isfinitef): Use Infinityf.
7738         (test_isfinited): Use Infinityd.
7739         (test_isfinitel): Use Infinityl.
7740         * tests/test-isinf.c: Include infinity.h.
7741         (test_isinff): Use Infinityf.
7742         (test_isinfd): Use Infinityd.
7743         (test_isinfl): Use Infinityl.
7744         * tests/test-isnan.c: Include infinity.h.
7745         (test_float): Use Infinityf.
7746         (test_double): Use Infinityd.
7747         (test_long_double): Use Infinityl.
7748         * tests/test-isnanf.h: Include infinity.h.
7749         (main): Use Infinityf.
7750         * tests/test-isnand.h: Include infinity.h.
7751         (main): Use Infinityd.
7752         * tests/test-isnanl.h: Include infinity.h.
7753         (main): Use Infinityl.
7754         * tests/test-ldexpl.c: Include infinity.h.
7755         (main): Use Infinityl.
7756         * tests/test-printf-posix.h: Include infinity.h.
7757         (test_function): Use Infinityd.
7758         * tests/test-roundf1.c: Include infinity.h.
7759         (main): Use Infinityf.
7760         * tests/test-round1.c: Include infinity.h.
7761         (main): Use Infinityd.
7762         * tests/test-roundl.c: Include infinity.h.
7763         (main): Use Infinityl.
7764         * tests/test-signbit.c: Include infinity.h.
7765         (test_signbitf): Use Infinityf.
7766         (test_signbitd): Use Infinityd.
7767         (test_signbitl): Use Infinityl.
7768         * tests/test-snprintf-posix.h: Include infinity.h.
7769         (test_function): Use Infinityd, Infinityl.
7770         * tests/test-sprintf-posix.h: Include infinity.h.
7771         (test_function): Use Infinityd, Infinityl.
7772         * tests/test-truncf1.c: Include infinity.h.
7773         (main): Use Infinityf.
7774         * tests/test-trunc1.c: Include infinity.h.
7775         (main): Use Infinityd.
7776         * tests/test-truncl.c: Include infinity.h.
7777         (main): Use Infinityl.
7778         * tests/test-vasnprintf-posix.c: Include infinity.h.
7779         (test_function): Use Infinityd, Infinityl.
7780         * tests/test-vasprintf-posix.c: Include infinity.h.
7781         (test_function): Use Infinityd, Infinityl.
7782         * modules/ceilf-tests (Files): Add tests/infinity.h.
7783         * modules/ceil-tests (Files): Likewise.
7784         * modules/ceill-tests (Files): Likewise.
7785         * modules/dprintf-posix-tests (Files): Likewise.
7786         * modules/floorf-tests (Files): Likewise.
7787         * modules/floor-tests (Files): Likewise.
7788         * modules/floorl-tests (Files): Likewise.
7789         * modules/fprintf-posix-tests (Files): Likewise.
7790         * modules/frexp-tests (Files): Likewise.
7791         * modules/frexp-nolibm-tests (Files): Likewise.
7792         * modules/frexpl-tests (Files): Likewise.
7793         * modules/frexpl-nolibm-tests (Files): Likewise.
7794         * modules/isfinite-tests (Files): Likewise.
7795         * modules/isinf-tests (Files): Likewise.
7796         * modules/isnan-tests (Files): Likewise.
7797         * modules/isnanf-tests (Files): Likewise.
7798         * modules/isnanf-nolibm-tests (Files): Likewise.
7799         * modules/isnand-tests (Files): Likewise.
7800         * modules/isnand-nolibm-tests (Files): Likewise.
7801         * modules/isnanl-tests (Files): Likewise.
7802         * modules/isnanl-nolibm-tests (Files): Likewise.
7803         * modules/ldexpl-tests (Files): Likewise.
7804         * modules/printf-posix-tests (Files): Likewise.
7805         * modules/roundf-tests (Files): Likewise.
7806         * modules/round-tests (Files): Likewise.
7807         * modules/roundl-tests (Files): Likewise.
7808         * modules/signbit-tests (Files): Likewise.
7809         * modules/snprintf-posix-tests (Files): Likewise.
7810         * modules/sprintf-posix-tests (Files): Likewise.
7811         * modules/truncf-tests (Files): Likewise.
7812         * modules/trunc-tests (Files): Likewise.
7813         * modules/truncl-tests (Files): Likewise.
7814         * modules/vasnprintf-posix-tests (Files): Likewise.
7815         * modules/vasprintf-posix-tests (Files): Likewise.
7816         * modules/vdprintf-posix-tests (Files): Likewise.
7817         * modules/vfprintf-posix-tests (Files): Likewise.
7818         * modules/vprintf-posix-tests (Files): Likewise.
7819         * modules/vsnprintf-posix-tests (Files): Likewise.
7820         * modules/vsprintf-posix-tests (Files): Likewise.
7821         * modules/xprintf-posix-tests (Files): Likewise.
7822
7823 2011-09-11  Bruno Haible  <bruno@clisp.org>
7824
7825         Ensure pid_t gets defined.
7826         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
7827         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7828         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7829         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7830         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7831         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7832         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
7833         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7834         * tests/test-fcntl-h.c: Check that pid_t is defined.
7835         * tests/test-sched.c: Likewise.
7836         * tests/test-termios.c: Likewise.
7837         * tests/test-time.c: Likewise.
7838         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
7839         * doc/posix-headers/signal.texi: Likewise.
7840         * doc/posix-headers/sys_types.texi: Likewise.
7841         * doc/posix-headers/time.texi: Likewise.
7842
7843 2011-09-11  Bruno Haible  <bruno@clisp.org>
7844
7845         acl: Fix compilation on Solaris 10 (older version).
7846         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
7847         of ACE_EVERYONE.
7848         * lib/set-mode-acl.c (qset_acl): Likewise.
7849         Reported by Christian Jullien <eligis@orange.fr>.
7850
7851 2011-09-10  Bruno Haible  <bruno@clisp.org>
7852
7853         iconv, unsetenv: Add support for MSVC compiler.
7854         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
7855         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
7856
7857 2011-09-10  Bruno Haible  <bruno@clisp.org>
7858
7859         *printf: Add support for MSVC compiler.
7860         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
7861         handles the exception caused by the %n directive. When cross-compiling,
7862         guess no on native Windows.
7863         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
7864         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
7865         emulate it through vsnprintf.
7866         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
7867         * doc/posix-functions/dprintf.texi: Update documentation regarding
7868         MSVC 9.
7869         * doc/posix-functions/fprintf.texi: Likewise.
7870         * doc/posix-functions/printf.texi: Likewise.
7871         * doc/posix-functions/snprintf.texi: Likewise.
7872         * doc/posix-functions/sprintf.texi: Likewise.
7873         * doc/posix-functions/swprintf.texi: Likewise.
7874         * doc/posix-functions/vdprintf.texi: Likewise.
7875         * doc/posix-functions/vfprintf.texi: Likewise.
7876         * doc/posix-functions/vprintf.texi: Likewise.
7877         * doc/posix-functions/vsnprintf.texi: Likewise.
7878         * doc/posix-functions/vsprintf.texi: Likewise.
7879         * doc/glibc-functions/asprintf.texi: Likewise.
7880         * doc/glibc-functions/obstack_printf.texi: Likewise.
7881         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7882         * doc/glibc-functions/vasprintf.texi: Likewise.
7883
7884 2011-09-10  Bruno Haible  <bruno@clisp.org>
7885
7886         nocrash: Add support for native Windows.
7887         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
7888
7889 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
7890             Bruno Haible  <bruno@clisp.org>
7891
7892         absolute-header, include-next: Add support for MSVC compiler.
7893         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
7894         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
7895         directory separator in #line directives.
7896         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
7897         recognize also backslash as directory separator in #line directives.
7898
7899 2011-09-08  Jim Meyering  <meyering@redhat.com>
7900
7901         maint.mk: mark the post-release commit log with "maint: " prefix
7902         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
7903         one-line commit-log summary.
7904
7905 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
7906             Bruno Haible  <bruno@clisp.org>
7907
7908         Doc about crypt functions.
7909         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
7910         systems.
7911         * doc/posix-functions/encrypt.texi: Likewise.
7912         * doc/posix-functions/setkey.texi: Likewise.
7913
7914 2011-09-08  Simon Josefsson  <simon@josefsson.org>
7915
7916         * lib/gc.h: Fix copyright header.
7917
7918 2011-09-07  Bruno Haible  <bruno@clisp.org>
7919
7920         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
7921         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
7922         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
7923
7924 2011-09-07  Bruno Haible  <bruno@clisp.org>
7925
7926         openat: Work around compilation error with OSF/1 5.1 DTK cc.
7927         * lib/fopen.c: Use different syntax for include of <stdio.h>.
7928         * lib/freopen.c: Likewise.
7929         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
7930         * lib/lstat.c: Likewise.
7931         * lib/stat.c: Likewise.
7932         * lib/open.c: Use different syntax for include of <fcntl.h>.
7933         * lib/openat.c: Include fcntl.h again, explicitly.
7934
7935 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
7936
7937         parse-datetime: document the newly accepted format
7938         * doc/parse-datetime.texi (Combined date and time of day items):
7939         New section.
7940
7941 2011-09-06  Bruno Haible  <bruno@clisp.org>
7942
7943         acl: Fix a test failure on newer Solaris 10 with ZFS.
7944         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
7945         ENOSYS as no ACL.
7946         Reported by Jim Meyering.
7947
7948 2011-09-06  Bruno Haible  <bruno@clisp.org>
7949
7950         acl: Update for AIX >= 5.3 with NFS.
7951         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
7952         ENOSYS as no ACL.
7953
7954         acl: Fix a test failure on AIX >= 5.3 with NFS.
7955         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
7956         as no ACL.
7957
7958 2011-09-06  Bruno Haible  <bruno@clisp.org>
7959
7960         acl: Fix a test failure on IRIX 6.5 with NFS.
7961         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
7962         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
7963         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
7964         * lib/copy-acl.c (qcopy_acl): Likewise.
7965
7966 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
7967
7968         openat: port to AIX 7.1 with large files
7969         AIX 7.1 does a "#define openat open64at" if large files are in use,
7970         so we can't simply #undef openat.  Use the orig_openat trick (similar
7971         to orig_open in lib/open.c) to work around the problem.  Problem
7972         reported by Kevin Brott for GNU tar, in the thread containing
7973         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
7974         * lib/openat.c (__need_system_fcntl_h): Define first.
7975         Include <fcntl.h> and <sys/types.h> before undefining.
7976         (orig_openat) [HAVE_OPENAT]: New inline function.
7977         (openat) [HAVE_OPENAT]: Do not undef.
7978         (rpl_openat): Use orig_openat, not openat.
7979
7980 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7981             Bruno Haible  <bruno@clisp.org>
7982
7983         acl: Avoid errors on NonStop Kernel.
7984         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
7985         ENOTSUP errors.
7986
7987 2011-09-05  Bruno Haible  <bruno@clisp.org>
7988
7989         acl: Clean up Solaris code.
7990         * lib/acl-internal.h: Remove no-op #if.
7991         * lib/file-has-acl.c: Likewise.
7992         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
7993         * lib/copy-acl.c (qcopy_acl): Likewise.
7994
7995 2011-09-05  Bruno Haible  <bruno@clisp.org>
7996
7997         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
7998         binaries built on the original Solaris 10.
7999         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8000         trivial.
8001
8002 2011-09-05  Bruno Haible  <bruno@clisp.org>
8003
8004         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8005         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8006         10.
8007         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8008         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8009         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8010         instead of acl_get, facl_get, acl_set, facl_set.
8011
8012 2011-09-05  Bruno Haible  <bruno@clisp.org>
8013
8014         copy-file: Try unit tests on more file systems.
8015         * tests/test-copy-file-1.sh: New file.
8016         * tests/test-copy-file-2.sh: New file.
8017         * modules/copy-file-tests (Files): Add them.
8018         (Makefile.am): Add them to TESTS.
8019
8020         acl: Try unit tests on more file systems.
8021         * tests/test-file-has-acl-1.sh: New file.
8022         * tests/test-file-has-acl-2.sh: New file.
8023         * tests/test-set-mode-acl-1.sh: New file.
8024         * tests/test-set-mode-acl-2.sh: New file.
8025         * tests/test-copy-acl-1.sh: New file.
8026         * tests/test-copy-acl-2.sh: New file.
8027         * modules/acl-tests (Files): Add them.
8028         (Makefile.am): Add them to TESTS.
8029
8030 2011-09-04  Bruno Haible  <bruno@clisp.org>
8031
8032         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8033         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8034         10.
8035         (OLD_ALLOW, OLD_DENY): New macros.
8036         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8037         ACE_ACCESS_ALLOWED_ACE_TYPE.
8038         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8039         ACE_ACCESS_DENIED_ACE_TYPE.
8040         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8041         (NEW_ACE_EXECUTE): Fix value.
8042         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8043         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8044         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8045         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8046         NEW_ACE_SYNCHRONIZE): New macros.
8047         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8048         instead of acl_fromtext, acl_set, facl_set.
8049         Fixes a coreutils/tests/cp/perm failure.
8050
8051 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8052
8053         openat: test for fstatat (..., 0) bug
8054         Further testing with tar suggests that fstatat (..., 0)
8055         does not work in general, on AIX 7.1; see
8056         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8057         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8058         replacement fstatat (which is what older AIX releases were using
8059         anyway).
8060         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8061         use is now changed to orig_fstatat.  This was probably the right
8062         thing to do anyway.
8063         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8064         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8065         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8066         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8067         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8068         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8069         if the bug is found.
8070
8071         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8072         This tests for another fstatat bug on AIX 7.1:
8073         fstatat (AT_FDCWD, ..., 0) does not work.  See
8074         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8075         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8076         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8077         (rpl_fstatat): Adjust so that it works around either (or both)
8078         bugs if present.
8079         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8080
8081 2011-09-03  Karl Berry  <karl@gnu.org>
8082
8083         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8084         in index entries.
8085
8086 2011-09-02  Bruno Haible  <bruno@clisp.org>
8087
8088         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8089         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8090         values of AR, ARFLAGS, RANLIB.
8091         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8092
8093 2011-09-02  Bruno Haible  <bruno@clisp.org>
8094
8095         Find 'ar' program that fits with --host argument.
8096         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8097
8098 2011-09-02  Bruno Haible  <bruno@clisp.org>
8099
8100         tests: init.sh: Support any non-GNU diff.
8101         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8102         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8103         Solaris 8.
8104
8105 2011-09-02  Bruno Haible  <bruno@clisp.org>
8106
8107         tests: init.sh: work also with any non-GNU diff that supports -u
8108         * tests/init.sh: Relax check for diff -u support.
8109         Rather than checking for GNU diff via --version, simply check
8110         for support for -u itself.  Useful at least on OpenBSD 4.9,
8111         AIX 7.1, IRIX 6.5, and Solaris 10.
8112
8113 2011-09-01  Bruno Haible  <bruno@clisp.org>
8114
8115         strtoimax, strtoumax: Document problem on HP-UX 11.
8116         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8117         * doc/posix-functions/strtoumax.texi: Likewise.
8118
8119 2011-09-01  Bruno Haible  <bruno@clisp.org>
8120
8121         strtoumax: Avoid link error on OSF/1 with DTK cc.
8122         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8123         defined as a function.
8124         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8125         strtoumax is defined, not whether it is declared.
8126
8127 2011-09-01  Bruno Haible  <bruno@clisp.org>
8128
8129         strtoimax: Avoid link error on OSF/1 with DTK cc.
8130         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8131         defined as a function.
8132         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8133         strtoimax is defined, not whether it is declared.
8134
8135 2011-09-01  Bruno Haible  <bruno@clisp.org>
8136
8137         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8138         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8139         as a function.
8140         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8141         whether it is declared.
8142
8143 2011-09-01  Bruno Haible  <bruno@clisp.org>
8144
8145         imaxabs: Avoid link error on OSF/1 with DTK cc.
8146         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8147         as a function.
8148         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8149         whether it is declared.
8150
8151 2011-09-01  Bruno Haible  <bruno@clisp.org>
8152
8153         Tests for module 'strtoumax'.
8154         * modules/strtoumax-tests: New file.
8155         * tests/test-strtoumax.c: New file.
8156
8157         Tests for module 'strtoimax'.
8158         * modules/strtoimax-tests: New file.
8159         * tests/test-strtoimax.c: New file.
8160
8161         Tests for module 'imaxdiv'.
8162         * modules/imaxdiv-tests: New file.
8163         * tests/test-imaxdiv.c: New file.
8164
8165         Tests for module 'imaxabs'.
8166         * modules/imaxabs-tests: New file.
8167         * tests/test-imaxabs.c: New file.
8168
8169 2011-09-01  Bruno Haible  <bruno@clisp.org>
8170
8171         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8172         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8173         pthread_create.
8174
8175 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8176
8177         openat: work around AIX 7.1 fstatat issue
8178         This should fix the problem that was not properly fixed
8179         in the previous change, dated 2011-08-30.
8180         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8181         __need_system_stat_h defined.
8182         (orig_fstatat) [HAVE_FSTATAT]: New function.
8183         (rpl_fstatat): Go back to the old way of doing things,
8184         except call orig_fstatat instead of fstatat.
8185         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8186         Remove unnecessary check whether fstatat fills in st_size etc.
8187
8188 2011-09-01  Bruno Haible  <bruno@clisp.org>
8189
8190         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
8191         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
8192         just include the system's header.
8193
8194 2011-08-31  Jim Meyering  <meyering@redhat.com>
8195
8196         tests: avoid spurious assertion failure in test-float.c on ppc64
8197         * tests/test-float.c (test_long_double): Comment out an assertion,
8198         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
8199         with gcc-4.4.4.
8200
8201         maint: indent with spaces, not TABs
8202         I need to get in the habit of running gnulib's "make check".
8203         Both of these would have been caught.
8204         * m4/largefile.m4: Indent with spaces, not TABs.
8205         * lib/parse-datetime.y (iso_8601_time): Likewise.
8206         Spotted by Pádraig Brady.
8207
8208         test-parse-datetime.c: accommodate a relatively strict gcc warning
8209         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
8210         to avoid a warning from gcc's -Werror=missing-declarations.
8211         Insert a few spaces-before-funcall-parenthesis.
8212
8213 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
8214
8215         parse-datetime: accept ISO 8601 date and time rep with "T" separator
8216         The parser now accepts ISO 8601 date-time strings with "T" as the
8217         separator.  It has long parsed dates like "2004-02-29 16:21:42"
8218         with a space between the date and time strings.  Now it also parses
8219         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
8220         variants like "2004-02-29T16:21:42.333-07:00"
8221         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
8222         of day representation using the 'T' separator character.
8223         * doc/parse-datetime.texi (General date syntax): replace use of
8224         deprecated --iso-8601 option with --rfc-3339 in example of date
8225         command output formats that can be parsed.
8226         * tests/test-parse-datetime.c (tm_diff): New function, taken from
8227         lib/parse-datetime.y.
8228         (gmt_offset): New function.
8229         (main): Add additional test cases to validate ISO8601 extended
8230         date and time of day parsing.
8231
8232 2011-08-31  Bruno Haible  <bruno@clisp.org>
8233
8234         freopen: Documentation.
8235         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
8236         name.
8237         Reported by Claudio Bley <claudio.bley@gmail.com>.
8238
8239 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
8240
8241         freopen: Don't crash if the filename argument is NULL.
8242         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
8243         NULL.
8244
8245 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8246
8247         openat: work around AIX 7.1 fstatat bug
8248         Problem reported by Kevin Brott for GNU tar, in the thread containing
8249         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
8250         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
8251         FSTATAT_ST_SIZE_ETC_BROKEN.
8252         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
8253         rpl_fstatat.
8254         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
8255         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
8256         AC_CHECK_FUNCS_ONCE for fstatat.
8257         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
8258         fchmodat, mkdirat, openat and unlinkat.
8259
8260 2011-08-30  Bruno Haible  <bruno@clisp.org>
8261
8262         Avoid endless recursions if config.h includes some header files.
8263         * lib/fopen.c (__need_FILE): Define already before including config.h.
8264         * lib/freopen.c (__need_FILE): Likewise.
8265         * lib/open.c (__need_system_fcntl_h): Likewise.
8266         * lib/stat.c (__need_system_sys_stat_h): Likewise.
8267         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
8268         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8269
8270 2011-08-25  Karl Berry  <karl@gnu.org>
8271
8272         * config/srclist.txt (ylwrap): new try.
8273         * build-aux/ylwrap: new file.
8274
8275 2011-08-23  Bruno Haible  <bruno@clisp.org>
8276
8277         tmpdir: Use a good default directory on native Windows.
8278         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
8279         (P_tmpdir): Default to _P_tmpdir on native Windows.
8280         (path_search): On native Windows, try the value returned by GetTempPath
8281         before trying P_tmpdir.
8282         * modules/tmpdir (Depends-on): Add pathmax.
8283         Suggested by John Darrington <john@darrington.wattle.id.au>.
8284
8285 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
8286
8287         doc: fix typo in README-release
8288         * top/README-release: Capitalize first word of a sentence.
8289
8290 2011-08-19  Jim Meyering  <meyering@redhat.com>
8291
8292         fts: do not exhaust memory when processing million-entry directories
8293         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
8294         directory would require about 256*N bytes of memory.  Thus, it was
8295         easy to construct a directory too large to be processed by any of
8296         those tools.  With this change, fts' maximum memory utilization is
8297         now limited to around 30MB.
8298         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
8299         (fts_read): When we've processed the final entry (i.e., when
8300         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
8301         using the parent entry to read any remaining entries.  Dispatch
8302         depending on what fts_build returns:
8303         - NULL+stop, aka failure: stop
8304         - NULL otherwise: move up in the dir hierarchy
8305         - non-NULL: handle this new entry
8306         (fts_build): Declare and use new local, continue_readdir.
8307         Prepare to be called from fts_read, when the entries
8308         from a partially-read directory have just been exhausted.
8309         In that case, we'll skip the opendir and instead use the parent's
8310         fts_dirp and derive dir_fd from that.
8311         Finally, in the readdir loop, if we read max_entries entries,
8312         exit the loop ensuring *not* to call closedir.  This is required
8313         so that fts_dirp can be reused on a subsequent call.
8314         Prompted by Ben England's report of memory exhaustion in find
8315         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
8316
8317         maint: fts: move decl of `dp' down into while loop; split a long line
8318         * lib/fts.c (fts_build): No semantic change.
8319
8320         fts: add/use new struct member, fts_dirp
8321         We are about to use this to manage any directory with
8322         too many entries to read all of them into memory at once.
8323         To do that, we'll need to save the DIR* pointer in each
8324         affected FTSENT struct.
8325         * lib/fts_.h: Include <dirent.h>.
8326         (struct FTSENT) [fts_dirp]: New member.
8327         * lib/fts.c (closedir_and_clear): Define.
8328         Use it in place of closedir so that we are sure to
8329         clear the new fts_dirp member when done with it.
8330         (fts_alloc): Initialize the new member.
8331         (fts_lfree): Free, if needed.
8332
8333         maint: fts: give __opendir2 a new parameter and rename
8334         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
8335         than surreptitiously using sole caller's "dir_fd".
8336         (fts_opendir): Rename from __opendir2.
8337
8338         maint: fts.c: remove __opendir2's now-unused parameter, oflag
8339         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
8340
8341         maint: fts.c: correct off-by-one indentation
8342         * lib/fts.c (fts_build): Correct indentation, change style
8343         of a couple of block comments, and bracing style.
8344
8345         maint: fts.c: move __opendir2 #define "up" out of function body
8346         * lib/fts.c (__opendir2): Move "up".  No semantic change.
8347
8348         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
8349         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
8350         out for a long time and besides was useful only on BSD systems.
8351
8352 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
8353
8354         regex: port to Stratus OpenVOS
8355         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
8356         define to empty, rather than attempting nonportable optimizations.
8357         Problem reported by Paul Green in:
8358         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
8359         and fix suggested by Eric Blake in:
8360         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
8361
8362 2011-08-17  Eric Blake  <eblake@redhat.com>
8363
8364         getcwd: fix test failures on mingw
8365         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
8366         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
8367         test if long directory cannot be created, and allow mingw errno.
8368
8369         getcwd-lgpl: fix m4 to match relaxed test for BSD
8370         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
8371         (gl_FUNC_GETCWD_SIGNATURE): New macro.
8372         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
8373         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
8374         signature problem.
8375
8376         getcwd: fix compilation on mingw64
8377         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
8378         getcwd.
8379         Reported by Marc-André Lureau.
8380
8381         pipe2: silence compiler warning
8382         * lib/pipe2.c (pipe2): Hide label if it is not used.
8383
8384 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
8385
8386         relocatable-prog: fix link error
8387         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
8388         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
8389         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
8390         into modules/relocatable-lib without noticing that
8391         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
8392         also needs to build relocatable.c.
8393
8394 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
8395
8396         getaddrinfo: fix sh typo in gai_strerrorA decl checking
8397         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
8398         shell code: it contained a 'break' that was not in a loop.
8399         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
8400         via a shell-language loop; this may have been true in old Autoconf
8401         versions, but it's not true in Autoconf 2.68.  I found this bug
8402         when testing coreutils git on Solaris 8, whose shell complains
8403         about the syntax error.
8404
8405 2011-08-12  Simon Josefsson  <simon@josefsson.org>
8406
8407         * lib/base64.c: Fix comment to reference RFC 4648.
8408         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
8409         <gvtulder@gmail.com>.
8410
8411 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
8412
8413         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
8414
8415         po/Makefile.in.in: fix make -q problem
8416         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
8417         rule, since there's no file named 'check-macro-version' and its
8418         use as a file breaks make -q.
8419         (all): Don't depend on check-macro-version.
8420         (CHECK_MACRO_VERSION): New macro.
8421         (stamp-po): Use it.
8422
8423         configmake: fix make -q problem
8424         * modules/configmake (configmake.h): Update configmake.h's time stamp
8425         even if the file does not change.  Otherwise, 'make -q' fails.
8426         Problem reported by Simon Josefsson in
8427         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
8428
8429 2011-08-11  Jim Meyering  <meyering@redhat.com>
8430
8431         git-version-gen: correct the advice in a comment
8432         * build-aux/git-version-gen: Correct comment.
8433         Don't recommend to list .tarball-version in .gitignore.
8434
8435 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8436
8437         base64: fix off-by-one buffer size bug
8438         Problem and (trivial) fix reported by Gijs van Tulder in
8439         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
8440         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
8441         * tests/test-base64.c (main): Catch the bug.
8442
8443 2011-08-10  Eric Blake  <eblake@redhat.com>
8444
8445         closein: correct comments
8446         * lib/closein.c (close_stdin): Improve comments.
8447
8448 2011-08-09  Bruno Haible  <bruno@clisp.org>
8449
8450         More tests for 'fseeko'.
8451         * tests/test-fseeko3.c: New file, from Eric Blake.
8452         * tests/test-fseeko3.sh: New file.
8453         * modules/fseeko-tests (Files): Add them.
8454         (TESTS): Add test-fseeko3.sh.
8455         (check_PROGRAMS): Add test-fseeko3.
8456
8457 2011-08-09  Eric Blake  <eblake@redhat.com>
8458
8459         fseeko: remove unneeded hack
8460         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
8461
8462         fseeko: fix bug on glibc
8463         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
8464         Reported by John W. Eaton.
8465
8466 2011-08-08  Bruno Haible  <bruno@clisp.org>
8467
8468         unictype/base: Fix interoperability with preinstalled libunistring.
8469         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
8470         Reported by Simon Josefsson.
8471
8472 2011-08-08  Bruno Haible  <bruno@clisp.org>
8473
8474         iswblank: Detect declaration correctly.
8475         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
8476         AC_CHECK_DECLS invocation.
8477
8478 2011-08-08  Bruno Haible  <bruno@clisp.org>
8479
8480         tcgetsid: Detect declaration correctly.
8481         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
8482         AC_CHECK_DECLS invocation.
8483         Reported by Simon Josefsson.
8484
8485 2011-08-08  Eric Blake  <eblake@redhat.com>
8486
8487         largefile: fix typo that regressed large file support
8488         * modules/largefile (configure.ac-early): Fix section name.
8489
8490 2011-08-06  Karl Berry  <karl@gnu.org>
8491
8492         * MODULES.html.sh (func_all_files): _Noreturn is no longer
8493         a separate module.
8494
8495 2011-08-05  Simon Josefsson  <simon@josefsson.org>
8496
8497         openat: Fix warnings and commens when building unlinkat.c on Hurd.
8498         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
8499         get prototype for free.
8500
8501 2011-08-04  Bruno Haible  <bruno@clisp.org>
8502
8503         Tests for module 'pathmax'.
8504         * modules/pathmax-tests: New file.
8505         * tests/test-pathmax.c: New file.
8506
8507         canonicalize-lgpl: Support larger filenames on the Hurd.
8508         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
8509         Reported by Paul Eggert.
8510
8511         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
8512         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
8513         * lib/chdir-long.h: Include pathmax.h.
8514         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
8515         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
8516         (PATH_MAX): Remove code that is done by pathmax.h.
8517         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
8518         * lib/tmpfile.c: Add a comment.
8519         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
8520         * modules/chdir-long (Depends-on): Add pathmax.
8521         * modules/getcwd (Depends-on): Add pathmax.
8522         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
8523         is not defined.
8524         * doc/posix-headers/limits.texi: Mention the pathmax module.
8525         * NEWS: Mention the change.
8526
8527 2011-08-02  Bruno Haible  <bruno@clisp.org>
8528
8529         pthread_sigmask: Actually use results of gl_THREADLIB.
8530         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
8531         gl_THREADLIB, not gl_[]THREADLIB.
8532         Reported by Eric Blake.
8533
8534 2011-08-02  Jim Meyering  <meyering@redhat.com>
8535
8536         maint.mk: relax the default _gl_TS_function_match regexp
8537         * top/maint.mk (_gl_TS_function_match): Don't require at least one
8538         space between function name and "(" in an "extern" declaration.
8539         That would fail to match a decl with no space there: extern void foo();
8540
8541 2011-07-31  Iain Nicol  <iain@thenicols.net>
8542
8543         git-version-gen: document that EXTRA_DIST must include .version
8544         * build-aux/git-version-gen: In the how-to-use comment, document
8545         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
8546         will fail when run from an unpacked distribution tarball.
8547
8548 2011-08-01  Bruno Haible  <bruno@clisp.org>
8549
8550         wctype-h: Fix last change.
8551         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
8552         REPLACE_TOWLOWER to 0.
8553         Reported by Sam Steingold <sds@gnu.org>.
8554
8555 2011-07-31  Bruno Haible  <bruno@clisp.org>
8556
8557         frexpl: Update autoconf test.
8558         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
8559         according to changes of 2011-06-20.
8560
8561 2011-07-31  Bruno Haible  <bruno@clisp.org>
8562
8563         sys_utsname: Add support for Minix.
8564         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
8565         <sys/utsname.h>.
8566         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8567         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
8568
8569 2011-07-31  Bruno Haible  <bruno@clisp.org>
8570
8571         strings: Add support for Minix.
8572         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
8573         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
8574         * doc/posix-headers/strings.texi: Document the Minix problem.
8575
8576 2011-07-31  Bruno Haible  <bruno@clisp.org>
8577
8578         wctype-h: Add support for Minix.
8579         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
8580         REPLACE_TOWLOWER.
8581         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
8582         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
8583         REPLACE_ISWCNTRL.
8584
8585 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
8586
8587         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
8588         This is a performance improvement for 64-bit hosts: it causes the
8589         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
8590
8591 2011-07-31  Bruno Haible  <bruno@clisp.org>
8592
8593         stdioext: Add support for Minix.
8594         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
8595         * lib/fpurge.c (fpurge): Likewise.
8596         * lib/freadahead.c (freadahead): Likewise.
8597         * lib/freadable.c (freadable): Likewise.
8598         * lib/freading.c (freading): Likewise.
8599         * lib/freadptr.c (freadptr): Likewise.
8600         * lib/freadseek.c (freadptrinc): Likewise.
8601         * lib/fseeko.c (rpl_fseeko): Likewise.
8602         * lib/fseterr.c (fseterr): Likewise.
8603         * lib/fwritable.c (fwritable): Likewise.
8604         * lib/fwriting.c (fwriting): Likewise.
8605         * lib/fflush.c (clear_ungetc_buffer): Update comment.
8606         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
8607
8608 2011-07-31  Bruno Haible  <bruno@clisp.org>
8609
8610         errno: Port to Minix.
8611         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
8612         ECONNABORTED are defined.
8613         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
8614         GNULIB_defined_ECONNABORTED): New macros.
8615         * lib/strerror-override.h (strerror_override): Test also
8616         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
8617         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
8618         ECONNABORTED.
8619         * doc/posix-headers/errno.texi: Mention the Minix problem.
8620
8621 2011-07-31  Bruno Haible  <bruno@clisp.org>
8622
8623         Work around declaration collisions on Minix.
8624         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
8625         defined, set REPLACE_MBSINIT.
8626         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
8627         defined, set REPLACE_MBRTOWC.
8628         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
8629         set REPLACE_MBRLEN.
8630         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
8631         defined, set REPLACE_MBSRTOWCS.
8632         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
8633         defined, set REPLACE_WCRTOMB.
8634         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
8635         defined, set REPLACE_WCSRTOMBS.
8636
8637 2011-07-31  Bruno Haible  <bruno@clisp.org>
8638
8639         Add support for Minix with ACK compiler.
8640         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
8641         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
8642         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
8643
8644 2011-07-31  Bruno Haible  <bruno@clisp.org>
8645
8646         Documentation about Minix.
8647         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
8648         * doc/glibc-headers/*.texi: Likewise.
8649         * doc/posix-functions/*.texi: Likewise.
8650         * doc/glibc-functions/*.texi: Likewise.
8651
8652 2011-07-31  Bruno Haible  <bruno@clisp.org>
8653
8654         snippet/warn-on-use: Fix indentation.
8655         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
8656
8657 2011-07-25  Jim Meyering  <meyering@redhat.com>
8658
8659         tests: test-update-copyright.sh: remove unnecessary "rm" commands
8660         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
8661         commands.
8662
8663 2011-07-27  Jim Meyering  <meyering@redhat.com>
8664
8665         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
8666         * top/maint.mk (gl_extract_significant_defines_): Now that
8667         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
8668         gnulib/lib/signal.in.h, and now that we recommend to
8669         define-if-undefined those two symbols in application code,
8670         we must filter them out of the "significant" list.
8671         This avoids a "make syntax-check" failure in coreutils.
8672
8673 2011-07-26  Eric Blake  <eblake@redhat.com>
8674
8675         warnings: add comments about previous patch
8676         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
8677         * m4/include_next.m4: Likewise.
8678         * m4/warn-on-use.m4: Likewise.
8679         * m4/warnings.m4: Likewise, and simplify use.
8680         Suggested by Stefano Lattarini.
8681
8682         include-next, warnings: support older autoconf
8683         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
8684         AS_VAR_PUSHDEF in a way that works with older autoconf.
8685         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
8686         Reported by Daniel P. Berrange.
8687
8688 2011-07-25  Bruno Haible  <bruno@clisp.org>
8689
8690         fseek, ftell: Fix doc.
8691         * doc/posix-functions/fseek.texi: Reword statement about
8692         AC_SYS_LARGEFILE.
8693         * doc/posix-functions/ftell.texi: Likewise.
8694
8695 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8696             Bruno Haible  <bruno@clisp.org>
8697
8698         Add dependencies to the 'largefile' module.
8699         * modules/fopen (Depends-on): Add 'largefile'.
8700         * modules/freopen (Depends-on): Likewise.
8701         * modules/fseeko (Depends-on): Likewise.
8702         * modules/ftello (Depends-on): Likewise.
8703         * modules/glob (Depends-on): Likewise.
8704         * modules/lseek (Depends-on): Likewise.
8705         * modules/lstat (Depends-on): Likewise.
8706         * modules/mkostemp (Depends-on): Likewise.
8707         * modules/mkostemps (Depends-on): Likewise.
8708         * modules/mkstemp (Depends-on): Likewise.
8709         * modules/mkstemps (Depends-on): Likewise.
8710         * modules/open (Depends-on): Likewise.
8711         * modules/openat (Depends-on): Likewise.
8712         * modules/pread (Depends-on): Likewise.
8713         * modules/pwrite (Depends-on): Likewise.
8714         * modules/scandir (Depends-on): Likewise.
8715         * modules/stat (Depends-on): Likewise.
8716         * modules/tmpfile (Depends-on): Likewise.
8717         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
8718         since the containing module now depends on the largefile module.
8719         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
8720         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
8721         off_t is fixed by gnulib.
8722         * doc/posix-functions/freopen.texi: Likewise.
8723         * doc/posix-functions/fseeko.texi: Likewise.
8724         * doc/posix-functions/fstatat.texi: Likewise.
8725         * doc/posix-functions/ftello.texi: Likewise.
8726         * doc/posix-functions/glob.texi: Likewise.
8727         * doc/posix-functions/lseek.texi: Likewise.
8728         * doc/posix-functions/lstat.texi: Likewise.
8729         * doc/posix-functions/mkstemp.texi: Likewise.
8730         * doc/posix-functions/open.texi: Likewise.
8731         * doc/posix-functions/openat.texi: Likewise.
8732         * doc/posix-functions/pread.texi: Likewise.
8733         * doc/posix-functions/pwrite.texi: Likewise.
8734         * doc/posix-functions/scandir.texi: Likewise.
8735         * doc/posix-functions/stat.texi: Likewise.
8736         * doc/posix-functions/tmpfile.texi: Likewise.
8737         * doc/glibc-functions/mkostemp.texi: Likewise.
8738         * doc/glibc-functions/mkostemps.texi: Likewise.
8739         * doc/glibc-functions/mkstemps.texi: Likewise.
8740
8741 2011-07-25  Bruno Haible  <bruno@clisp.org>
8742
8743         fcntl: Move AC_LIBOBJ invocation to module description.
8744         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
8745         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
8746
8747         fcntl: Remove call-in from fchdir.m4.
8748         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
8749         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
8750
8751         dup3: Remove potential call-in from fchdir.m4.
8752         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
8753         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
8754
8755         dup2: Move AC_LIBOBJ invocation to module description.
8756         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
8757         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
8758         Don't invoke AC_LIBOBJ.
8759         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
8760
8761         dup2: Remove call-in from fchdir.m4.
8762         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
8763         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
8764
8765         fclose: Move AC_LIBOBJ invocation to module description.
8766         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
8767         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
8768         to 1.
8769         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
8770
8771         fclose: Remove call-in from close.m4.
8772         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
8773         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
8774
8775         close: Move AC_LIBOBJ invocation to module description.
8776         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
8777         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
8778         1.
8779         * modules/close (configure.ac): Invoke AC_LIBOBJ.
8780
8781         close: Remove call-in from fchdir.m4.
8782         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
8783         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
8784
8785         open: Move AC_LIBOBJ invocation to module description.
8786         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
8787         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
8788         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
8789
8790         open: Remove call-in from fchdir.m4.
8791         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
8792         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
8793
8794         fchdir: Start to remove gl_REPLACE_* idiom.
8795         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
8796         (gl_FUNC_FCHDIR): Invoke it.
8797
8798 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8799
8800         * lib/ftell.c (ftell): Comment out cast.
8801
8802         close: use gl_REPLACE_FCLOSE only if defined
8803         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
8804         is defined.  The close module doesn't depend on the fclose module
8805         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
8806         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
8807         I reproduced the problem with "./gnulib-tool --test close sys_socket".
8808
8809 2011-07-24  Jim Meyering  <meyering@redhat.com>
8810
8811         test-select.h: avoid warning when using gcc's -Wmissing-declarations
8812         * tests/test-select.h (test_function): Declare as "static".
8813
8814 2011-07-24  Bruno Haible  <bruno@clisp.org>
8815
8816         doc: Mention the effects of AC_SYS_LARGEFILE.
8817         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
8818         on this function.
8819         * doc/posix-functions/aio_error.texi: Likewise.
8820         * doc/posix-functions/aio_fsync.texi: Likewise.
8821         * doc/posix-functions/aio_read.texi: Likewise.
8822         * doc/posix-functions/aio_return.texi: Likewise.
8823         * doc/posix-functions/aio_suspend.texi: Likewise.
8824         * doc/posix-functions/aio_write.texi: Likewise.
8825         * doc/posix-functions/fgetpos.texi: Likewise.
8826         * doc/posix-functions/fopen.texi: Likewise.
8827         * doc/posix-functions/freopen.texi: Likewise.
8828         * doc/posix-functions/fsetpos.texi: Likewise.
8829         * doc/posix-functions/fstatvfs.texi: Likewise.
8830         * doc/posix-functions/ftruncate.texi: Likewise.
8831         * doc/posix-functions/ftw.texi: Likewise.
8832         * doc/posix-functions/getrlimit.texi: Likewise.
8833         * doc/posix-functions/glob.texi: Likewise.
8834         * doc/posix-functions/lio_listio.texi: Likewise.
8835         * doc/posix-functions/lockf.texi: Likewise.
8836         * doc/posix-functions/mkstemp.texi: Likewise.
8837         * doc/posix-functions/mmap.texi: Likewise.
8838         * doc/posix-functions/nftw.texi: Likewise.
8839         * doc/posix-functions/openat.texi: Likewise.
8840         * doc/posix-functions/opendir.texi: Likewise.
8841         * doc/posix-functions/posix_fadvise.texi: Likewise.
8842         * doc/posix-functions/posix_fallocate.texi: Likewise.
8843         * doc/posix-functions/pread.texi: Likewise.
8844         * doc/posix-functions/pwrite.texi: Likewise.
8845         * doc/posix-functions/readdir.texi: Likewise.
8846         * doc/posix-functions/readdir_r.texi: Likewise.
8847         * doc/posix-functions/rewinddir.texi: Likewise.
8848         * doc/posix-functions/scandir.texi: Likewise.
8849         * doc/posix-functions/seekdir.texi: Likewise.
8850         * doc/posix-functions/setrlimit.texi: Likewise.
8851         * doc/posix-functions/statvfs.texi: Likewise.
8852         * doc/posix-functions/telldir.texi: Likewise.
8853         * doc/posix-functions/tmpfile.texi: Likewise.
8854         * doc/posix-functions/truncate.texi: Likewise.
8855         * doc/glibc-functions/fallocate.texi: Likewise.
8856         * doc/glibc-functions/fstatfs.texi: Likewise.
8857         * doc/glibc-functions/fts_children.texi: Likewise.
8858         * doc/glibc-functions/fts_read.texi: Likewise.
8859         * doc/glibc-functions/getdirentries.texi: Likewise.
8860         * doc/glibc-functions/mkostemp.texi: Likewise.
8861         * doc/glibc-functions/mkostemps.texi: Likewise.
8862         * doc/glibc-functions/mkstemps.texi: Likewise.
8863         * doc/glibc-functions/preadv.texi: Likewise.
8864         * doc/glibc-functions/pwritev.texi: Likewise.
8865         * doc/glibc-functions/sendfile.texi: Likewise.
8866         * doc/glibc-functions/statfs.texi: Likewise.
8867
8868 2011-07-24  Bruno Haible  <bruno@clisp.org>
8869
8870         doc: Fix typo.
8871         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
8872
8873 2011-07-24  Bruno Haible  <bruno@clisp.org>
8874
8875         doc: Mention fsusage.
8876         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
8877
8878 2011-07-24  Bruno Haible  <bruno@clisp.org>
8879
8880         doc: Mention new glibc headers and functions.
8881         * doc/glibc-headers/gshadow.texi: New file.
8882         * doc/glibc-functions/endsgent.texi: New file.
8883         * doc/glibc-functions/fgetsgent.texi: New file.
8884         * doc/glibc-functions/fgetsgent_r.texi: New file.
8885         * doc/glibc-functions/getsgent.texi: New file.
8886         * doc/glibc-functions/getsgent_r.texi: New file.
8887         * doc/glibc-functions/getsgnam.texi: New file.
8888         * doc/glibc-functions/getsgnam_r.texi: New file.
8889         * doc/glibc-functions/putsgent.texi: New file.
8890         * doc/glibc-functions/setsgent.texi: New file.
8891         * doc/glibc-functions/sgetsgent.texi: New file.
8892         * doc/glibc-functions/sgetsgent_r.texi: New file.
8893         * doc/glibc-functions/malloc_info.texi: New file.
8894         * doc/glibc-functions/preadv.texi: New file.
8895         * doc/glibc-functions/pwritev.texi: New file.
8896         * doc/glibc-functions/register_printf_modifier.texi: New file.
8897         * doc/glibc-functions/register_printf_specifier.texi: New file.
8898         * doc/glibc-functions/register_printf_type.texi: New file.
8899         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
8900         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
8901         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
8902         * doc/glibc-functions/pthread_getname_np.texi: New file.
8903         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
8904         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
8905         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
8906         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
8907         * doc/glibc-functions/pthread_setname_np.texi: New file.
8908         * doc/glibc-functions/pthread_sigqueue.texi: New file.
8909         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
8910         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
8911         * doc/glibc-functions/qsort_r.texi: New file.
8912         * doc/glibc-functions/quick_exit.texi: New file.
8913         * doc/glibc-functions/syncfs.texi: New file.
8914         * doc/gnulib.texi: Include them.
8915         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
8916         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
8917         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
8918         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
8919         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
8920         * doc/glibc-functions/execvpe.texi: Likewise.
8921
8922 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8923
8924         ftell: don't include <unistd.h>
8925         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
8926         guaranteed to define off_t, and the ftell module depends on the
8927         stdio module.
8928
8929         ftell: do not assume wraparound signed arithmetic
8930         * lib/ftell.c: Include <limits.h>.
8931         (ftell): Don't assume wraparound signed arithmetic.
8932
8933 2011-07-24  Bruno Haible  <bruno@clisp.org>
8934
8935         close: No longer depend on module 'fclose'.
8936         * modules/close (Depends-on): Remove fclose.
8937         * NEWS: Mention the change.
8938         Suggested by Sam Steingold <sds@gnu.org>.
8939
8940 2011-07-24  Bruno Haible  <bruno@clisp.org>
8941
8942         fsusage: Enable large volume support on AIX >= 5.2.
8943         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
8944         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
8945         instead of STAT_STATVFS.
8946         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
8947
8948         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
8949         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
8950         f_blocks field only on MacOS X.
8951
8952         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
8953         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
8954         * modules/fsusage (Depends-on): Add largefile.
8955
8956 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8957
8958         * README: Modernize discussion of signed integers.
8959         Assuming overflow wraparound is no longer safe.
8960         Mention ones' complement and signed magnitude.
8961
8962 2011-07-22  Bruno Haible  <bruno@clisp.org>
8963
8964         select tests, pselect tests: Refactor.
8965         * tests/test-select.h: New file, extracted from tests/test-select.c.
8966         (select_fn): New type.
8967         (test, do_select, do_select_nowait, do_select_wait, test_tty,
8968         test_connect_first, test_accept_first, test_pair, test_socket_pair,
8969         test_pipe): Add my_select argument.
8970         (test_function): Renamed from main. Add my_select argument.
8971         * tests/test-select.c: Move most code to tests/test-select.h. Include
8972         test-select.h.
8973         * modules/select-tests (Files): Add tests/test-select.h.
8974         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
8975         (my_select, main): New functions.
8976         * modules/pselect-tests (Files): Add tests/test-select.h,
8977         tests/macros.h, tests/signature.h.
8978         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
8979         (configure.ac): Check for <sys/wait.h>.
8980
8981 2011-07-22  Bruno Haible  <bruno@clisp.org>
8982
8983         sys_select tests: Check the signature of FD_*.
8984         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
8985         signature tests from here...
8986         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
8987         here.
8988         * modules/sys_select-tests (Files): Add tests/signature.h.
8989
8990 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8991
8992         largefile: new module, replacing large-inode
8993         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
8994         * MODULES.html.sh: Add largefile, remove large-inode.
8995         * modules/largefile, m4/largefile.m4: New files.
8996         * modules/large-inode, m4/large-inode.m4: Remove.
8997
8998         fsusage: port to MacOS X 10.7 with 4 TiB file systems
8999         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9000         implementations that use only 32 bits to count blocks.
9001         On typical hosts with 1024-byte blocks, this fails with file
9002         systems as small as 4 TiB.  Problem reported by Herb Wartens
9003         <http://debbugs.gnu.org/9140> and this should also fix a similar
9004         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9005
9006         large-inode: New module
9007         * MODULES.html.sh: Add it.
9008         * modules/large-inode, m4/large-inode.m4: New files.
9009
9010         extensions: Enable extensions on MacOS X 10.5 and later.
9011         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9012
9013 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9014
9015         file-has-acl: use acl_extended_file_nofollow if available
9016         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9017         (acl_extended_file): New macro.
9018         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9019         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9020
9021 2011-07-21  Bruno Haible  <bruno@clisp.org>
9022
9023         Declare system functions in a way that works with C++.
9024         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9025         declare fdopendir as extern "C".
9026         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9027         declare frexpl as extern "C".
9028         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9029         declare gai_strerror as extern "C".
9030         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9031         programs, declare gai_strerror as extern "C".
9032         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9033         declare getlogin_r as extern "C".
9034         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9035         as extern "C".
9036         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9037         declare ldexpl as extern "C".
9038         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9039         as extern "C".
9040         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9041         program, declare getmntinfo as extern "C".
9042         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9043         stpncpy as extern "C".
9044         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9045         program, declare __xpg_strerror_r as extern "C".
9046         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9047         strndup as extern "C".
9048         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9049         declare memset and bzero as extern "C".
9050         Reported by Sam Steingold <sds@gnu.org>.
9051
9052 2011-07-12  Jim Meyering  <meyering@redhat.com>
9053
9054         maint.mk: prohibit inclusion of "verify.h" without use
9055         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9056
9057 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9058
9059         timer-time: A new module to check for timer_settime()
9060         * m4/timer_time.m4: Check for the posix function.
9061         * modules/timer-time: Add the new module.
9062         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9063         Mention it.
9064
9065 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9066             Bruno Haible  <bruno@clisp.org>
9067
9068         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9069         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9070         not defined, assume POSIX threads and look for pthread_sigmask in
9071         $LIBS, without changing $CPPFLAGS.
9072
9073 2011-07-19  Bruno Haible  <bruno@clisp.org>
9074
9075         strstr: Update cross-compilation guess.
9076         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9077         CPUs, guess no, in view of glibc
9078         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9079         Suggested by Eric Blake. Reported by Reuben Thomas.
9080
9081 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9082
9083         getopt-gnu: suppress core dumps from detection code
9084         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9085         to suppress core dumps that may well occur on glibc systems.
9086         * modules/getopt-gnu: Depend on nocrash.
9087
9088 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9089
9090         pthread_sigmask: ensure usleep is declared
9091         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9092         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9093
9094 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9095
9096         doc: Document NonStop portability issues.
9097         * doc/posix-functions/sigaction.texi (sigaction):
9098         * doc/posix-headers/signal.texi (signal.h):
9099         Document NonStop.  See Joachim Schmitz in
9100         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9101
9102 2011-07-15  Bruno Haible  <bruno@clisp.org>
9103
9104         ffsl, ffsll: Avoid unportable behaviour.
9105         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9106
9107 2011-07-15  Bruno Haible  <bruno@clisp.org>
9108
9109         ffs: More tests.
9110         * tests/test-ffs.c (NBITS): New macro.
9111         (main): Add more tests.
9112         * tests/test-ffsl.c (NBITS): New macro.
9113         (main): Add more tests.
9114         * tests/test-ffsll.c (NBITS): New macro.
9115         (main): Add more tests.
9116
9117 2011-07-15  Eric Blake  <eblake@redhat.com>
9118
9119         ffsl, ffsll: new modules
9120         * modules/ffsl: New file.
9121         * modules/ffsll: Likewise.
9122         * m4/ffsl.m4: Likewise.
9123         * m4/ffsll.m4: Likewise.
9124         * lib/ffsl.c: Likewise.
9125         * lib/ffsl.h: Likewise.
9126         * lib/ffsll.c: Likewise.
9127         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9128         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9129         * modules/string (Makefile.am): Substitute witnesses.
9130         * lib/strings.in.h (ffsl, ffsll): Declare.
9131         * modules/ffsl-tests: New test file.
9132         * modules/ffsll-tests: Likewise.
9133         * tests/test-ffsl.c: Likewise.
9134         * tests/test-ffsll.c: Likewise.
9135         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9136         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9137         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9138
9139         ffs: fix m4 prerequisite
9140         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9141
9142         ffs: avoid undefined behavior
9143         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9144         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9145         Reported by Bruno Haible.
9146
9147 2011-07-12  Bruno Haible  <bruno@clisp.org>
9148
9149         pthread_sigmask: Rely on module 'threadlib'.
9150         * modules/pthread_sigmask (Depends-on): Add threadlib.
9151         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9152         is defined.
9153
9154 2011-07-12  Bruno Haible  <bruno@clisp.org>
9155
9156         regex: Depend on module 'strcase'.
9157         * modules/regex (Depends-on): Add strcase, for strcasecmp().
9158
9159 2011-07-12  Jim Meyering  <meyering@redhat.com>
9160
9161         warn-on-use: fix typo in file name
9162         * modules/snippet/warn-on-use (Files): Correct file name:
9163         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
9164
9165 2011-07-12  Bruno Haible  <bruno@clisp.org>
9166
9167         strings: Document module.
9168         * doc/posix-headers/strings.texi: Mention module 'strings'.
9169
9170 2011-07-12  Bruno Haible  <bruno@clisp.org>
9171
9172         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9173         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9174         (Files, Makefile.am): Update.
9175         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9176         * modules/stdlib (Depends-on): Update.
9177
9178 2011-07-12  Bruno Haible  <bruno@clisp.org>
9179
9180         * NEWS: Mention the changes.
9181
9182         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9183         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9184         (Files, Makefile.am): Update.
9185         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9186         * modules/arpa_inet (Depends-on): Update.
9187         * modules/ctype (Depends-on): Update.
9188         * modules/dirent (Depends-on): Update.
9189         * modules/fcntl-h (Depends-on): Update.
9190         * modules/glob (Depends-on): Update.
9191         * modules/iconv-h (Depends-on): Update.
9192         * modules/inttypes-incomplete (Depends-on): Update.
9193         * modules/langinfo (Depends-on): Update.
9194         * modules/locale (Depends-on): Update.
9195         * modules/math (Depends-on): Update.
9196         * modules/netdb (Depends-on): Update.
9197         * modules/poll-h (Depends-on): Update.
9198         * modules/pty (Depends-on): Update.
9199         * modules/search (Depends-on): Update.
9200         * modules/signal (Depends-on): Update.
9201         * modules/spawn (Depends-on): Update.
9202         * modules/stdio (Depends-on): Update.
9203         * modules/stdlib (Depends-on): Update.
9204         * modules/string (Depends-on): Update.
9205         * modules/strings (Depends-on): Update.
9206         * modules/sys_file (Depends-on): Update.
9207         * modules/sys_ioctl (Depends-on): Update.
9208         * modules/sys_select (Depends-on): Update.
9209         * modules/sys_socket (Depends-on): Update.
9210         * modules/sys_stat (Depends-on): Update.
9211         * modules/sys_time (Depends-on): Update.
9212         * modules/sys_times (Depends-on): Update.
9213         * modules/sys_utsname (Depends-on): Update.
9214         * modules/sys_wait (Depends-on): Update.
9215         * modules/termios (Depends-on): Update.
9216         * modules/time (Depends-on): Update.
9217         * modules/unistd (Depends-on): Update.
9218         * modules/wchar (Depends-on): Update.
9219         * modules/wctype-h (Depends-on): Update.
9220         * MODULES.html.sh (Support for building libraries and executables):
9221         Update.
9222
9223         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
9224         * modules/snippet/unused-parameter: Renamed from
9225         modules/unused-parameter.
9226         (Files, Makefile.am): Update.
9227         * build-aux/snippet/unused-parameter.h: Renamed from
9228         build-aux/unused-parameter.h.
9229         * modules/selinux-h (Depends-on): Update.
9230         * modules/unistr/base (Depends-on): Update.
9231         * MODULES.html.sh (Core language properties): Update.
9232
9233         Rename module 'link-warning' to 'snippet/link-warning'.
9234         * modules/snippet/link-warning: Renamed from modules/link-warning.
9235         (Files, Makefile.am): Update.
9236         * build-aux/snippet/link-warning.h: Renamed from
9237         build-aux/link-warning.h.
9238         * MODULES.html.sh (Support for building libraries and executables):
9239         Update.
9240
9241         Rename module 'c++defs' to 'snippet/c++defs'.
9242         * modules/snippet/c++defs: Renamed from modules/c++defs.
9243         (Files, Makefile.am): Update.
9244         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
9245         * modules/arpa_inet (Depends-on): Update.
9246         * modules/ctype (Depends-on): Update.
9247         * modules/dirent (Depends-on): Update.
9248         * modules/fcntl-h (Depends-on): Update.
9249         * modules/glob (Depends-on): Update.
9250         * modules/iconv-h (Depends-on): Update.
9251         * modules/langinfo (Depends-on): Update.
9252         * modules/locale (Depends-on): Update.
9253         * modules/math (Depends-on): Update.
9254         * modules/netdb (Depends-on): Update.
9255         * modules/poll-h (Depends-on): Update.
9256         * modules/pty (Depends-on): Update.
9257         * modules/search (Depends-on): Update.
9258         * modules/signal (Depends-on): Update.
9259         * modules/spawn (Depends-on): Update.
9260         * modules/stdio (Depends-on): Update.
9261         * modules/stdlib (Depends-on): Update.
9262         * modules/string (Depends-on): Update.
9263         * modules/strings (Depends-on): Update.
9264         * modules/sys_ioctl (Depends-on): Update.
9265         * modules/sys_select (Depends-on): Update.
9266         * modules/sys_socket (Depends-on): Update.
9267         * modules/sys_stat (Depends-on): Update.
9268         * modules/sys_time (Depends-on): Update.
9269         * modules/sys_wait (Depends-on): Update.
9270         * modules/termios (Depends-on): Update.
9271         * modules/time (Depends-on): Update.
9272         * modules/unistd (Depends-on): Update.
9273         * modules/wchar (Depends-on): Update.
9274         * modules/wctype-h (Depends-on): Update.
9275
9276         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
9277         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
9278         (Files, Makefile.am): Update.
9279         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
9280         * modules/argv-iter (Depends-on): Update.
9281         * modules/arpa_inet (Depends-on): Update.
9282         * modules/dirent (Depends-on): Update.
9283         * modules/fcntl-h (Depends-on): Update.
9284         * modules/fnmatch (Depends-on): Update.
9285         * modules/getopt-posix (Depends-on): Update.
9286         * modules/glob (Depends-on): Update.
9287         * modules/iconv-h (Depends-on): Update.
9288         * modules/inttypes-incomplete (Depends-on): Update.
9289         * modules/locale (Depends-on): Update.
9290         * modules/math (Depends-on): Update.
9291         * modules/netdb (Depends-on): Update.
9292         * modules/search (Depends-on): Update.
9293         * modules/signal (Depends-on): Update.
9294         * modules/spawn (Depends-on): Update.
9295         * modules/stdio (Depends-on): Update.
9296         * modules/stdlib (Depends-on): Update.
9297         * modules/string (Depends-on): Update.
9298         * modules/strings (Depends-on): Update.
9299         * modules/sys_socket (Depends-on): Update.
9300         * modules/sys_stat (Depends-on): Update.
9301         * modules/sys_time (Depends-on): Update.
9302         * modules/sys_times (Depends-on): Update.
9303         * modules/sys_utsname (Depends-on): Update.
9304         * modules/time (Depends-on): Update.
9305         * modules/unistd (Depends-on): Update.
9306         * modules/wchar (Depends-on): Update.
9307         * MODULES.html.sh (Support for building libraries and executables):
9308         Update.
9309
9310 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9311
9312         Improvements on _Noreturn and related modules.
9313
9314         modules/_Exit-tests: test _Noreturn too
9315         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
9316         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
9317         (main): Use them.
9318
9319         stdnoreturn, stdnoreturn-tests: remove modules
9320         They're not needed here and a bit premature for use elsewhere.  See
9321         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
9322         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
9323         * tests/test-stdnoreturn.c: Remove files.
9324         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
9325         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
9326         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
9327         and using noreturn.
9328         * modules/openat, modules/sigpipe-die, modules/xalloc:
9329         * modules/xmemdup0, modules/xstrtol:
9330         Remove dependency on stdnoreturn.
9331
9332         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
9333         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
9334         Reparenthesize to avoid GCC warning.
9335         Support Microsoft's syntax.
9336         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
9337
9338         _Noreturn-tests: remove module
9339         * modules/_Noreturn-tests: Remove.
9340         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
9341         * tests/test-_Noreturn.c: Remove.
9342         * tests/test-stdnoreturn.c: Merge from the old
9343         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
9344
9345 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9346
9347         _Noreturn, stdnoreturn, and related modules.
9348
9349         * top/maint.mk: Adjust to new noreturn support.
9350         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
9351         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
9352
9353         xalloc: use stdnoreturn.h
9354         * lib/xalloc.h: Include <stdnoreturn.h>.
9355         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9356         * modules/xalloc (Depends-on): Add stdnoreturn.
9357
9358         xstrtol: use stdnoreturn.h
9359         * lib/xstrtol.h: Include <stdnoreturn.h>.
9360         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9361         * modules/xstrtol (Depends-on): Add stdnoreturn.
9362
9363         xmemdup0: use stdnoreturn.h
9364         * lib/xmemdup0.h: Include <stdnoreturn.h>.
9365         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9366         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
9367
9368         sigpipe-die: use stdnoreturn.h
9369         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
9370         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9371         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
9372
9373         openat: use stdnoreturn.h
9374         * lib/openat.h: Include <stdnoreturn.h>.
9375         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9376         * modules/openat (Depends-on): Add stdnoreturn.
9377
9378         * lib/openat-die.c (openat_save_fail): Modernize comment.
9379
9380         * lib/xalloc-die.c (xalloc_die): Modernize comment.
9381
9382         * lib/glthread/thread.h: Modernize comment.
9383
9384         obstack: use _Noreturn
9385         * lib/obstack.c (__attribute__): Remove macro.
9386         (print_and_abort): Use _Noreturn.
9387
9388         c-stack: use _Noreturn
9389         * lib/c-stack.c (die, overflow_handler, segv_handler):
9390         Use _Noreturn rather than __attribute__((noreturn)).
9391
9392         argmatch-tests, exclude_tests: use _Noreturn
9393         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
9394         Remove.
9395         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
9396
9397         stdlib: use _Noreturn
9398         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
9399         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
9400         * modules/stdlib (Depends-on): Add _Noreturn.
9401         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
9402
9403         stdnoreturn-tests: new module
9404         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
9405
9406         stdnoreturn: new module
9407         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
9408         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
9409
9410         _Noreturn-tests: new module
9411         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
9412
9413         _Noreturn: new module
9414         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
9415         New section, mentioning it.
9416         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
9417
9418         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
9419
9420 2011-07-11  Eric Blake  <eblake@redhat.com>
9421
9422         ffs: new module
9423         * modules/ffs: New file.
9424         * m4/ffs.m4: Likewise.
9425         * lib/ffs.c: Likewise.
9426         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
9427         * modules/strings (Makefile.am): Substitute witness.
9428         (Depends-on): Add c++defs.
9429         * lib/strings.in.h (ffs): Declare.
9430         * modules/ffs-tests: New test file.
9431         * tests/test-ffs.c: Test new module.
9432         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9433         * doc/posix-functions/ffs.texi (ffs): Likewise.
9434
9435         regex: avoid compiler warning
9436         * lib/regex.c (includes): Include <strings.h>, for use of
9437         strcasecmp in regcomp.c.
9438         Reported by Joachim Schmitz.
9439
9440 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
9441
9442         stdint: respect system's intmax_t if INTMAX_MAX
9443         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
9444         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
9445         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
9446         long but int64_t is long long, and where we will clash with the
9447         system intmax_t if we override it.  See
9448         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
9449         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
9450         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
9451         similarly for UINTMAX_C.
9452
9453 2011-07-08  Bruno Haible  <bruno@clisp.org>
9454
9455         pthread_sigmask tests: Avoid a compiler warning.
9456         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
9457         non-zero.
9458
9459         sigprocmask tests: A better way to avoid a compiler warning.
9460         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
9461         (main): Complain if system() returns non-zero.
9462         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
9463
9464 2011-07-08  Bruno Haible  <bruno@clisp.org>
9465
9466         pthread_sigmask: Work around IRIX bug.
9467         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
9468         bug.
9469         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
9470         there may be unblocked pending signals.
9471         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
9472
9473 2011-07-08  Bruno Haible  <bruno@clisp.org>
9474
9475         pthread_sigmask: Work around Cygwin bug.
9476         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
9477         bug.
9478         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
9479         the system's pthread_sigmask function.
9480         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
9481
9482 2011-07-08  Bruno Haible  <bruno@clisp.org>
9483
9484         pthread_sigmask: Work around bug in single-threaded implementation.
9485         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
9486         FreeBSD, HP-UX, Solaris bug.
9487         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
9488         * lib/pthread_sigmask.c: Include <stddef.h>.
9489         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
9490         the system's pthread_sigmask function.
9491         * modules/pthread_sigmask (configure.ac): Invoke
9492         gl_PREREQ_PTHREAD_SIGMASK.
9493         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
9494         HP-UX, Solaris.
9495
9496 2011-07-08  Eric Blake  <eblake@redhat.com>
9497
9498         test-sigprocmask: avoid compiler warning
9499         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
9500         * tests/test-sigprocmask.c (main): Use it to silence warning.
9501         Reported by Jim Meyering.
9502
9503         test-snprintf: avoid compiler warning
9504         * tests/test-snprintf.c (main): Avoid shadowed declaration.
9505         * tests/test-vsnprintf.c (main): Likewise.
9506         Reported by Jim Meyering.
9507
9508 2011-07-08  Bruno Haible  <bruno@clisp.org>
9509
9510         Tests for module 'pthread_sigmask'.
9511         * modules/pthread_sigmask-tests: New file.
9512         * tests/test-pthread_sigmask1.c: New file, based on
9513         tests/test-sigprocmask.c.
9514         * tests/test-pthread_sigmask2.c: New file.
9515
9516 2011-07-08  Jim Meyering  <meyering@redhat.com>
9517
9518         test-getopt.h: avoid warning about an unused variable
9519         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
9520
9521 2011-07-07  Jim Meyering  <meyering@redhat.com>
9522
9523         maint: reduce list of files exempt from sc_prohibit_leading_TABs
9524         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
9525         now that it no longer contains leading TABs.
9526         Remove unused "url=FIXME" statement.
9527
9528 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9529
9530         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
9531         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9532         When gl_THREADLIB is not in use, assume that the POSIX sematics
9533         are desired.  This is better for Emacs, which uses POSIX semantics
9534         on GNUish and/or POSIXish platforms, and does not use threads at
9535         all otherwise.
9536
9537         pthread_sigmask: fix typo when testing for libraries
9538         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9539         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
9540
9541 2011-07-08  Eric Blake  <eblake@redhat.com>
9542
9543         fts: introduce FTS_NOATIME
9544         * lib/fts_.h (FTS_NOATIME): New bit flag.
9545         (FTS_OPTIONMASK): Adjust.
9546         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
9547         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
9548
9549 2011-07-08  Bruno Haible  <bruno@clisp.org>
9550
9551         Tests for module 'thread'.
9552         * modules/thread-tests: New file.
9553         * tests/test-thread_self.c: New file.
9554         * tests/test-thread_create.cc: New file.
9555
9556 2011-07-08  Bruno Haible  <bruno@clisp.org>
9557
9558         thread: Avoid gcc warnings when using gl_thread_self().
9559         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
9560         'void *'.
9561         (gl_thread_self_pointer): Update.
9562
9563 2011-07-07  Bruno Haible  <bruno@clisp.org>
9564
9565         signal-c++-tests: Check declaration of pthread_sigmask.
9566         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
9567         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
9568         $(LIB_PTHREAD_SIGMASK).
9569
9570 2011-07-07  Bruno Haible  <bruno@clisp.org>
9571
9572         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
9573         * lib/signal.in.h (pthread_sigmask): Override if
9574         REPLACE_PTHREAD_SIGMASK is 1.
9575         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9576         REPLACE_PTHREAD_SIGMASK.
9577         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
9578         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
9579         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
9580         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9581         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
9582
9583 2011-07-07  Bruno Haible  <bruno@clisp.org>
9584
9585         pthread_sigmask: Ensure declaration in <signal.h>.
9586         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
9587         include <pthread.h>.
9588         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
9589         problem.
9590
9591 2011-07-07  Bruno Haible  <bruno@clisp.org>
9592
9593         pthread_sigmask: Document the module.
9594         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
9595
9596 2011-07-07  Bruno Haible  <bruno@clisp.org>
9597
9598         pthread_sigmask: Follow gnulib conventions.
9599         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
9600         gl_PTHREAD_SIGMASK.
9601         * modules/pthread_sigmask (configure.ac): Update.
9602
9603 2011-07-07  Bruno Haible  <bruno@clisp.org>
9604
9605         pthread_sigmask: Make declaration C++ safe.
9606         * lib/signal.in.h: In two special conditions, just do an #include_next.
9607         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
9608         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
9609         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9610         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
9611         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
9612         not REPLACE_PTHREAD_MASK.
9613         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
9614         not REPLACE_PTHREAD_MASK.
9615         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9616
9617 2011-07-07  Bruno Haible  <bruno@clisp.org>
9618
9619         pthread_sigmask: Fix return value.
9620         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
9621         * lib/pthread_sigmask.c: New file.
9622         * modules/pthread_sigmask (Files): Add it.
9623         (configure.ac): Invoke AC_LIBOBJ.
9624
9625 2011-07-07  Eric Blake  <eblake@redhat.com>
9626
9627         getopt: more portable argv creation
9628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
9629         const, use char arrays rather than strings.
9630         Suggested by Paul Eggert.
9631
9632 2011-07-07  Bruno Haible  <bruno@clisp.org>
9633
9634         Tests for module 'sigprocmask'.
9635         * modules/sigprocmask-tests: New file.
9636         * tests/test-sigprocmask.c: New file.
9637
9638 2011-07-07  Bruno Haible  <bruno@clisp.org>
9639
9640         float tests: Tweak.
9641         * tests/test-float.c (main): Tweak skip message.
9642
9643 2011-07-07  Eric Blake  <eblake@redhat.com>
9644
9645         getopt: avoid compiler warning during configure
9646         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
9647         assigning string literals to non-const pointer.
9648
9649         getopt-gnu: avoid crash in glibc getopt
9650         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
9651         * tests/test-getopt.h (test_getopt): Enhance test.
9652         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9653         * doc/posix-functions/getopt.texi (getopt): Document it.
9654         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
9655         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9656         Likewise.
9657
9658 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
9659
9660         getopt: handle W; without long options in getopt [BZ #12922]
9661         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
9662         but no long options are defined, just return 'W'.
9663
9664 2011-07-07  Bruno Haible  <bruno@clisp.org>
9665
9666         Avoid literal tabs.
9667         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
9668         variable containing a tab instead of a literal tab.
9669         Reported by Jim Meyering.
9670
9671 2011-07-07  Bruno Haible  <bruno@clisp.org>
9672
9673         Comments.
9674         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
9675
9676 2011-07-06  Bruno Haible  <bruno@clisp.org>
9677
9678         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
9679         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
9680         <winsock2.h>.
9681         (rpl_fd_isset, FD_ISSET): New definitions, copied from
9682         lib/sys_socket.in.h.
9683         (close, gethostname): Hide declarations from <winsock2.h>.
9684         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
9685         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
9686         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
9687         (select): Don't override if gnulib's <sys/select.h> was already
9688         included.
9689         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
9690         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
9691         setsockopt, shutdown, select): Tweak indentation.
9692
9693 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9694
9695         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
9696         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
9697         in an application that does not use the sys_select module.
9698
9699 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
9700
9701         poll: do not return 0 on timeout=-1
9702         * lib/poll.c: Loop with yield if no events occured
9703
9704 2011-07-06  Eric Blake  <eblake@redhat.com>
9705
9706         pthread_sigmask: always replace when not using pthread
9707         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
9708         replacement when using some threading other than pthread.  Fix
9709         logic bug.
9710
9711 2011-07-06  Bruno Haible  <bruno@clisp.org>
9712
9713         Comments.
9714         * m4/printf.m4: Update comments about mingw.
9715
9716 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9717
9718         sys_select: define sigset_t more portably
9719         * lib/sys_select.in.h: Always include <sys/types.h>, since
9720         we now need sigset_t and mingw defines it there.
9721         Include <signal.h> before split inclusion guard, to avoid
9722         mishaps on Solaris, whose <signal.h> eventually includes us.
9723         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
9724         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
9725         which come from ...
9726         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
9727         gl_CHECK_TYPE_SIGSET_T.
9728         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
9729         does the real work.
9730         * modules/sys_select (Depends-on): Add 'signal'.
9731
9732         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
9733         Suggested by Bruno Haible.
9734
9735         pselect: Use pthread_sigmask, not sigprocmask.
9736         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
9737         multithreaded apps better than sigprocmask does.
9738         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
9739         sigprocmask directly.
9740
9741 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9742
9743         * lib/pselect.c (pselect): Use plain name, without "rpl_".
9744         Don't #undef,  since we don't need any underlying pselect.
9745         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
9746         (Depends-on): Add select.
9747         (Link): Add $(LIBSOCKET).
9748         These changes suggested by Bruno Haible.
9749
9750         pselect: document better
9751         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9752         * doc/posix-functions/pselect.texi (pselect): Document new module.
9753
9754         pthread_sigmask: new module
9755         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9756         * doc/posix-functions/pthread_sigmask.texi: Document new module.
9757         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
9758         This is done only as a macro; I don't know how well that'll
9759         work for C++.  Move <sys/types.h> include before the include_next,
9760         to avoid mishap on Solaris.
9761         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
9762         * modules/signal (Makefile.am): Substitute the check's results.
9763         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
9764
9765         test-pselect: new module
9766         * modules/pselect-tests, tests/test-pselect.c: New files.
9767         * tests/test-select.c, tests/test-sys_select-c++.cc:
9768         If TEST_PSELECT is defined, test pselect instead of testing select.
9769
9770         * tests/test-sys_select.c (sigset_t): Test for it, too.
9771         Suggested by Bruno Haible.
9772
9773 2011-07-05  Eric Blake  <eblake@redhat.com>
9774
9775         snprintf: guarantee %1$d, for libintl
9776         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
9777         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
9778         * doc/posix-functions/snprintf.texi (snprintf): Update.
9779         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9780         * tests/test-snprintf.c (main): Enhance test.
9781         * tests/test-vsnprintf.c (main): Likewise.
9782
9783 2011-07-05  Jim Meyering  <meyering@redhat.com>
9784
9785         maint: exempt stdio-read.c and stdio-write.c from the cppi check
9786         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
9787         per Bruno's request, to accommodate this idiom (no space after "#")
9788         even when the function is inside an #if block:
9789         char *
9790         gets (char *s)
9791         #undef gets
9792         {
9793           ...
9794         }
9795
9796 2011-07-04  Jim Meyering  <meyering@redhat.com>
9797
9798         maint: indent with spaces, not TABs, and add a rule to check this
9799         * tests/test-userspec.c: Indent with spaces, not TABs.
9800         * tests/test-argp.c: Likewise.
9801         * tests/test-c-stack2.sh: Likewise.
9802         * tests/test-parse-duration.sh: Likewise
9803         * m4/strtod.m4: Likewise.
9804         * m4/alloca.m4: Likewise.
9805         * m4/pselect.m4: Likewise.
9806         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
9807
9808 2011-07-03  Jim Meyering  <meyering@redhat.com>
9809
9810         maint.mk: correct omissions in prohibit_argmatch_without_use check
9811         This rule would mistakenly report that argmatch.h is included without
9812         use even when both the argmatch and invalid_arg macro were used.
9813         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
9814         of argmatch and invalid_arg.
9815
9816 2011-07-03  Bruno Haible  <bruno@clisp.org>
9817
9818         Comments about EINTR.
9819         * lib/safe-read.h: Explain the purpose of this module.
9820         * lib/safe-write.h: Likewise.
9821         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
9822         module.
9823         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
9824         module.
9825         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9826
9827 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9828
9829         xnanosleep: Rewrite to use new dtotimespec module.
9830         It has the conversion code that used to be in xnanosleep.
9831         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
9832         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
9833         (TIME_T_MAX): Remove.
9834         (xnanosleep): Rewrite in terms of dtotimespec.
9835         * modules/xnanosleep (Depends-on): Add dtotimespec.
9836         Remove intprops, stdbool.
9837
9838         timespec-add, timespec-sub: new modules
9839         * lib/timespec.h (timespec_add, timespec_sub): New decls.
9840         * lib/timespec-add.c, lib/timespec-sub.c:
9841         * modules/timespec-add, modules/timespec-sub: New files.
9842
9843         dtotimespec: new module
9844         * lib/timespec.h (dtotimespec): New decl.
9845         * lib/dtotimespec.c, modules/dtotimespec: New files.
9846
9847         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
9848
9849         pselect: new module
9850         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
9851         (pselect): New decls.
9852         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
9853         since the standard pselect decl uses 'restrict'.
9854         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
9855         HAVE_PSELECT, REPLACE_PSELECT.
9856         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
9857         HAVE_PSELECT, REPLACE_PSELECT.
9858         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
9859
9860         sys_select: don't depend on sys_socket
9861         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
9862         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
9863         This fix works on GNU and GNU-like platforms, but has not been tested
9864         on native Windows.
9865         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
9866         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
9867         gl_HEADER_SYS_SOCKET.
9868         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
9869         gl_PREREQ_SYS_H_WINSOCK2.
9870
9871 2011-06-29  Eric Blake  <eblake@redhat.com>
9872
9873         pipe2: fix C89 compile problem
9874         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
9875         Reported by Bruno Haible.
9876
9877         pipe, pipe2: don't corrupt fd on error
9878         * lib/pipe.c (pipe): Leave fd unchanged on error.
9879         * lib/pipe2.c (pipe2): Likewise.
9880         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
9881         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
9882
9883 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
9884
9885         mmap-anon: do not use regular expressions inadvertently
9886         * m4/mmap-anon.m4: Remove trailing period from strings sought
9887         in the output.
9888
9889 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9890
9891         nanosleep: fix integer overflow problem
9892         * lib/nanosleep.c (my_usleep): Don't assume signed integer
9893         arithmetic wraps around on overflow.
9894
9895         nanosleep: simplify carrying
9896         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
9897         first call to the underyling nanosleep, not for the last one.
9898         This doesn't fix any bugs, but it simplifies the computation of
9899         the remaining delay.  Found while auditing integer overflow issues.
9900
9901         dup2: remove test for existence of fcntl
9902         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
9903         "#if HAVE_FCNTL", in the configure-time test program.
9904         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
9905         and therefore speeds up "configure" a bit.  Found while
9906         adding the dup2 module to Emacs.
9907
9908 2011-06-24  Eric Blake  <eblake@redhat.com>
9909
9910         maint.mk: enhance useless header checks
9911         * top/maint.mk (_sc_header_without_use): Check both include
9912         styles.
9913         (sc_prohibit_assert_without_use)
9914         (sc_prohibit_close_stream_without_use)
9915         (sc_prohibit_getopt_without_use)
9916         (sc_prohibit_quotearg_without_use)
9917         (sc_prohibit_quote_without_use)
9918         (sc_prohibit_long_options_without_use)
9919         (sc_prohibit_inttostr_without_use)
9920         (sc_prohibit_ignore_value_without_use)
9921         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
9922         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
9923         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
9924         (sc_prohibit_hash_pjw_without_use)
9925         (sc_prohibit_safe_read_without_use)
9926         (sc_prohibit_argmatch_without_use)
9927         (sc_prohibit_canonicalize_without_use)
9928         (sc_prohibit_root_dev_ino_without_use)
9929         (sc_prohibit_openat_without_use)
9930         (sc_prohibit_c_ctype_without_use)
9931         (sc_prohibit_signal_without_use)
9932         (sc_prohibit_stdio--_without_use)
9933         (sc_prohibit_stdio-safer_without_use)
9934         (sc_prohibit_strings_without_use)
9935         (sc_prohibit_intprops_without_use)
9936         (sc_prohibit_stddef_without_use)
9937         (sc_prohibit_xfreopen_without_use): Update clients.
9938
9939 2011-06-24  Jim Meyering  <meyering@redhat.com>
9940
9941         syntax-check: keep one maint.mk rule in sync with its header
9942         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
9943         of the bug Eric has just fixed, with today's commit 25e4c2ec.
9944         I prefer to avoid temporary files here, so use <(...), but that
9945         is not supported by /bin/sh, so...
9946         (SHELL): Define to /bin/bash.
9947
9948 2011-06-24  Eric Blake  <eblake@redhat.com>
9949
9950         maint.mk: update sc_prohibit_intprops_without_use
9951         * top/maint.mk (_intprops_names): Match recent changes.
9952
9953 2011-06-24  Bruno Haible  <bruno@clisp.org>
9954
9955         strerror-override: No-op tweak.
9956         * lib/strerror-override.h (strerror_override): Reorder conditions,
9957         for consistency with lib/strerror-override.c.
9958
9959 2011-06-23  Eric Blake  <eblake@redhat.com>
9960
9961         maint.mk: test further PATH_MAX issues
9962         * top/maint.mk (sc_prohibit_path_max_array): Rename...
9963         (sc_prohibit_path_max_allocation): ...and also test alloca.
9964         Suggested by Jim Meyering.
9965
9966 2011-06-22  Eric Blake  <eblake@redhat.com>
9967
9968         maint.mk: add syntax-check to avoid char[PATH_MAX]
9969         * top/maint.mk (sc_prohibit_path_max_array): New rule.
9970
9971         stat: be robust to PATH_MAX definition
9972         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
9973         * modules/stat (Depends-on): Add verify.
9974
9975         link: work around IRIX bug
9976         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
9977         * lib/link.c (rpl_link): Work around it.
9978         * tests/test-link.h (test_link): Enhance test.
9979         * doc/posix-functions/link.texi (link): Document the bug.
9980
9981         getopt: silence clang warning
9982         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
9983         dereference.
9984         Reported by Gustavo Martin Domato.
9985
9986 2011-06-22  Jim Meyering  <meyering@redhat.com>
9987
9988         bootstrap: do not insert a blank line into each .gitignore file
9989         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
9990
9991 2011-06-21  Eric Blake  <eblake@redhat.com>
9992
9993         perror: test for output mismatch
9994         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
9995         perror on IRIX.
9996
9997         strerror_r: fix OpenBSD behavior on out-of-range
9998         * lib/strerror_r.c (strerror_r): Always use maximal string.
9999         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10000
10001         strerror_r: fix OpenBSD behavior on 0
10002         * lib/strerror-override.c (strerror_override): Also override 0
10003         when needed.
10004         * lib/strerror-override.h (strerror_override): Likewise.
10005         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10006         earlier.
10007         * lib/strerror_r.c (strerror_r): Likewise.
10008         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10009         behavior...
10010         (gl_FUNC_STRERROR_0): ...into new macro.
10011         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10012         is overridden.
10013         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10014         * modules/strerror-override (Files): Add strerror.m4.
10015         (configure.ac): Also provide override for 0 when needed.
10016         * doc/posix-functions/strerror.texi (strerror): Document this.
10017         * doc/posix-functions/perror.texi (perror): Likewise.
10018
10019         perror: adjust array size
10020         * modules/perror (Depends-on): Add strerror-override.
10021         * lib/perror.c (perror): Use it to avoid magic number.
10022
10023         strerror-override: reduce size
10024         * lib/strerror-override.c (strerror_override): Use fewer lines.
10025
10026 2011-06-20  Bruno Haible  <bruno@clisp.org>
10027
10028         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10029         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10030
10031 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10032
10033         alloca: port to compilers that can optimize like GCC 4.6.0
10034         * lib/alloca.c (find_stack_direction): New signature, taken from
10035         Autoconf git.  This works with GCC 4.6.0.  This code should never
10036         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10037         be used with other compilers that optimize as well as GCC 4.6.0 does.
10038         (alloca): Adjust to new signature.
10039         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10040         New macro, which patches Autoconf in a similar way.
10041
10042         c-stack: stop worrying about stack direction
10043         * lib/c-stack.c (find_stack_direction): Remove.
10044         (segv_handler): Don't worry about stack direction growth, as it's
10045         too much of a pain to configure this correctly, given how compilers
10046         are optimizing-away our stack-growth detection code.  Instead, assume
10047         that any access to just before or just after the stack is OK.
10048         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10049         Don't require AC_FUNC_ALLOCA; no longer needed.
10050
10051 2011-06-20  Eric Blake  <eblake@redhat.com>
10052
10053         test-stat: don't allocate PATH_MAX bytes
10054         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10055         PATH_MAX-sized buffer.
10056         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10057         * modules/stat-tests (Depends-on): Likewise.
10058         * tests/test-fstatat.c (includes): Drop pathmax.h.
10059         * tests/test-stat.c (includes): Likewise.
10060         Reported by Bruno Haible.
10061
10062 2011-06-20  Bruno Haible  <bruno@clisp.org>
10063
10064         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10065         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10066         * lib/float.c: New file.
10067         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10068         REPLACE_FLOAT_LDBL.
10069         * modules/float (Files): Add lib/float.c.
10070         (configure.ac): Invoke AC_LIBOBJ.
10071         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10072
10073 2011-06-20  Bruno Haible  <bruno@clisp.org>
10074
10075         Tests for module 'float'.
10076         * modules/float-tests: New file.
10077         * tests/test-float.c: New file.
10078
10079 2011-06-19  Bruno Haible  <bruno@clisp.org>
10080
10081         isinf: Coding style.
10082         * lib/isinf.c: Use GNU coding style.
10083
10084 2011-06-19  Bruno Haible  <bruno@clisp.org>
10085
10086         linkat test: Avoid test failure on AIX 7.1.
10087         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10088         * tests/test-link.h (test_link): Likewise.
10089
10090 2011-06-19  Bruno Haible  <bruno@clisp.org>
10091
10092         pread test: Avoid test failure on OpenBSD 4.9.
10093         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10094
10095 2011-06-19  Bruno Haible  <bruno@clisp.org>
10096
10097         sprintf-posix: Fix test failure on AIX 7.1.
10098         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10099         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10100         on AIX.
10101         * doc/posix-functions/fprintf.texi: Likewise.
10102         * doc/posix-functions/printf.texi: Likewise.
10103         * doc/posix-functions/snprintf.texi: Likewise.
10104         * doc/posix-functions/sprintf.texi: Likewise.
10105         * doc/posix-functions/vdprintf.texi: Likewise.
10106         * doc/posix-functions/vfprintf.texi: Likewise.
10107         * doc/posix-functions/vprintf.texi: Likewise.
10108         * doc/posix-functions/vsnprintf.texi: Likewise.
10109         * doc/posix-functions/vsprintf.texi: Likewise.
10110
10111 2011-06-19  Bruno Haible  <bruno@clisp.org>
10112
10113         roundl-ieee: Fix test failure on AIX 7.1.
10114         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10115         * doc/posix-functions/roundl.texi: Mention problem with negative
10116         arguments.
10117
10118 2011-06-19  Bruno Haible  <bruno@clisp.org>
10119
10120         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10121         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10122         * doc/posix-functions/round.texi: Mention problem with negative
10123         arguments.
10124         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10125
10126 2011-06-19  Bruno Haible  <bruno@clisp.org>
10127
10128         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10129         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10130         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10131         * doc/posix-functions/roundf.texi: Mention problem with negative
10132         arguments.
10133         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10134
10135 2011-06-19  Bruno Haible  <bruno@clisp.org>
10136
10137         ceilf-ieee: Work around bug on MacOS X 10.5.
10138         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10139
10140         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10141         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10142         IEEE compliant, avoid compiler optimizations.
10143         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10144         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10145         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10146         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10147         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10148         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10149         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10150         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10151         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10152         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10153
10154 2011-06-19  Bruno Haible  <bruno@clisp.org>
10155
10156         ceilf-ieee: Work around bug on AIX 7.1.
10157         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
10158         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
10159
10160 2011-06-19  Bruno Haible  <bruno@clisp.org>
10161
10162         ceil-ieee: Work around bug on AIX 7.1.
10163         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
10164         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
10165
10166 2011-06-18  Bruno Haible  <bruno@clisp.org>
10167
10168         fsync test: Avoid test failure on MacOS X and AIX.
10169         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10170         EINVAL.
10171
10172 2011-06-18  Bruno Haible  <bruno@clisp.org>
10173
10174         openat, fdopendir tests: Fix link errors.
10175         * modules/openat-tests (Depends-on): Add progname.
10176         * modules/fdopendir-tests (Depends-on): Likewise.
10177         * tests/test-fchownat.c: Include progname.h.
10178         (main): Call set_program_name.
10179         * tests/test-fstatat.c: Include progname.h.
10180         (main): Call set_program_name.
10181         * tests/test-mkdirat.c: Include progname.h.
10182         (main): Call set_program_name.
10183         * tests/test-openat.c: Include progname.h.
10184         (main): Call set_program_name.
10185         * tests/test-unlinkat.c: Include progname.h.
10186         (main): Call set_program_name.
10187         * tests/test-fdopendir.c: Include progname.h.
10188         (main): Call set_program_name.
10189
10190 2011-06-18  Bruno Haible  <bruno@clisp.org>
10191
10192         Doc update.
10193         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
10194         HP-UX.
10195         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
10196
10197 2011-06-18  Bruno Haible  <bruno@clisp.org>
10198
10199         getcwd tests: Avoid compilation error on HP-UX 11.31.
10200         * modules/getcwd-tests (Depends-on): Add pathmax.
10201         * tests/test-getcwd.c: Include pathmax.h.
10202
10203 2011-06-18  Bruno Haible  <bruno@clisp.org>
10204
10205         isfinite, isinf: Fix link error on AIX 6 and 7.
10206         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
10207         needed, also test the macro with a 'float' argument.
10208         * m4/isinf.m4 (gl_ISINF): Likewise.
10209
10210 2011-06-18  Bruno Haible  <bruno@clisp.org>
10211
10212         getloadavg: Don't clobber LIBS. Regression from previous commit.
10213         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
10214         AC_CHECK_LIB from here...
10215         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
10216         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
10217         gl_func_getloadavg_done.
10218         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10219
10220 2011-06-18  Bruno Haible  <bruno@clisp.org>
10221
10222         clean-temp: Improve documentation.
10223         * lib/clean-temp.h: Explain better how to use this module.
10224         Reported by John Darrington <john@darrington.wattle.id.au>.
10225
10226 2011-06-17  Bruno Haible  <bruno@clisp.org>
10227
10228         pread, pwrite: Avoid cc warning on AIX.
10229         * lib/unistd.in.h (pread): Undefine before defining as a macro.
10230         (pwrite): Likewise.
10231
10232 2011-06-17  Bruno Haible  <bruno@clisp.org>
10233
10234         spawn-pipe tests: Fix link error.
10235         * tests/test-spawn-pipe-child.c: Undefine fprintf.
10236         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10237
10238 2011-06-17  Bruno Haible  <bruno@clisp.org>
10239
10240         Tests: Remove unnecessary dependency.
10241         * modules/canonicalize-tests (Depends-on): Remove progname.
10242         * modules/chown-tests (Depends-on): Likewise.
10243         * modules/dirname-tests (Depends-on): Likewise.
10244         * modules/fdopendir-tests (Depends-on): Likewise.
10245         * modules/fdutimensat-tests (Depends-on): Likewise.
10246         * modules/hash-tests (Depends-on): Likewise.
10247         * modules/lchown-tests (Depends-on): Likewise.
10248         * modules/linkat-tests (Depends-on): Likewise.
10249         * modules/renameat-tests (Depends-on): Likewise.
10250         * modules/spawn-pipe-tests (Depends-on): Likewise.
10251         * modules/utimensat-tests (Depends-on): Likewise.
10252
10253 2011-06-17  Bruno Haible  <bruno@clisp.org>
10254
10255         spawn-pipe tests: Fix link error.
10256         * tests/test-spawn-pipe-child.c: Undefine fflush.
10257
10258 2011-06-17  Bruno Haible  <bruno@clisp.org>
10259
10260         Fix tests link errors.
10261         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
10262         * modules/chown-tests (Makefile.am): Don't link test-chown with
10263         LIBINTL.
10264         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
10265         LIBINTL.
10266         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
10267         LIBINTL.
10268         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
10269         LIBINTL.
10270
10271 2011-06-16  Bruno Haible  <bruno@clisp.org>
10272
10273         crypto/gc-sha1: Fix recent regression.
10274         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
10275         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
10276
10277         crypto/gc-md5: Fix recent regression.
10278         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
10279
10280         crypto/gc-md4: Fix recent regression.
10281         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
10282         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
10283
10284         crypto/gc-arctwo: Fix recent regression.
10285         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
10286         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
10287
10288         crypto/gc-rijndael: Fix recent regression.
10289         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
10290         (configure.ac): Invoke AC_LIBOBJ here.
10291         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
10292         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10293
10294         crypto/gc-hmac-sha1: Fix recent regression.
10295         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
10296         (configure.ac): Invoke AC_LIBOBJ here.
10297         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
10298         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10299
10300         crypto/gc-hmac-md5: Fix recent regression.
10301         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
10302         (configure.ac): Invoke AC_LIBOBJ here.
10303         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
10304         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10305
10306         crypto/gc-des: Fix recent regression.
10307         * modules/crypto/gc-des (Files): Remove m4/des.m4.
10308         (configure.ac): Invoke AC_LIBOBJ here.
10309         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
10310         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10311
10312         crypto/gc-arcfour: Fix recent regression.
10313         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
10314         (configure.ac): Invoke AC_LIBOBJ here.
10315         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
10316         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10317
10318 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
10319
10320         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
10321         After the 2011-05-21 change, this macro requires
10322         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
10323         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10324
10325 2011-06-16  Bruno Haible  <bruno@clisp.org>
10326
10327         fprintftime: Move AC_LIBOBJ invocations to module description.
10328         * m4/fprintftime.m4: Remove file.
10329         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
10330         (configure.ac): Remove gl_FPRINTFTIME call.
10331         (Makefile.am): Augment lib_SOURCES.
10332         Reported by Jim Meyering.
10333
10334 2011-06-16  Bruno Haible  <bruno@clisp.org>
10335
10336         tmpfile-safer: Finish 2011-05-23 commit.
10337         * m4/stdio-safer.m4: Really remove file.
10338         Reported by Jim Meyering.
10339
10340 2011-06-16  Bruno Haible  <bruno@clisp.org>
10341
10342         syntax-check: Fix typo.
10343         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
10344         printf-posix.m4.
10345         Reported by Jim Meyering.
10346
10347 2011-06-13  Jim Meyering  <meyering@redhat.com>
10348
10349         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
10350         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
10351
10352 2011-05-23  Bruno Haible  <bruno@clisp.org>
10353
10354         yesno: Move AC_LIBOBJ invocations to module description.
10355         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
10356         * modules/yesno (Makefile.am): Augment lib_SOURCES.
10357
10358 2011-05-23  Bruno Haible  <bruno@clisp.org>
10359
10360         xstrtol: Move AC_LIBOBJ invocations to module description.
10361         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
10362         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
10363
10364 2011-05-23  Bruno Haible  <bruno@clisp.org>
10365
10366         xstrtold: Move AC_LIBOBJ invocations to module description.
10367         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
10368         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
10369
10370 2011-05-23  Bruno Haible  <bruno@clisp.org>
10371
10372         xstrtod: Move AC_LIBOBJ invocations to module description.
10373         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
10374         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
10375
10376 2011-05-23  Bruno Haible  <bruno@clisp.org>
10377
10378         xnanosleep: Move AC_LIBOBJ invocations to module description.
10379         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
10380         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
10381
10382 2011-05-23  Bruno Haible  <bruno@clisp.org>
10383
10384         xgetcwd: Move AC_LIBOBJ invocations to module description.
10385         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
10386         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
10387
10388 2011-05-23  Bruno Haible  <bruno@clisp.org>
10389
10390         xalloc: Move AC_LIBOBJ invocations to module description.
10391         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
10392         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
10393
10394 2011-05-23  Bruno Haible  <bruno@clisp.org>
10395
10396         write-any-file: Move AC_LIBOBJ invocations to module description.
10397         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
10398         invocation.
10399         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
10400
10401 2011-05-23  Bruno Haible  <bruno@clisp.org>
10402
10403         utimens: Move AC_LIBOBJ invocations to module description.
10404         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
10405         * modules/utimens (Makefile.am): Augment lib_SOURCES.
10406
10407 2011-05-23  Bruno Haible  <bruno@clisp.org>
10408
10409         utimecmp: Move AC_LIBOBJ invocations to module description.
10410         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
10411         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
10412
10413 2011-05-23  Bruno Haible  <bruno@clisp.org>
10414
10415         userspec: Move AC_LIBOBJ invocations to module description.
10416         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
10417         * modules/userspec (Makefile.am): Augment lib_SOURCES.
10418
10419 2011-05-23  Bruno Haible  <bruno@clisp.org>
10420
10421         unlinkdir: Move AC_LIBOBJ invocations to module description.
10422         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
10423         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
10424
10425 2011-05-23  Bruno Haible  <bruno@clisp.org>
10426
10427         unistd-safer: Move AC_LIBOBJ invocations to module description.
10428         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
10429         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
10430
10431 2011-05-23  Bruno Haible  <bruno@clisp.org>
10432
10433         tempname: Move AC_LIBOBJ invocations to module description.
10434         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
10435         * modules/tempname (Makefile.am): Augment lib_SOURCES.
10436
10437 2011-05-23  Bruno Haible  <bruno@clisp.org>
10438
10439         strftime: Move AC_LIBOBJ invocations to module description.
10440         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
10441         * modules/strftime (Makefile.am): Augment lib_SOURCES.
10442
10443 2011-05-23  Bruno Haible  <bruno@clisp.org>
10444
10445         stdlib-safer: Move AC_LIBOBJ invocations to module description.
10446         * m4/stdlib-safer.m4: Remove file.
10447         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
10448         (configure.ac): Remove gl_STDLIB_SAFER call.
10449         (Makefile.am): Augment lib_SOURCES.
10450
10451 2011-05-23  Bruno Haible  <bruno@clisp.org>
10452
10453         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
10454         * m4/stdio-safer.m4: Remove file.
10455         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
10456         (configure.ac): Remove gl_TMPFILE_SAFER call.
10457         (Makefile.am): Augment lib_SOURCES.
10458
10459 2011-05-23  Bruno Haible  <bruno@clisp.org>
10460
10461         popen-safer: Move AC_LIBOBJ invocations to module description.
10462         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
10463         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
10464         (configure.ac): Remove gl_POPEN_SAFER call.
10465         (Makefile.am): Augment lib_SOURCES.
10466
10467 2011-05-23  Bruno Haible  <bruno@clisp.org>
10468
10469         freopen-safer: Move AC_LIBOBJ invocations to module description.
10470         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
10471         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
10472         (configure.ac): Remove gl_FREOPEN_SAFER call.
10473         (Makefile.am): Augment lib_SOURCES.
10474
10475 2011-05-23  Bruno Haible  <bruno@clisp.org>
10476
10477         fopen-safer: Move AC_LIBOBJ invocations to module description.
10478         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
10479         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
10480         (configure.ac): Remove gl_FOPEN_SAFER call.
10481         (Makefile.am): Augment lib_SOURCES.
10482
10483 2011-05-23  Bruno Haible  <bruno@clisp.org>
10484
10485         crypto/sha512: Move AC_LIBOBJ invocations to module description.
10486         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
10487         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
10488
10489 2011-05-23  Bruno Haible  <bruno@clisp.org>
10490
10491         crypto/sha256: Move AC_LIBOBJ invocations to module description.
10492         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
10493         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
10494
10495 2011-05-23  Bruno Haible  <bruno@clisp.org>
10496
10497         crypto/sha1: Move AC_LIBOBJ invocations to module description.
10498         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
10499         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
10500
10501 2011-05-23  Bruno Haible  <bruno@clisp.org>
10502
10503         settime: Move AC_LIBOBJ invocations to module description.
10504         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
10505         * modules/settime (Makefile.am): Augment lib_SOURCES.
10506
10507 2011-05-23  Bruno Haible  <bruno@clisp.org>
10508
10509         savedir: Move AC_LIBOBJ invocations to module description.
10510         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
10511         * modules/savedir (Makefile.am): Augment lib_SOURCES.
10512
10513 2011-05-23  Bruno Haible  <bruno@clisp.org>
10514
10515         save-cwd: Move AC_LIBOBJ invocations to module description.
10516         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
10517         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
10518
10519 2011-05-23  Bruno Haible  <bruno@clisp.org>
10520
10521         same: Move AC_LIBOBJ invocations to module description.
10522         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
10523         * modules/same (Makefile.am): Augment lib_SOURCES.
10524
10525 2011-05-23  Bruno Haible  <bruno@clisp.org>
10526
10527         safe-write: Move AC_LIBOBJ invocations to module description.
10528         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
10529         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
10530         instead of gl_SAFE_WRITE.
10531         (Makefile.am): Augment lib_SOURCES.
10532
10533 2011-05-23  Bruno Haible  <bruno@clisp.org>
10534
10535         safe-read: Move AC_LIBOBJ invocations to module description.
10536         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
10537         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
10538         of gl_SAFE_READ.
10539         (Makefile.am): Augment lib_SOURCES.
10540
10541 2011-05-23  Bruno Haible  <bruno@clisp.org>
10542
10543         safe-alloc: Move AC_LIBOBJ invocations to module description.
10544         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
10545         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
10546
10547 2011-05-23  Bruno Haible  <bruno@clisp.org>
10548
10549         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
10550         * m4/rijndael.m4: Remove file.
10551         * modules/crypto/rijndael (Files): Remove it.
10552         (configure.ac): Remove gl_RIJNDAEL call.
10553         (Makefile.am): Augment lib_SOURCES.
10554
10555 2011-05-23  Bruno Haible  <bruno@clisp.org>
10556
10557         readtokens: Move AC_LIBOBJ invocations to module description.
10558         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
10559         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
10560
10561 2011-05-23  Bruno Haible  <bruno@clisp.org>
10562
10563         read-file: Move AC_LIBOBJ invocations to module description.
10564         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
10565         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
10566         of gl_FUNC_READ_FILE.
10567         (Makefile.am): Augment lib_SOURCES.
10568
10569 2011-05-23  Bruno Haible  <bruno@clisp.org>
10570
10571         quotearg: Move AC_LIBOBJ invocations to module description.
10572         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
10573         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
10574
10575 2011-05-23  Bruno Haible  <bruno@clisp.org>
10576
10577         quote: Move AC_LIBOBJ invocations to module description.
10578         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
10579         * modules/quote (Makefile.am): Augment lib_SOURCES.
10580
10581 2011-05-23  Bruno Haible  <bruno@clisp.org>
10582
10583         posixver: Move AC_LIBOBJ invocations to module description.
10584         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
10585         * modules/posixver (Makefile.am): Augment lib_SOURCES.
10586
10587 2011-05-23  Bruno Haible  <bruno@clisp.org>
10588
10589         posixtm: Move AC_LIBOBJ invocations to module description.
10590         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
10591         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
10592
10593 2011-05-23  Bruno Haible  <bruno@clisp.org>
10594
10595         physmem: Move AC_LIBOBJ invocations to module description.
10596         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
10597         * modules/physmem (Makefile.am): Augment lib_SOURCES.
10598
10599 2011-05-23  Bruno Haible  <bruno@clisp.org>
10600
10601         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
10602         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
10603         invocation.
10604         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
10605
10606 2011-05-23  Bruno Haible  <bruno@clisp.org>
10607
10608         mpsort: Move AC_LIBOBJ invocations to module description.
10609         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
10610         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
10611
10612 2011-05-23  Bruno Haible  <bruno@clisp.org>
10613
10614         modechange: Move AC_LIBOBJ invocations to module description.
10615         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
10616         * modules/modechange (Makefile.am): Augment lib_SOURCES.
10617
10618 2011-05-23  Bruno Haible  <bruno@clisp.org>
10619
10620         mkdir-p: Move AC_LIBOBJ invocations to module description.
10621         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
10622         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
10623
10624 2011-05-23  Bruno Haible  <bruno@clisp.org>
10625
10626         mkancesdirs: Move AC_LIBOBJ invocations to module description.
10627         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
10628         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
10629
10630 2011-05-23  Bruno Haible  <bruno@clisp.org>
10631
10632         mgetgroups: Move AC_LIBOBJ invocations to module description.
10633         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
10634         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
10635
10636 2011-05-23  Bruno Haible  <bruno@clisp.org>
10637
10638         memxor: Move AC_LIBOBJ invocations to module description.
10639         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
10640         * modules/memxor (Makefile.am): Augment lib_SOURCES.
10641
10642 2011-05-23  Bruno Haible  <bruno@clisp.org>
10643
10644         memcoll: Move AC_LIBOBJ invocations to module description.
10645         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
10646         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
10647
10648 2011-05-23  Bruno Haible  <bruno@clisp.org>
10649
10650         memcasecmp: Move AC_LIBOBJ invocations to module description.
10651         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
10652         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
10653
10654 2011-05-23  Bruno Haible  <bruno@clisp.org>
10655
10656         crypto/md5: Move AC_LIBOBJ invocations to module description.
10657         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
10658         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
10659
10660 2011-05-23  Bruno Haible  <bruno@clisp.org>
10661
10662         crypto/md4: Move AC_LIBOBJ invocations to module description.
10663         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
10664         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
10665
10666 2011-05-23  Bruno Haible  <bruno@clisp.org>
10667
10668         crypto/md2: Move AC_LIBOBJ invocations to module description.
10669         * m4/md2.m4: Remove file.
10670         * modules/crypto/md2 (Files): Remove it.
10671         (configure.ac): Remove gl_MD2 call.
10672         (Makefile.am): Augment lib_SOURCES.
10673
10674 2011-05-23  Bruno Haible  <bruno@clisp.org>
10675
10676         long-options: Move AC_LIBOBJ invocations to module description.
10677         * m4/long-options.m4: Remove file.
10678         * modules/long-options (Files): Remove it.
10679         (configure.ac): Remove gl_LONG_OPTIONS call.
10680         (Makefile.am): Augment lib_SOURCES.
10681
10682 2011-05-23  Bruno Haible  <bruno@clisp.org>
10683
10684         i-ring: Move AC_LIBOBJ invocations to module description.
10685         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
10686         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
10687
10688 2011-05-23  Bruno Haible  <bruno@clisp.org>
10689
10690         idcache: Move AC_LIBOBJ invocations to module description.
10691         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
10692         * modules/idcache (Makefile.am): Augment lib_SOURCES.
10693
10694 2011-05-23  Bruno Haible  <bruno@clisp.org>
10695
10696         human: Move AC_LIBOBJ invocations to module description.
10697         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
10698         * modules/human (Makefile.am): Augment lib_SOURCES.
10699
10700 2011-05-23  Bruno Haible  <bruno@clisp.org>
10701
10702         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
10703         * m4/hmac-sha1.m4: Remove file.
10704         * modules/crypto/hmac-sha1 (Files): Remove it.
10705         (configure.ac): Remove gl_HMAC_SHA1 call.
10706         (Makefile.am): Augment lib_SOURCES.
10707
10708 2011-05-23  Bruno Haible  <bruno@clisp.org>
10709
10710         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
10711         * m4/hmac-md5.m4: Remove file.
10712         * modules/crypto/hmac-md5 (Files): Remove it.
10713         (configure.ac): Remove gl_HMAC_MD5 call.
10714         (Makefile.am): Augment lib_SOURCES.
10715
10716 2011-05-23  Bruno Haible  <bruno@clisp.org>
10717
10718         hash: Move AC_LIBOBJ invocations to module description.
10719         * m4/hash.m4: Remove file.
10720         * modules/hash (Files): Remove it.
10721         (configure.ac): Remove gl_HASH call.
10722         (Makefile.am): Augment lib_SOURCES.
10723
10724 2011-05-23  Bruno Haible  <bruno@clisp.org>
10725
10726         hard-locale: Move AC_LIBOBJ invocations to module description.
10727         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
10728         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
10729
10730 2011-05-23  Bruno Haible  <bruno@clisp.org>
10731
10732         getugroups: Move AC_LIBOBJ invocations to module description.
10733         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
10734         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
10735
10736 2011-05-23  Bruno Haible  <bruno@clisp.org>
10737
10738         gettime: Move AC_LIBOBJ invocations to module description.
10739         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
10740         * modules/gettime (Makefile.am): Augment lib_SOURCES.
10741
10742 2011-05-23  Bruno Haible  <bruno@clisp.org>
10743
10744         getndelim2: Move AC_LIBOBJ invocations to module description.
10745         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
10746         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
10747
10748 2011-05-23  Bruno Haible  <bruno@clisp.org>
10749
10750         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
10751         * m4/gc-pbkdf2-sha1.m4: Remove file.
10752         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
10753         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
10754         (Makefile.am): Augment lib_SOURCES.
10755
10756 2011-05-23  Bruno Haible  <bruno@clisp.org>
10757
10758         fts: Move AC_LIBOBJ invocations to module description.
10759         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
10760         * modules/fts (configure.ac): ... to here.
10761
10762 2011-05-23  Bruno Haible  <bruno@clisp.org>
10763
10764         file-type: Move AC_LIBOBJ invocations to module description.
10765         * m4/file-type.m4: Remove file.
10766         * modules/file-type (Files): Remove it.
10767         (configure.ac): Remove gl_FILE_TYPE call.
10768         (Makefile.am): Augment lib_SOURCES.
10769
10770 2011-05-23  Bruno Haible  <bruno@clisp.org>
10771
10772         filenamecat*: Respect rules for use of AC_LIBOBJ.
10773         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
10774         Remove AC_LIBOBJ invocation.
10775         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
10776         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
10777
10778 2011-05-23  Bruno Haible  <bruno@clisp.org>
10779
10780         filemode: Move AC_LIBOBJ invocations to module description.
10781         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
10782         * modules/filemode (Makefile.am): Augment lib_SOURCES.
10783
10784 2011-05-23  Bruno Haible  <bruno@clisp.org>
10785
10786         openat-safer: Move AC_LIBOBJ invocations to module description.
10787         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
10788         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
10789
10790 2011-05-23  Bruno Haible  <bruno@clisp.org>
10791
10792         fcntl-safer: Move AC_LIBOBJ invocations to module description.
10793         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
10794         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
10795
10796 2011-05-23  Bruno Haible  <bruno@clisp.org>
10797
10798         exclude: Move AC_LIBOBJ invocations to module description.
10799         * m4/exclude.m4: Remove file.
10800         * modules/exclude (Files): Remove it.
10801         (configure.ac): Remove gl_EXCLUDE call.
10802         (Makefile.am): Augment lib_SOURCES.
10803
10804 2011-05-23  Bruno Haible  <bruno@clisp.org>
10805
10806         dirname*: Respect rules for use of AC_LIBOBJ.
10807         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
10808         invocations.
10809         * modules/dirname (Makefile.am): Augment lib_SOURCES.
10810         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
10811
10812 2011-05-23  Bruno Haible  <bruno@clisp.org>
10813
10814         dirent-safer: Move AC_LIBOBJ invocations to module description.
10815         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
10816         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
10817
10818 2011-05-23  Bruno Haible  <bruno@clisp.org>
10819
10820         crypto/des: Move AC_LIBOBJ invocations to module description.
10821         * m4/des.m4: Remove file.
10822         * modules/crypto/des (Files): Remove it.
10823         (configure.ac): Remove gl_DES call.
10824         (Makefile.am): Augment lib_SOURCES.
10825
10826 2011-05-23  Bruno Haible  <bruno@clisp.org>
10827
10828         cycle-check: Move AC_LIBOBJ invocations to module description.
10829         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
10830         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
10831
10832 2011-05-23  Bruno Haible  <bruno@clisp.org>
10833
10834         c-strtold: Move AC_LIBOBJ invocations to module description.
10835         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
10836         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
10837
10838 2011-05-23  Bruno Haible  <bruno@clisp.org>
10839
10840         c-strtod: Move AC_LIBOBJ invocations to module description.
10841         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
10842         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
10843
10844 2011-05-23  Bruno Haible  <bruno@clisp.org>
10845
10846         crc: Move AC_LIBOBJ invocations to module description.
10847         * m4/crc.m4: Remove file.
10848         * modules/crc (Files): Remove it.
10849         (configure.ac): Remove gl_CRC call.
10850         (Makefile.am): Augment lib_SOURCES.
10851
10852 2011-05-23  Bruno Haible  <bruno@clisp.org>
10853
10854         close-stream: Move AC_LIBOBJ invocations to module description.
10855         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
10856         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
10857
10858 2011-05-23  Bruno Haible  <bruno@clisp.org>
10859
10860         closeout: Move AC_LIBOBJ invocations to module description.
10861         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
10862         * modules/closeout (Makefile.am): Augment lib_SOURCES.
10863
10864 2011-05-23  Bruno Haible  <bruno@clisp.org>
10865
10866         closein: Move AC_LIBOBJ invocations to module description.
10867         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
10868         * modules/closein (Makefile.am): Augment lib_SOURCES.
10869
10870 2011-05-23  Bruno Haible  <bruno@clisp.org>
10871
10872         cloexec: Move AC_LIBOBJ invocations to module description.
10873         * m4/cloexec.m4: Remove file.
10874         * modules/cloexec (Files): Remove it.
10875         (configure.ac): Remove gl_CLOEXEC call.
10876         (Makefile.am): Augment lib_SOURCES.
10877
10878 2011-05-23  Bruno Haible  <bruno@clisp.org>
10879
10880         check-version: Move AC_LIBOBJ invocations to module description.
10881         * m4/check-version.m4: Remove file.
10882         * modules/check-version (Files): Remove it.
10883         (configure.ac): Remove gl_CHECK_VERSION call.
10884         (Makefile.am): Augment lib_SOURCES.
10885
10886 2011-05-23  Bruno Haible  <bruno@clisp.org>
10887
10888         chdir-safer: Move AC_LIBOBJ invocations to module description.
10889         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
10890         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
10891
10892 2011-05-23  Bruno Haible  <bruno@clisp.org>
10893
10894         canonicalize: Move AC_LIBOBJ invocations to module description.
10895         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
10896         AC_LIBOBJ invocation.
10897         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
10898
10899 2011-05-23  Bruno Haible  <bruno@clisp.org>
10900
10901         canon-host: Move AC_LIBOBJ invocations to module description.
10902         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
10903         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
10904         instead of gl_CANON_HOST.
10905         (Makefile.am): Augment lib_SOURCES.
10906
10907 2011-05-23  Bruno Haible  <bruno@clisp.org>
10908
10909         backupfile: Move AC_LIBOBJ invocations to module description.
10910         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
10911         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
10912
10913 2011-05-23  Bruno Haible  <bruno@clisp.org>
10914
10915         argmatch: Move AC_LIBOBJ invocations to module description.
10916         * m4/argmatch.m4: Remove file.
10917         * modules/argmatch (Files): Remove it.
10918         (configure.ac): Remove gl_ARGMATCH call.
10919         (Makefile.am): Augment lib_SOURCES.
10920
10921 2011-05-23  Bruno Haible  <bruno@clisp.org>
10922
10923         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
10924         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
10925         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
10926
10927 2011-05-23  Bruno Haible  <bruno@clisp.org>
10928
10929         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
10930         * m4/arcfour.m4: Remove file.
10931         * modules/crypto/arcfour (Files): Remove it.
10932         (configure.ac): Remove gl_ARCFOUR call.
10933         (Makefile.am): Augment lib_SOURCES.
10934
10935 2011-05-22  Bruno Haible  <bruno@clisp.org>
10936
10937         write: Move AC_LIBOBJ invocations to module description.
10938         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
10939         * modules/write (configure.ac): ... to here.
10940
10941 2011-05-22  Bruno Haible  <bruno@clisp.org>
10942
10943         wmemset: Move AC_LIBOBJ invocations to module description.
10944         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
10945         here...
10946         * modules/wmemset (configure.ac): ... to here.
10947
10948 2011-05-22  Bruno Haible  <bruno@clisp.org>
10949
10950         wmemmove: Move AC_LIBOBJ invocations to module description.
10951         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
10952         here...
10953         * modules/wmemmove (configure.ac): ... to here.
10954
10955 2011-05-22  Bruno Haible  <bruno@clisp.org>
10956
10957         wmemcpy: Move AC_LIBOBJ invocations to module description.
10958         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
10959         here...
10960         * modules/wmemcpy (configure.ac): ... to here.
10961
10962 2011-05-22  Bruno Haible  <bruno@clisp.org>
10963
10964         wmemcmp: Move AC_LIBOBJ invocations to module description.
10965         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
10966         here...
10967         * modules/wmemcmp (configure.ac): ... to here.
10968
10969 2011-05-22  Bruno Haible  <bruno@clisp.org>
10970
10971         wmemchr: Move AC_LIBOBJ invocations to module description.
10972         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
10973         here...
10974         * modules/wmemchr (configure.ac): ... to here.
10975
10976 2011-05-22  Bruno Haible  <bruno@clisp.org>
10977
10978         wcswidth: Move AC_LIBOBJ invocations to module description.
10979         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
10980         here...
10981         * modules/wcswidth (configure.ac): ... to here.
10982
10983 2011-05-22  Bruno Haible  <bruno@clisp.org>
10984
10985         wcwidth: Respect rules for use of AC_LIBOBJ.
10986         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
10987         invocation from here...
10988         * modules/wcwidth (configure.ac): ... to here.
10989         (Depends-on): Update conditions.
10990
10991 2011-05-22  Bruno Haible  <bruno@clisp.org>
10992
10993         wctype: Move AC_LIBOBJ invocations to module description.
10994         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
10995         invocation from here...
10996         * modules/wctype (configure.ac): ... to here.
10997         (Depends-on): Update conditions.
10998
10999 2011-05-22  Bruno Haible  <bruno@clisp.org>
11000
11001         wctrans: Move AC_LIBOBJ invocations to module description.
11002         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11003         invocation from here...
11004         * modules/wctrans (configure.ac): ... to here.
11005
11006 2011-05-22  Bruno Haible  <bruno@clisp.org>
11007
11008         wctomb: Move AC_LIBOBJ invocations to module description.
11009         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11010         invocations from here...
11011         * modules/wctomb (configure.ac): ... to here.
11012
11013 2011-05-22  Bruno Haible  <bruno@clisp.org>
11014
11015         wctob: Move AC_LIBOBJ invocations to module description.
11016         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11017         gl_PREREQ_WCTOB invocations from here...
11018         * modules/wctob (configure.ac): ... to here.
11019         (Depends-on): Update conditions.
11020
11021 2011-05-22  Bruno Haible  <bruno@clisp.org>
11022
11023         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11024         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11025         here...
11026         * modules/wcsxfrm (configure.ac): ... to here.
11027
11028 2011-05-22  Bruno Haible  <bruno@clisp.org>
11029
11030         wcstok: Move AC_LIBOBJ invocations to module description.
11031         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11032         * modules/wcstok (configure.ac): ... to here.
11033
11034 2011-05-22  Bruno Haible  <bruno@clisp.org>
11035
11036         wcsstr: Move AC_LIBOBJ invocations to module description.
11037         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11038         * modules/wcsstr (configure.ac): ... to here.
11039
11040 2011-05-22  Bruno Haible  <bruno@clisp.org>
11041
11042         wcsspn: Move AC_LIBOBJ invocations to module description.
11043         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11044         * modules/wcsspn (configure.ac): ... to here.
11045
11046 2011-05-22  Bruno Haible  <bruno@clisp.org>
11047
11048         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11049         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11050         gl_PREREQ_WCSRTOMBS invocations from here...
11051         * modules/wcsrtombs (configure.ac): ... to here.
11052
11053 2011-05-22  Bruno Haible  <bruno@clisp.org>
11054
11055         wcsrchr: Move AC_LIBOBJ invocations to module description.
11056         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11057         here...
11058         * modules/wcsrchr (configure.ac): ... to here.
11059
11060 2011-05-22  Bruno Haible  <bruno@clisp.org>
11061
11062         wcspbrk: Move AC_LIBOBJ invocations to module description.
11063         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11064         here...
11065         * modules/wcspbrk (configure.ac): ... to here.
11066
11067 2011-05-22  Bruno Haible  <bruno@clisp.org>
11068
11069         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11070         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11071         gl_PREREQ_WCSNRTOMBS invocations from here...
11072         * modules/wcsnrtombs (configure.ac): ... to here.
11073
11074 2011-05-22  Bruno Haible  <bruno@clisp.org>
11075
11076         wcsnlen: Move AC_LIBOBJ invocations to module description.
11077         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11078         here...
11079         * modules/wcsnlen (configure.ac): ... to here.
11080
11081 2011-05-22  Bruno Haible  <bruno@clisp.org>
11082
11083         wcsncpy: Move AC_LIBOBJ invocations to module description.
11084         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11085         here...
11086         * modules/wcsncpy (configure.ac): ... to here.
11087
11088 2011-05-22  Bruno Haible  <bruno@clisp.org>
11089
11090         wcsncmp: Move AC_LIBOBJ invocations to module description.
11091         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11092         here...
11093         * modules/wcsncmp (configure.ac): ... to here.
11094
11095 2011-05-22  Bruno Haible  <bruno@clisp.org>
11096
11097         wcsncat: Move AC_LIBOBJ invocations to module description.
11098         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11099         here...
11100         * modules/wcsncat (configure.ac): ... to here.
11101
11102 2011-05-22  Bruno Haible  <bruno@clisp.org>
11103
11104         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11105         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11106         from here...
11107         * modules/wcsncasecmp (configure.ac): ... to here.
11108
11109 2011-05-22  Bruno Haible  <bruno@clisp.org>
11110
11111         wcslen: Move AC_LIBOBJ invocations to module description.
11112         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11113         * modules/wcslen (configure.ac): ... to here.
11114
11115 2011-05-22  Bruno Haible  <bruno@clisp.org>
11116
11117         wcsdup: Move AC_LIBOBJ invocations to module description.
11118         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11119         * modules/wcsdup (configure.ac): ... to here.
11120
11121 2011-05-22  Bruno Haible  <bruno@clisp.org>
11122
11123         wcscspn: Move AC_LIBOBJ invocations to module description.
11124         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11125         here...
11126         * modules/wcscspn (configure.ac): ... to here.
11127
11128 2011-05-22  Bruno Haible  <bruno@clisp.org>
11129
11130         wcscpy: Move AC_LIBOBJ invocations to module description.
11131         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11132         * modules/wcscpy (configure.ac): ... to here.
11133
11134 2011-05-22  Bruno Haible  <bruno@clisp.org>
11135
11136         wcscoll: Move AC_LIBOBJ invocations to module description.
11137         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11138         here...
11139         * modules/wcscoll (configure.ac): ... to here.
11140
11141 2011-05-22  Bruno Haible  <bruno@clisp.org>
11142
11143         wcscmp: Move AC_LIBOBJ invocations to module description.
11144         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11145         * modules/wcscmp (configure.ac): ... to here.
11146
11147 2011-05-22  Bruno Haible  <bruno@clisp.org>
11148
11149         wcschr: Move AC_LIBOBJ invocations to module description.
11150         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11151         * modules/wcschr (configure.ac): ... to here.
11152
11153 2011-05-22  Bruno Haible  <bruno@clisp.org>
11154
11155         wcscat: Move AC_LIBOBJ invocations to module description.
11156         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
11157         * modules/wcscat (configure.ac): ... to here.
11158
11159 2011-05-22  Bruno Haible  <bruno@clisp.org>
11160
11161         wcscasecmp: Move AC_LIBOBJ invocations to module description.
11162         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
11163         here...
11164         * modules/wcscasecmp (configure.ac): ... to here.
11165
11166 2011-05-22  Bruno Haible  <bruno@clisp.org>
11167
11168         wcrtomb: Move AC_LIBOBJ invocations to module description.
11169         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11170         invocations from here...
11171         * modules/wcrtomb (configure.ac): ... to here.
11172
11173 2011-05-22  Bruno Haible  <bruno@clisp.org>
11174
11175         wcpncpy: Move AC_LIBOBJ invocations to module description.
11176         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11177         here...
11178         * modules/wcpncpy (configure.ac): ... to here.
11179
11180 2011-05-22  Bruno Haible  <bruno@clisp.org>
11181
11182         wcpcpy: Move AC_LIBOBJ invocations to module description.
11183         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11184         * modules/wcpcpy (configure.ac): ... to here.
11185
11186 2011-05-22  Bruno Haible  <bruno@clisp.org>
11187
11188         waitpid: Move AC_LIBOBJ invocations to module description.
11189         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
11190         invocation from here...
11191         * modules/waitpid (configure.ac): ... to here.
11192
11193 2011-05-22  Bruno Haible  <bruno@clisp.org>
11194
11195         utimensat: Move AC_LIBOBJ invocations to module description.
11196         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
11197         here...
11198         * modules/utimensat (configure.ac): ... to here.
11199
11200 2011-05-22  Bruno Haible  <bruno@clisp.org>
11201
11202         usleep: Move AC_LIBOBJ invocations to module description.
11203         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
11204         here...
11205         * modules/usleep (configure.ac): ... to here.
11206
11207 2011-05-22  Bruno Haible  <bruno@clisp.org>
11208
11209         unlockpt: Move AC_LIBOBJ invocations to module description.
11210         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
11211         gl_PREREQ_UNLOCKPT invocations from here...
11212         * modules/unlockpt (configure.ac): ... to here.
11213
11214 2011-05-22  Bruno Haible  <bruno@clisp.org>
11215
11216         unlink: Respect rules for use of AC_LIBOBJ.
11217         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
11218         * modules/unlink (configure.ac): ... to here.
11219
11220 2011-05-22  Bruno Haible  <bruno@clisp.org>
11221
11222         uname: Move AC_LIBOBJ invocations to module description.
11223         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
11224         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
11225         here...
11226         * modules/uname (configure.ac): ... to here.
11227
11228 2011-05-22  Bruno Haible  <bruno@clisp.org>
11229
11230         ttyname_r: Move AC_LIBOBJ invocations to module description.
11231         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
11232         gl_PREREQ_TTYNAME_R invocations from here...
11233         * modules/ttyname_r (configure.ac): ... to here.
11234
11235 2011-05-22  Bruno Haible  <bruno@clisp.org>
11236
11237         tsearch: Move AC_LIBOBJ invocations to module description.
11238         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
11239         invocations from here...
11240         * modules/tsearch (configure.ac): ... to here.
11241
11242 2011-05-22  Bruno Haible  <bruno@clisp.org>
11243
11244         towctrans: Move AC_LIBOBJ invocations to module description.
11245         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
11246         AC_LIBOBJ invocation from here...
11247         * modules/towctrans (configure.ac): ... to here.
11248
11249 2011-05-22  Bruno Haible  <bruno@clisp.org>
11250
11251         tmpfile: Move AC_LIBOBJ invocations to module description.
11252         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
11253         invocations from here...
11254         * modules/tmpfile (configure.ac): ... to here.
11255
11256 2011-05-22  Bruno Haible  <bruno@clisp.org>
11257
11258         times: Move AC_LIBOBJ invocations to module description.
11259         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
11260         * modules/times (configure.ac): ... to here.
11261
11262 2011-05-22  Bruno Haible  <bruno@clisp.org>
11263
11264         time_r: Move AC_LIBOBJ invocations to module description.
11265         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
11266         invocations from here...
11267         * modules/time_r (configure.ac): ... to here.
11268
11269 2011-05-22  Bruno Haible  <bruno@clisp.org>
11270
11271         timegm: Move AC_LIBOBJ invocations to module description.
11272         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
11273         invocations from here...
11274         * modules/timegm (configure.ac): ... to here.
11275
11276 2011-05-22  Bruno Haible  <bruno@clisp.org>
11277
11278         tcgetsid: Move AC_LIBOBJ invocations to module description.
11279         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
11280         and gl_PREREQ_TCGETSID invocations from here...
11281         * modules/tcgetsid (configure.ac): ... to here.
11282         (Depends-on): Update conditions.
11283
11284 2011-05-22  Bruno Haible  <bruno@clisp.org>
11285
11286         symlinkat: Move AC_LIBOBJ invocations to module description.
11287         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
11288         here...
11289         * modules/symlinkat (configure.ac): ... to here.
11290
11291 2011-05-22  Bruno Haible  <bruno@clisp.org>
11292
11293         symlink: Move AC_LIBOBJ invocations to module description.
11294         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
11295         here...
11296         * modules/symlink (configure.ac): ... to here.
11297
11298 2011-05-22  Bruno Haible  <bruno@clisp.org>
11299
11300         strverscmp: Move AC_LIBOBJ invocations to module description.
11301         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
11302         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
11303         from here...
11304         * modules/strverscmp (configure.ac): ... to here.
11305
11306 2011-05-22  Bruno Haible  <bruno@clisp.org>
11307
11308         strtok_r: Move AC_LIBOBJ invocations to module description.
11309         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
11310         and gl_PREREQ_STRTOK_R invocations from here...
11311         * modules/strtok_r (configure.ac): ... to here.
11312         (Depends-on): Update conditions.
11313
11314 2011-05-22  Bruno Haible  <bruno@clisp.org>
11315
11316         strtoumax: Move AC_LIBOBJ invocations to module description.
11317         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
11318         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
11319         from here...
11320         * modules/strtoumax (configure.ac): ... to here.
11321
11322 2011-05-22  Bruno Haible  <bruno@clisp.org>
11323
11324         strtoimax: Move AC_LIBOBJ invocations to module description.
11325         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
11326         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
11327         from here...
11328         * modules/strtoimax (configure.ac): ... to here.
11329
11330 2011-05-22  Bruno Haible  <bruno@clisp.org>
11331
11332         strtoull: Move AC_LIBOBJ invocations to module description.
11333         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
11334         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
11335         from here...
11336         * modules/strtoull (configure.ac): ... to here.
11337
11338 2011-05-22  Bruno Haible  <bruno@clisp.org>
11339
11340         strtoll: Move AC_LIBOBJ invocations to module description.
11341         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
11342         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
11343         here...
11344         * modules/strtoll (configure.ac): ... to here.
11345
11346 2011-05-22  Bruno Haible  <bruno@clisp.org>
11347
11348         strtoul: Move AC_LIBOBJ invocations to module description.
11349         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
11350         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11351         * modules/strtoul (configure.ac): ... to here.
11352
11353 2011-05-22  Bruno Haible  <bruno@clisp.org>
11354
11355         strtol: Move AC_LIBOBJ invocations to module description.
11356         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
11357         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11358         * modules/strtol (configure.ac): ... to here.
11359
11360 2011-05-22  Bruno Haible  <bruno@clisp.org>
11361
11362         strtod: Move AC_LIBOBJ invocations to module description.
11363         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
11364         invocations from here...
11365         * modules/strtod (configure.ac): ... to here.
11366
11367 2011-05-22  Bruno Haible  <bruno@clisp.org>
11368
11369         strstr*: Move AC_LIBOBJ invocations to module description.
11370         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
11371         invocations from here...
11372         * modules/strstr-simple (configure.ac): ... to here.
11373         * modules/strstr (configure.ac): ... and here.
11374
11375 2011-05-22  Bruno Haible  <bruno@clisp.org>
11376
11377         strsignal: Move AC_LIBOBJ invocations to module description.
11378         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
11379         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
11380         * modules/strsignal (configure.ac): ... to here.
11381         (Depends-on): Update conditions.
11382
11383 2011-05-22  Bruno Haible  <bruno@clisp.org>
11384
11385         strsep: Move AC_LIBOBJ invocations to module description.
11386         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
11387         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
11388         here...
11389         * modules/strsep (configure.ac): ... to here.
11390
11391 2011-05-22  Bruno Haible  <bruno@clisp.org>
11392
11393         strptime: Move AC_LIBOBJ invocations to module description.
11394         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
11395         gl_PREREQ_STRPTIME invocations from here...
11396         * modules/strptime (configure.ac): ... to here.
11397
11398 2011-05-22  Bruno Haible  <bruno@clisp.org>
11399
11400         strpbrk: Move AC_LIBOBJ invocations to module description.
11401         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
11402         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
11403         here...
11404         * modules/strpbrk (configure.ac): ... to here.
11405
11406 2011-05-22  Bruno Haible  <bruno@clisp.org>
11407
11408         strnlen: Move AC_LIBOBJ invocations to module description.
11409         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
11410         invocations from here...
11411         * modules/strnlen (configure.ac): ... to here.
11412
11413 2011-05-22  Bruno Haible  <bruno@clisp.org>
11414
11415         strndup: Move AC_LIBOBJ invocations to module description.
11416         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
11417         invocations from here...
11418         * modules/strndup (configure.ac): ... to here.
11419         (Depends-on): Update conditions.
11420
11421 2011-05-22  Bruno Haible  <bruno@clisp.org>
11422
11423         strncat: Move AC_LIBOBJ invocations to module description.
11424         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
11425         invocations from here...
11426         * modules/strncat (configure.ac): ... to here.
11427
11428 2011-05-22  Bruno Haible  <bruno@clisp.org>
11429
11430         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
11431         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
11432         invocations from here...
11433         * modules/strdup (configure.ac): ... to here.
11434         * modules/strdup-posix (configure.ac): ... and here.
11435
11436 2011-05-22  Bruno Haible  <bruno@clisp.org>
11437
11438         strcspn: Move AC_LIBOBJ invocations to module description.
11439         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
11440         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
11441         here...
11442         * modules/strcspn (configure.ac): ... to here.
11443
11444 2011-05-22  Bruno Haible  <bruno@clisp.org>
11445
11446         strchrnul: Move AC_LIBOBJ invocations to module description.
11447         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
11448         gl_PREREQ_STRCHRNUL invocations from here...
11449         * modules/strchrnul (configure.ac): ... to here.
11450
11451 2011-05-22  Bruno Haible  <bruno@clisp.org>
11452
11453         strcasestr*: Move AC_LIBOBJ invocations to module description.
11454         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11455         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
11456         * modules/strcasestr-simple (configure.ac): ... to here.
11457         * modules/strcasestr (configure.ac): ... and here.
11458
11459 2011-05-22  Bruno Haible  <bruno@clisp.org>
11460
11461         strcase: Move AC_LIBOBJ invocations to module description.
11462         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
11463         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
11464         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
11465         gl_PREREQ_STRNCASECMP invocations from here...
11466         * modules/strcase (configure.ac): ... to here.
11467
11468 2011-05-22  Bruno Haible  <bruno@clisp.org>
11469
11470         stpncpy: Move AC_LIBOBJ invocations to module description.
11471         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
11472         here...
11473         * modules/stpncpy (configure.ac): ... to here.
11474
11475 2011-05-22  Bruno Haible  <bruno@clisp.org>
11476
11477         stpcpy: Move AC_LIBOBJ invocations to module description.
11478         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
11479         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
11480         here...
11481         * modules/stpcpy (configure.ac): ... to here.
11482
11483 2011-05-21  Bruno Haible  <bruno@clisp.org>
11484
11485         stat: Move AC_LIBOBJ invocations to module description.
11486         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
11487         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
11488         here...
11489         * modules/stat (configure.ac): ... to here.
11490
11491 2011-05-21  Bruno Haible  <bruno@clisp.org>
11492
11493         sleep: Move AC_LIBOBJ invocations to module description.
11494         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
11495         * modules/sleep (configure.ac): ... to here.
11496
11497 2011-05-21  Bruno Haible  <bruno@clisp.org>
11498
11499         signbit: Move AC_LIBOBJ invocations to module description.
11500         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
11501         * modules/signbit (configure.ac): ... to here.
11502
11503 2011-05-21  Bruno Haible  <bruno@clisp.org>
11504
11505         sigprocmask: Move AC_LIBOBJ invocations to module description.
11506         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
11507         gl_PREREQ_SIGPROMASK invocations from here...
11508         * modules/sigprocmask (configure.ac): ... to here.
11509
11510 2011-05-21  Bruno Haible  <bruno@clisp.org>
11511
11512         sigaction: Move AC_LIBOBJ invocations to module description.
11513         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
11514         gl_PREREQ_SIGACTION invocations from here...
11515         * modules/sigaction (configure.ac): ... to here.
11516
11517 2011-05-21  Bruno Haible  <bruno@clisp.org>
11518
11519         sig2str: Move AC_LIBOBJ invocations to module description.
11520         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
11521         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
11522         here...
11523         * modules/sig2str (configure.ac): ... to here.
11524
11525 2011-05-21  Bruno Haible  <bruno@clisp.org>
11526
11527         setlocale: Move AC_LIBOBJ invocations to module description.
11528         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
11529         gl_PREREQ_SETLOCALE invocations from here...
11530         * modules/setlocale (configure.ac): ... to here.
11531
11532 2011-05-21  Bruno Haible  <bruno@clisp.org>
11533
11534         unsetenv: Move AC_LIBOBJ invocations to module description.
11535         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
11536         and gl_PREREQ_UNSETENV invocations from here...
11537         * modules/unsetenv (configure.ac): ... to here.
11538         (Depends-on): Update.
11539
11540 2011-05-21  Bruno Haible  <bruno@clisp.org>
11541
11542         setenv: Move AC_LIBOBJ invocations to module description.
11543         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
11544         here...
11545         * modules/setenv (configure.ac): ... to here.
11546
11547 2011-05-21  Bruno Haible  <bruno@clisp.org>
11548
11549         selinux-h: Move AC_LIBOBJ invocations to module description.
11550         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
11551         AC_LIBOBJ invocation from here...
11552         * modules/selinux-h (configure.ac): ... to here.
11553
11554 2011-05-21  Bruno Haible  <bruno@clisp.org>
11555
11556         select: Respect rules for use of AC_LIBOBJ.
11557         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
11558         here...
11559         * modules/select (configure.ac): ... to here.
11560
11561 2011-05-21  Bruno Haible  <bruno@clisp.org>
11562
11563         scandir: Move AC_LIBOBJ invocations to module description.
11564         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
11565         invocations from here...
11566         * modules/scandir (configure.ac): ... to here.
11567
11568 2011-05-21  Bruno Haible  <bruno@clisp.org>
11569
11570         rpmatch: Move AC_LIBOBJ invocations to module description.
11571         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
11572         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
11573         here...
11574         * modules/rpmatch (configure.ac): ... to here.
11575
11576 2011-05-21  Bruno Haible  <bruno@clisp.org>
11577
11578         rmdir: Respect rules for use of AC_LIBOBJ.
11579         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
11580         * modules/rmdir (configure.ac): ... to here.
11581
11582 2011-05-21  Bruno Haible  <bruno@clisp.org>
11583
11584         renameat: Move AC_LIBOBJ invocations to module description.
11585         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
11586         here...
11587         * modules/renameat (configure.ac): ... to here.
11588
11589 2011-05-21  Bruno Haible  <bruno@clisp.org>
11590
11591         rename: Respect rules for use of AC_LIBOBJ.
11592         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
11593         here...
11594         * modules/rename (configure.ac): ... to here.
11595
11596 2011-05-21  Bruno Haible  <bruno@clisp.org>
11597
11598         remove: Move AC_LIBOBJ invocations to module description.
11599         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
11600         here...
11601         * modules/remove (configure.ac): ... to here.
11602
11603 2011-05-21  Bruno Haible  <bruno@clisp.org>
11604
11605         relocatable-lib: Move AC_LIBOBJ invocations to module description.
11606         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
11607         macro.
11608         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
11609         * modules/relocatable-lib (configure.ac): ... to here.
11610         * modules/relocatable-prog-wrapper (configure.ac): Invoke
11611         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
11612
11613 2011-05-21  Bruno Haible  <bruno@clisp.org>
11614
11615         relocatable-prog: Move AC_LIBOBJ invocations to module description.
11616         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
11617         here...
11618         * modules/relocatable-prog (configure.ac): ... to here.
11619
11620 2011-05-21  Bruno Haible  <bruno@clisp.org>
11621
11622         regex: Move AC_LIBOBJ invocations to module description.
11623         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
11624         invocations from here...
11625         * modules/regex (configure.ac): ... to here.
11626
11627 2011-05-21  Bruno Haible  <bruno@clisp.org>
11628
11629         realloc-*: Move AC_LIBOBJ invocations to module description.
11630         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
11631         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
11632         AC_LIBOBJ invocations from here...
11633         * modules/realloc-gnu (configure.ac): ... to here.
11634         * modules/realloc-posix (configure.ac): ... and here.
11635
11636 2011-05-21  Bruno Haible  <bruno@clisp.org>
11637
11638         readutmp: Move AC_LIBOBJ invocations to module description.
11639         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
11640         * modules/readutmp (configure.ac): ... to here.
11641
11642 2011-05-21  Bruno Haible  <bruno@clisp.org>
11643
11644         readlinkat: Move AC_LIBOBJ invocations to module description.
11645         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
11646         here...
11647         * modules/readlinkat (configure.ac): ... to here.
11648
11649 2011-05-21  Bruno Haible  <bruno@clisp.org>
11650
11651         readlink: Move AC_LIBOBJ invocations to module description.
11652         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
11653         gl_PREREQ_READLINK invocations from here...
11654         * modules/readlink (configure.ac): ... to here.
11655
11656 2011-05-21  Bruno Haible  <bruno@clisp.org>
11657
11658         readline: Move AC_LIBOBJ invocations to module description.
11659         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
11660         gl_PREREQ_READLINE invocations from here...
11661         * modules/readline (configure.ac): ... to here.
11662
11663 2011-05-21  Bruno Haible  <bruno@clisp.org>
11664
11665         read: Move AC_LIBOBJ invocations to module description.
11666         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
11667         * modules/read (configure.ac): ... to here.
11668
11669 2011-05-21  Bruno Haible  <bruno@clisp.org>
11670
11671         rawmemchr: Move AC_LIBOBJ invocations to module description.
11672         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
11673         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
11674         from here...
11675         * modules/rawmemchr (configure.ac): ... to here.
11676
11677 2011-05-21  Bruno Haible  <bruno@clisp.org>
11678
11679         random_r: Move AC_LIBOBJ invocations to module description.
11680         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
11681         gl_PREREQ_RANDOM_R invocations from here...
11682         * modules/random_r (configure.ac): ... to here.
11683
11684 2011-05-21  Bruno Haible  <bruno@clisp.org>
11685
11686         pwrite: Move AC_LIBOBJ invocations to module description.
11687         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
11688         * modules/pwrite (configure.ac): ... to here.
11689
11690 2011-05-21  Bruno Haible  <bruno@clisp.org>
11691
11692         putenv: Move AC_LIBOBJ invocations to module description.
11693         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
11694         * modules/putenv (configure.ac): ... to here.
11695
11696 2011-05-21  Bruno Haible  <bruno@clisp.org>
11697
11698         login_tty: Move AC_LIBOBJ invocations to module description.
11699         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
11700         * modules/login_tty (configure.ac): ... to here.
11701
11702 2011-05-21  Bruno Haible  <bruno@clisp.org>
11703
11704         openpty: Move AC_LIBOBJ invocations to module description.
11705         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
11706         * modules/openpty (configure.ac): ... to here.
11707
11708 2011-05-21  Bruno Haible  <bruno@clisp.org>
11709
11710         forkpty: Move AC_LIBOBJ invocations to module description.
11711         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
11712         * modules/forkpty (configure.ac): ... to here.
11713
11714 2011-05-21  Bruno Haible  <bruno@clisp.org>
11715
11716         ptsname: Move AC_LIBOBJ invocations to module description.
11717         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
11718         invocations from here...
11719         * modules/ptsname (configure.ac): ... to here.
11720
11721 2011-05-21  Bruno Haible  <bruno@clisp.org>
11722
11723         pread: Move AC_LIBOBJ invocations to module description.
11724         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
11725         * modules/pread (configure.ac): ... to here.
11726
11727 2011-05-21  Bruno Haible  <bruno@clisp.org>
11728
11729         posix_spawn*: Move AC_LIBOBJ invocations to module description.
11730         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
11731         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
11732         * modules/posix_spawn (configure.ac): ... to here.
11733         * modules/posix_spawnp (configure.ac): ... and here.
11734
11735 2011-05-21  Bruno Haible  <bruno@clisp.org>
11736
11737         popen: Move AC_LIBOBJ invocations to module description.
11738         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
11739         invocations from here...
11740         * modules/popen (configure.ac): ... to here.
11741
11742 2011-05-21  Bruno Haible  <bruno@clisp.org>
11743
11744         poll: Move AC_LIBOBJ invocations to module description.
11745         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
11746         invocations from here...
11747         * modules/poll (configure.ac): ... to here.
11748
11749 2011-05-21  Bruno Haible  <bruno@clisp.org>
11750
11751         pipe-posix: Move AC_LIBOBJ invocations to module description.
11752         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
11753         * modules/pipe-posix (configure.ac): ... to here.
11754
11755 2011-05-21  Bruno Haible  <bruno@clisp.org>
11756
11757         openat: Respect rules for use of AC_LIBOBJ.
11758         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
11759         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11760         * modules/openat (configure.ac): ... to here.
11761
11762 2011-05-21  Bruno Haible  <bruno@clisp.org>
11763
11764         obstack-printf*: Move AC_LIBOBJ invocations to module description.
11765         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
11766         invocation from here...
11767         * modules/obstack-printf (configure.ac): ... to here.
11768         * modules/obstack-printf-posix (configure.ac): ... and here.
11769
11770 2011-05-21  Bruno Haible  <bruno@clisp.org>
11771
11772         nl_langinfo: Move AC_LIBOBJ invocations to module description.
11773         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
11774         from here...
11775         * modules/nl_langinfo (configure.ac): ... to here.
11776
11777 2011-05-21  Bruno Haible  <bruno@clisp.org>
11778
11779         nanosleep: Move AC_LIBOBJ invocations to module description.
11780         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
11781         gl_PREREQ_NANOSLEEP invocations from here...
11782         * modules/nanosleep (configure.ac): ... to here.
11783
11784 2011-05-21  Bruno Haible  <bruno@clisp.org>
11785
11786         mountlist: Move AC_LIBOBJ invocations to module description.
11787         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
11788         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
11789         * modules/mountlist (configure.ac): ... to here.
11790
11791 2011-05-21  Bruno Haible  <bruno@clisp.org>
11792
11793         mktime: Respect rules for use of AC_LIBOBJ.
11794         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
11795         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
11796         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
11797         (gl_FUNC_MKTIME_INTERNAL): ... and here...
11798         * modules/mktime (configure.ac): ... to here.
11799         * modules/mktime-internal (configure.ac): ... and here.
11800         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
11801
11802 2011-05-21  Bruno Haible  <bruno@clisp.org>
11803
11804         mkstemps: Move AC_LIBOBJ invocations to module description.
11805         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
11806         here...
11807         * modules/mkstemps (configure.ac): ... to here.
11808
11809 2011-05-21  Bruno Haible  <bruno@clisp.org>
11810
11811         mkstemp: Move AC_LIBOBJ invocations to module description.
11812         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
11813         gl_PREREQ_MKSTEMP invocations from here...
11814         * modules/mkstemp (configure.ac): ... to here.
11815
11816 2011-05-21  Bruno Haible  <bruno@clisp.org>
11817
11818         mkostemps: Move AC_LIBOBJ invocations to module description.
11819         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
11820         here...
11821         * modules/mkostemps (configure.ac): ... to here.
11822
11823 2011-05-21  Bruno Haible  <bruno@clisp.org>
11824
11825         mkostemp: Move AC_LIBOBJ invocations to module description.
11826         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
11827         gl_PREREQ_MKOSTEMP invocations from here...
11828         * modules/mkostemp (configure.ac): ... to here.
11829
11830 2011-05-21  Bruno Haible  <bruno@clisp.org>
11831
11832         mknod: Move AC_LIBOBJ invocations to module description.
11833         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
11834         * modules/mknod (configure.ac): ... to here.
11835
11836 2011-05-21  Bruno Haible  <bruno@clisp.org>
11837
11838         mkfifoat: Move AC_LIBOBJ invocations to module description.
11839         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
11840         here...
11841         * modules/mkfifoat (configure.ac): ... to here.
11842
11843 2011-05-21  Bruno Haible  <bruno@clisp.org>
11844
11845         mkfifo: Respect rules for use of AC_LIBOBJ.
11846         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
11847         here...
11848         * modules/mkfifo (configure.ac): ... to here.
11849
11850 2011-05-21  Bruno Haible  <bruno@clisp.org>
11851
11852         mkdtemp: Move AC_LIBOBJ invocations to module description.
11853         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
11854         invocations from here...
11855         * modules/mkdtemp (configure.ac): ... to here.
11856
11857 2011-05-21  Bruno Haible  <bruno@clisp.org>
11858
11859         mkdir: Move AC_LIBOBJ invocations to module description.
11860         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
11861         * modules/mkdir (configure.ac): ... to here.
11862
11863 2011-05-21  Bruno Haible  <bruno@clisp.org>
11864
11865         memset: Move AC_LIBOBJ invocations to module description.
11866         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
11867         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
11868         here...
11869         * modules/memset (configure.ac): ... to here.
11870
11871 2011-05-21  Bruno Haible  <bruno@clisp.org>
11872
11873         memrchr: Move AC_LIBOBJ invocations to module description.
11874         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
11875         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
11876         here...
11877         * modules/memrchr (configure.ac): ... to here.
11878
11879 2011-05-21  Bruno Haible  <bruno@clisp.org>
11880
11881         mempcpy: Move AC_LIBOBJ invocations to module description.
11882         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
11883         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
11884         here...
11885         * modules/mempcpy (configure.ac): ... to here.
11886
11887 2011-05-21  Bruno Haible  <bruno@clisp.org>
11888
11889         memmove: Move AC_LIBOBJ invocations to module description.
11890         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
11891         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
11892         here...
11893         * modules/memmove (configure.ac): ... to here.
11894
11895 2011-05-21  Bruno Haible  <bruno@clisp.org>
11896
11897         memmem*: Move AC_LIBOBJ invocations to module description.
11898         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
11899         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
11900         here...
11901         (gl_FUNC_MEMMEM): ... and here...
11902         * modules/memmem-simple (configure.ac): ... to here.
11903         * modules/memmem (configure.ac): ... and here.
11904
11905 2011-05-21  Bruno Haible  <bruno@clisp.org>
11906
11907         memcpy: Move AC_LIBOBJ invocations to module description.
11908         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
11909         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
11910         here...
11911         * modules/memcpy (configure.ac): ... to here.
11912
11913 2011-05-21  Bruno Haible  <bruno@clisp.org>
11914
11915         memcmp: Simplify autoconf macro.
11916         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
11917         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
11918         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
11919
11920 2011-05-21  Bruno Haible  <bruno@clisp.org>
11921
11922         memcmp: Move AC_LIBOBJ invocations to module description.
11923         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
11924         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
11925         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
11926         * modules/memcmp (configure.ac): ... to here.
11927         (Depends-on): Update conditions.
11928
11929 2011-05-21  Bruno Haible  <bruno@clisp.org>
11930
11931         memchr: Respect rules for use of AC_LIBOBJ.
11932         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
11933         invocations from here...
11934         * modules/memchr (configure.ac): ... to here.
11935
11936 2011-05-21  Bruno Haible  <bruno@clisp.org>
11937
11938         mbtowc: Move AC_LIBOBJ invocations to module description.
11939         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
11940         invocations from here...
11941         * modules/mbtowc (configure.ac): ... to here.
11942
11943 2011-05-21  Bruno Haible  <bruno@clisp.org>
11944
11945         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
11946         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
11947         gl_PREREQ_MBSRTOWCS invocations from here...
11948         * modules/mbsrtowcs (configure.ac): ... to here.
11949
11950 2011-05-21  Bruno Haible  <bruno@clisp.org>
11951
11952         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
11953         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
11954         gl_PREREQ_MBSNRTOWCS invocations from here...
11955         * modules/mbsnrtowcs (configure.ac): ... to here.
11956
11957 2011-05-21  Bruno Haible  <bruno@clisp.org>
11958
11959         mbsinit: Move AC_LIBOBJ invocations to module description.
11960         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
11961         invocations from here...
11962         * modules/mbsinit (configure.ac): ... to here.
11963
11964 2011-05-21  Bruno Haible  <bruno@clisp.org>
11965
11966         mbrlen: Move AC_LIBOBJ invocations to module description.
11967         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
11968         invocations from here...
11969         * modules/mbrlen (configure.ac): ... to here.
11970
11971 2011-05-21  Bruno Haible  <bruno@clisp.org>
11972
11973         mbrtowc: Respect rules for use of AC_LIBOBJ.
11974         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
11975         invocations from here...
11976         * modules/mbrtowc (configure.ac): ... to here.
11977
11978 2011-05-21  Bruno Haible  <bruno@clisp.org>
11979
11980         malloc-*: Move AC_LIBOBJ invocations to module description.
11981         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
11982         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
11983         AC_LIBOBJ invocations from here...
11984         * modules/malloc-gnu (configure.ac): ... to here.
11985         * modules/malloc-posix (configure.ac): ... and here.
11986
11987 2011-05-21  Bruno Haible  <bruno@clisp.org>
11988
11989         lstat, openat: Respect rules for use of AC_LIBOBJ.
11990         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
11991         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
11992         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
11993         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
11994         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
11995         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
11996         here.
11997         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
11998
11999 2011-05-21  Bruno Haible  <bruno@clisp.org>
12000
12001         lseek: Move AC_LIBOBJ invocations to module description.
12002         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12003         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12004         * modules/lseek (configure.ac): ... to here.
12005
12006 2011-05-21  Bruno Haible  <bruno@clisp.org>
12007
12008         linkat: Move AC_LIBOBJ invocations to module description.
12009         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12010         here...
12011         * modules/linkat (configure.ac): ... to here.
12012
12013 2011-05-21  Bruno Haible  <bruno@clisp.org>
12014
12015         link: Respect rules for use of AC_LIBOBJ.
12016         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12017         * modules/link (configure.ac): ... to here.
12018
12019 2011-05-21  Bruno Haible  <bruno@clisp.org>
12020
12021         lchown: Move AC_LIBOBJ invocations to module description.
12022         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12023         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12024         * modules/lchown (configure.ac): ... to here.
12025
12026 2011-05-21  Bruno Haible  <bruno@clisp.org>
12027
12028         iswctype: Move AC_LIBOBJ invocations to module description.
12029         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12030         here...
12031         * modules/iswctype (configure.ac): ... to here.
12032
12033 2011-05-21  Bruno Haible  <bruno@clisp.org>
12034
12035         iswblank: Move AC_LIBOBJ invocations to module description.
12036         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12037         here...
12038         * modules/iswblank (configure.ac): ... to here.
12039
12040 2011-05-21  Bruno Haible  <bruno@clisp.org>
12041
12042         atanl: Move AC_LIBOBJ invocations to module description.
12043         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12044         * modules/atanl (configure.ac): ... to here.
12045
12046 2011-05-21  Bruno Haible  <bruno@clisp.org>
12047
12048         acosl: Move AC_LIBOBJ invocations to module description.
12049         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12050         * modules/acosl (configure.ac): ... to here.
12051
12052 2011-05-21  Bruno Haible  <bruno@clisp.org>
12053
12054         asinl: Respect rules for use of AC_LIBOBJ.
12055         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12056         * modules/asinl (configure.ac): ... to here.
12057
12058 2011-05-21  Bruno Haible  <bruno@clisp.org>
12059
12060         tanl: Move AC_LIBOBJ invocations to module description.
12061         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12062         * modules/tanl (configure.ac): ... to here.
12063
12064 2011-05-21  Bruno Haible  <bruno@clisp.org>
12065
12066         cosl: Move AC_LIBOBJ invocations to module description.
12067         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12068         * modules/cosl (configure.ac): ... to here.
12069
12070 2011-05-21  Bruno Haible  <bruno@clisp.org>
12071
12072         sinl: Move AC_LIBOBJ invocations to module description.
12073         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12074         * modules/sinl (configure.ac): ... to here.
12075
12076 2011-05-21  Bruno Haible  <bruno@clisp.org>
12077
12078         logl: Move AC_LIBOBJ invocations to module description.
12079         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12080         * modules/logl (configure.ac): ... to here.
12081
12082 2011-05-21  Bruno Haible  <bruno@clisp.org>
12083
12084         expl: Move AC_LIBOBJ invocations to module description.
12085         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12086         * modules/expl (configure.ac): ... to here.
12087
12088 2011-05-21  Bruno Haible  <bruno@clisp.org>
12089
12090         roundl: Move AC_LIBOBJ invocations to module description.
12091         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12092         * modules/roundl (configure.ac): ... to here.
12093
12094 2011-05-21  Bruno Haible  <bruno@clisp.org>
12095
12096         round: Move AC_LIBOBJ invocations to module description.
12097         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12098         * modules/round (configure.ac): ... to here.
12099
12100 2011-05-21  Bruno Haible  <bruno@clisp.org>
12101
12102         roundf: Move AC_LIBOBJ invocations to module description.
12103         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12104         * modules/roundf (configure.ac): ... to here.
12105
12106 2011-05-21  Bruno Haible  <bruno@clisp.org>
12107
12108         truncl: Move AC_LIBOBJ invocations to module description.
12109         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12110         * modules/truncl (configure.ac): ... to here.
12111
12112 2011-05-21  Bruno Haible  <bruno@clisp.org>
12113
12114         trunc: Move AC_LIBOBJ invocations to module description.
12115         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12116         * modules/trunc (configure.ac): ... to here.
12117
12118 2011-05-21  Bruno Haible  <bruno@clisp.org>
12119
12120         truncf: Move AC_LIBOBJ invocations to module description.
12121         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12122         * modules/truncf (configure.ac): ... to here.
12123
12124 2011-05-21  Bruno Haible  <bruno@clisp.org>
12125
12126         ceill: Move AC_LIBOBJ invocations to module description.
12127         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12128         * modules/ceill (configure.ac): ... to here.
12129
12130 2011-05-21  Bruno Haible  <bruno@clisp.org>
12131
12132         ceil: Move AC_LIBOBJ invocations to module description.
12133         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12134         * modules/ceil (configure.ac): ... to here.
12135
12136 2011-05-21  Bruno Haible  <bruno@clisp.org>
12137
12138         ceilf: Move AC_LIBOBJ invocations to module description.
12139         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12140         * modules/ceilf (configure.ac): ... to here.
12141
12142 2011-05-21  Bruno Haible  <bruno@clisp.org>
12143
12144         floorl: Respect rules for use of AC_LIBOBJ.
12145         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12146         * modules/floorl (configure.ac): ... to here.
12147
12148 2011-05-21  Bruno Haible  <bruno@clisp.org>
12149
12150         floor: Respect rules for use of AC_LIBOBJ.
12151         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12152         * modules/floor (configure.ac): ... to here.
12153
12154 2011-05-21  Bruno Haible  <bruno@clisp.org>
12155
12156         floorf: Move AC_LIBOBJ invocations to module description.
12157         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
12158         * modules/floorf (configure.ac): ... to here.
12159
12160 2011-05-20  Bruno Haible  <bruno@clisp.org>
12161
12162         sqrtl: Respect rules for use of AC_LIBOBJ.
12163         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
12164         * modules/sqrtl (configure.ac): ... to here.
12165
12166 2011-05-20  Bruno Haible  <bruno@clisp.org>
12167
12168         ldexpl: Respect rules for use of AC_LIBOBJ.
12169         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12170         * modules/ldexpl (configure.ac): ... to here.
12171
12172 2011-05-20  Bruno Haible  <bruno@clisp.org>
12173
12174         frexpl*: Respect rules for use of AC_LIBOBJ.
12175         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12176         invocation from here...
12177         * modules/frexpl (configure.ac): ... to here.
12178         * modules/frexpl-nolibm (configure.ac): ... and here.
12179
12180 2011-05-20  Bruno Haible  <bruno@clisp.org>
12181
12182         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12183         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12184         invocation from here...
12185         * modules/frexp (configure.ac): ... to here.
12186         * modules/frexp-nolibm (configure.ac): ... and here.
12187
12188 2011-05-20  Bruno Haible  <bruno@clisp.org>
12189
12190         isnan: Respect rules for use of AC_LIBOBJ.
12191         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
12192         invocations here.
12193         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
12194         REPLACE_ISNAN.
12195         * modules/isnand (configure.ac): Likewise.
12196         * modules/isnanl (configure.ac): Likewise.
12197
12198 2011-05-20  Bruno Haible  <bruno@clisp.org>
12199
12200         isnanl*: Respect rules for use of AC_LIBOBJ.
12201         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
12202         invocation from here...
12203         * modules/isnanl (configure.ac): ... to here.
12204         * modules/isnanl-nolibm (configure.ac): ... and here.
12205
12206 2011-05-20  Bruno Haible  <bruno@clisp.org>
12207
12208         isnand*: Move AC_LIBOBJ invocations to module description.
12209         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
12210         invocation from here...
12211         * modules/isnand (configure.ac): ... to here.
12212         * modules/isnand-nolibm (configure.ac): ... and here.
12213
12214 2011-05-20  Bruno Haible  <bruno@clisp.org>
12215
12216         isnanf*: Move AC_LIBOBJ invocations to module description.
12217         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
12218         invocation from here...
12219         * modules/isnanf (configure.ac): ... to here.
12220         * modules/isnanf-nolibm (configure.ac): ... and here.
12221
12222 2011-05-20  Bruno Haible  <bruno@clisp.org>
12223
12224         isnan*: Separate the AC_LIBOBJ invocations.
12225         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
12226         AC_LIBOBJ invocation.
12227         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
12228         here.
12229         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
12230         AC_LIBOBJ invocation.
12231         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
12232         here.
12233         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
12234         AC_LIBOBJ invocation.
12235         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
12236         here.
12237         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
12238
12239 2011-05-08  Bruno Haible  <bruno@clisp.org>
12240
12241         isinf: Move AC_LIBOBJ invocations to module description.
12242         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
12243         * modules/isinf (configure.ac): ... to here.
12244
12245 2011-05-08  Bruno Haible  <bruno@clisp.org>
12246
12247         isfinite: Move AC_LIBOBJ invocations to module description.
12248         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
12249         * modules/isfinite (configure.ac): ... to here.
12250
12251 2011-05-08  Bruno Haible  <bruno@clisp.org>
12252
12253         isblank: Move AC_LIBOBJ invocations to module description.
12254         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
12255         here...
12256         * modules/isblank (configure.ac): ... to here.
12257
12258 2011-05-08  Bruno Haible  <bruno@clisp.org>
12259
12260         isapipe: Move AC_LIBOBJ invocations to module description.
12261         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
12262         gl_PREREQ_ISAPIPE invocations from here...
12263         * modules/isapipe (configure.ac): ... to here.
12264         (Depends-on): Update condition.
12265
12266 2011-05-08  Bruno Haible  <bruno@clisp.org>
12267
12268         ioctl: Move AC_LIBOBJ invocations to module description.
12269         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
12270         invocations from here...
12271         * modules/ioctl (configure.ac): ... to here.
12272         (Depends-on): Update condition.
12273
12274 2011-05-08  Bruno Haible  <bruno@clisp.org>
12275
12276         imaxdiv: Move AC_LIBOBJ invocations to module description.
12277         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
12278         invocations from here...
12279         * modules/imaxdiv (configure.ac): ... to here.
12280
12281 2011-05-08  Bruno Haible  <bruno@clisp.org>
12282
12283         imaxabs: Move AC_LIBOBJ invocations to module description.
12284         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
12285         invocations from here...
12286         * modules/imaxabs (configure.ac): ... to here.
12287
12288 2011-05-08  Bruno Haible  <bruno@clisp.org>
12289
12290         getaddrinfo: Move AC_LIBOBJ invocations to module description.
12291         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
12292         AC_LIBOBJ invocations from here...
12293         * modules/getaddrinfo (configure.ac): ... to here.
12294         (Depends-on): Add conditions.
12295
12296 2011-05-08  Bruno Haible  <bruno@clisp.org>
12297
12298         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12299         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
12300         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12301         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
12302         (gl_PREREQ_INET_PTON): ... from here.
12303         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
12304         gl_PREREQ_INET_PTON here.
12305         (Depends-on): Update condition.
12306
12307 2011-05-08  Bruno Haible  <bruno@clisp.org>
12308
12309         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12310         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
12311         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12312         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
12313         (gl_PREREQ_INET_NTOP): ... from here.
12314         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
12315         gl_PREREQ_INET_NTOP here.
12316         (Depends-on): Update condition.
12317
12318 2011-05-08  Bruno Haible  <bruno@clisp.org>
12319
12320         iconv_open: Move AC_LIBOBJ invocations to module description.
12321         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
12322         AC_LIBOBJ invocations from here...
12323         * modules/iconv_open (configure.ac): ... to here.
12324
12325 2011-05-08  Bruno Haible  <bruno@clisp.org>
12326
12327         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
12328         If module 'iconv_open' is among the main modules and module
12329         'iconv_open-utf' is among the tests dependencies, then
12330         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
12331         return the special iconv_t values. Therefore iconv() and iconv_close()
12332         must support these special iconv_t values, already in lib, not only in
12333         tests.
12334         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
12335         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
12336         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
12337         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
12338         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
12339         (Depends-on): Add the dependencies of iconv_open-utf.
12340         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
12341         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
12342         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
12343
12344 2011-05-08  Bruno Haible  <bruno@clisp.org>
12345
12346         group-member: Move AC_LIBOBJ invocations to module description.
12347         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
12348         gl_PREREQ_GROUP_MEMBER invocations from here...
12349         * modules/group-member (configure.ac): ... to here.
12350
12351 2011-05-08  Bruno Haible  <bruno@clisp.org>
12352
12353         grantpt: Move AC_LIBOBJ invocations to module description.
12354         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
12355         invocations from here...
12356         * modules/grantpt (configure.ac): ... to here.
12357
12358 2011-05-08  Bruno Haible  <bruno@clisp.org>
12359
12360         glob: Move AC_LIBOBJ invocations to module description.
12361         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
12362         from here...
12363         * modules/glob (configure.ac): ... to here.
12364
12365 2011-05-08  Bruno Haible  <bruno@clisp.org>
12366
12367         getusershell: Move AC_LIBOBJ invocations to module description.
12368         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
12369         Move AC_LIBOBJ invocation from here...
12370         * modules/getusershell (configure.ac): ... to here.
12371         (Depends-on): Update condition.
12372
12373 2011-05-08  Bruno Haible  <bruno@clisp.org>
12374
12375         gettimeofday: Move AC_LIBOBJ invocations to module description.
12376         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
12377         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
12378         gl_PREREQ_GETTIMEOFDAY invocations from here...
12379         * modules/gettimeofday (configure.ac): ... to here.
12380
12381 2011-05-08  Bruno Haible  <bruno@clisp.org>
12382
12383         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
12384         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
12385         just gl_FUNC_TZSET.
12386         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
12387         (gl_FUNC_TZSET_CLOBBER): Remove actions.
12388         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
12389         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
12390
12391 2011-05-08  Bruno Haible  <bruno@clisp.org>
12392
12393         getsubopt: Move AC_LIBOBJ invocations to module description.
12394         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
12395         gl_PREREQ_GETSUBOPT invocations from here...
12396         * modules/getsubopt (configure.ac): ... to here.
12397
12398 2011-05-08  Bruno Haible  <bruno@clisp.org>
12399
12400         getpass-gnu: Move AC_LIBOBJ invocations to module description.
12401         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
12402         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
12403         * modules/getpass-gnu (configure.ac): ... to here.
12404
12405 2011-05-08  Bruno Haible  <bruno@clisp.org>
12406
12407         getpass: Move AC_LIBOBJ invocations to module description.
12408         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
12409         gl_PREREQ_GETPASS invocations from here...
12410         * modules/getpass (configure.ac): ... to here.
12411
12412 2011-05-08  Bruno Haible  <bruno@clisp.org>
12413
12414         getpagesize: Move AC_LIBOBJ invocations to module description.
12415         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
12416         from here...
12417         * modules/getpagesize (configure.ac): ... to here.
12418
12419 2011-05-08  Bruno Haible  <bruno@clisp.org>
12420
12421         getopt: Move AC_LIBOBJ invocations to module description.
12422         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
12423         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
12424         invocations from here...
12425         * modules/getopt-gnu (configure.ac): ... to here.
12426         * modules/getopt-posix (configure.ac): ... and here.
12427         (Depends-on): Update condition.
12428
12429 2011-05-08  Bruno Haible  <bruno@clisp.org>
12430
12431         getopt, argp: Respect rules for use of AC_LIBOBJ.
12432         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
12433         (gl_REPLACE_GETOPT_ALWAYS): New macro.
12434         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
12435         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
12436
12437 2011-05-08  Bruno Haible  <bruno@clisp.org>
12438
12439         getlogin_r: Move AC_LIBOBJ invocations to module description.
12440         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
12441         gl_PREREQ_GETLOGIN_R invocations from here...
12442         * modules/getlogin_r (configure.ac): ... to here.
12443
12444 2011-05-08  Bruno Haible  <bruno@clisp.org>
12445
12446         getlogin: Move AC_LIBOBJ invocations to module description.
12447         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
12448         here...
12449         * modules/getlogin (configure.ac): ... to here.
12450
12451 2011-05-08  Bruno Haible  <bruno@clisp.org>
12452
12453         getloadavg: Move AC_LIBOBJ invocations to module description.
12454         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
12455         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
12456         * modules/getloadavg (configure.ac): ... to here.
12457
12458 2011-05-08  Bruno Haible  <bruno@clisp.org>
12459
12460         gethrxtime: Move AC_LIBOBJ invocations to module description.
12461         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
12462         LIB_GETHRXTIME from here...
12463         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
12464         invocations from here...
12465         * modules/gethrxtime (configure.ac): ... to here.
12466
12467 2011-05-08  Bruno Haible  <bruno@clisp.org>
12468
12469         gethostname: Move AC_LIBOBJ invocations to module description.
12470         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
12471         gl_PREREQ_GETHOSTNAME invocations from here...
12472         * modules/gethostname (configure.ac): ... to here.
12473
12474 2011-05-08  Bruno Haible  <bruno@clisp.org>
12475
12476         getgroups: Move AC_LIBOBJ invocations to module description.
12477         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
12478         here...
12479         * modules/getgroups (configure.ac): ... to here.
12480
12481 2011-05-08  Bruno Haible  <bruno@clisp.org>
12482
12483         getdtablesize: Move AC_LIBOBJ invocations to module description.
12484         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
12485         invocation from here...
12486         * modules/getdtablesize (configure.ac): ... to here.
12487
12488 2011-05-08  Bruno Haible  <bruno@clisp.org>
12489
12490         getdomainname: Move AC_LIBOBJ invocations to module description.
12491         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
12492         gl_PREREQ_GETDOMAINNAME invocations from here...
12493         * modules/getdomainname (configure.ac): ... to here.
12494
12495 2011-05-08  Bruno Haible  <bruno@clisp.org>
12496
12497         getline: Move AC_LIBOBJ invocations to module description.
12498         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
12499         invocations from here...
12500         * modules/getline (configure.ac): ... to here.
12501
12502 2011-05-08  Bruno Haible  <bruno@clisp.org>
12503
12504         getline: Simplify.
12505         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
12506         It's already handled through the module dependency.
12507
12508 2011-05-08  Bruno Haible  <bruno@clisp.org>
12509
12510         getdelim: Move AC_LIBOBJ invocations to module description.
12511         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
12512         and gl_PREREQ_GETDELIM invocations from here...
12513         * modules/getdelim (configure.ac): ... to here.
12514         (Depends-on): Fix condition.
12515
12516 2011-05-08  Bruno Haible  <bruno@clisp.org>
12517
12518         getcwd: Move AC_LIBOBJ invocations to module description.
12519         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
12520         invocations from here...
12521         * modules/getcwd (configure.ac): ... to here.
12522
12523 2011-05-08  Bruno Haible  <bruno@clisp.org>
12524
12525         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
12526         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
12527         here...
12528         * modules/getcwd-lgpl (configure.ac): ... to here.
12529
12530 2011-05-07  Bruno Haible  <bruno@clisp.org>
12531
12532         crypto/gc: Move AC_LIBOBJ invocations to module description.
12533         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
12534         * modules/crypto/gc (configure.ac): ... to here.
12535
12536 2011-05-07  Bruno Haible  <bruno@clisp.org>
12537
12538         fwriting: Move AC_LIBOBJ invocations to module description.
12539         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
12540         here...
12541         * modules/fwriting (configure.ac): ... to here.
12542
12543 2011-05-07  Bruno Haible  <bruno@clisp.org>
12544
12545         fwritable: Move AC_LIBOBJ invocations to module description.
12546         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
12547         here...
12548         * modules/fwritable (configure.ac): ... to here.
12549
12550 2011-05-07  Bruno Haible  <bruno@clisp.org>
12551
12552         futimens: Move AC_LIBOBJ invocations to module description.
12553         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
12554         here...
12555         * modules/futimens (configure.ac): ... to here.
12556
12557 2011-05-07  Bruno Haible  <bruno@clisp.org>
12558
12559         ftruncate: Move AC_LIBOBJ invocations to module description.
12560         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
12561         gl_PREREQ_FTRUNCATE invocations from here...
12562         * modules/ftruncate (configure.ac): ... to here.
12563
12564 2011-05-07  Bruno Haible  <bruno@clisp.org>
12565
12566         fsync: Move AC_LIBOBJ invocations to module description.
12567         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
12568         invocations from here...
12569         * modules/fsync (configure.ac): ... to here.
12570
12571 2011-05-07  Bruno Haible  <bruno@clisp.org>
12572
12573         fsusage: Move AC_LIBOBJ invocations to module description.
12574         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
12575         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
12576         * modules/fsusage (configure.ac): ... to here.
12577
12578 2011-05-07  Bruno Haible  <bruno@clisp.org>
12579
12580         freopen: Move AC_LIBOBJ invocations to module description.
12581         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
12582         invocations from here...
12583         * modules/freopen (configure.ac): ... to here.
12584
12585 2011-05-07  Bruno Haible  <bruno@clisp.org>
12586
12587         free: Move AC_LIBOBJ invocations to module description.
12588         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
12589         invocations from here...
12590         * modules/free (configure.ac): ... to here.
12591
12592 2011-05-07  Bruno Haible  <bruno@clisp.org>
12593
12594         freadable: Move AC_LIBOBJ invocations to module description.
12595         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
12596         here...
12597         * modules/freadable (configure.ac): ... to here.
12598
12599 2011-05-07  Bruno Haible  <bruno@clisp.org>
12600
12601         fpurge: Move AC_LIBOBJ invocations to module description.
12602         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
12603         invocations from here...
12604         * modules/fpurge (configure.ac): ... to here.
12605
12606 2011-05-07  Bruno Haible  <bruno@clisp.org>
12607
12608         fpending: Move AC_LIBOBJ invocations to module description.
12609         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
12610         gl_FUNC_FPENDING.
12611         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
12612         invocations from here...
12613         * modules/fpending (configure.ac): ... to here.
12614
12615 2011-05-07  Bruno Haible  <bruno@clisp.org>
12616
12617         fopen: Move AC_LIBOBJ invocations to module description.
12618         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
12619         invocations from here...
12620         * modules/fopen (configure.ac): ... to here.
12621
12622 2011-05-07  Bruno Haible  <bruno@clisp.org>
12623
12624         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
12625         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
12626         gl_FUNC_FNMATCH_POSIX.
12627         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
12628         invocations from here...
12629         * modules/fnmatch (configure.ac): ... to here.
12630         * modules/fnmatch-gnu (configure.ac): ... and here.
12631
12632 2011-05-07  Bruno Haible  <bruno@clisp.org>
12633
12634         flock: Move AC_LIBOBJ invocations to module description.
12635         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
12636         invocations from here...
12637         * modules/flock (configure.ac): ... to here.
12638
12639 2011-05-07  Bruno Haible  <bruno@clisp.org>
12640
12641         fileblocks: Move AC_LIBOBJ invocations to module description.
12642         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
12643         gl_PREREQ_FILEBLOCKS invocations from here...
12644         * modules/fileblocks (configure.ac): ... to here.
12645
12646 2011-05-06  Bruno Haible  <bruno@clisp.org>
12647
12648         fflush: Move AC_LIBOBJ invocations to module description.
12649         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
12650         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
12651         invocations from here...
12652         * modules/fflush (configure.ac): ... to here.
12653
12654 2011-05-06  Bruno Haible  <bruno@clisp.org>
12655
12656         fdopendir: Move AC_LIBOBJ invocations to module description.
12657         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
12658         here...
12659         * modules/fdopendir (configure.ac): ... to here.
12660         (Depends-on): Improve conditions.
12661
12662 2011-05-06  Bruno Haible  <bruno@clisp.org>
12663
12664         _Exit: Move AC_LIBOBJ invocations to module description.
12665         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
12666         invocations from here...
12667         * modules/_Exit (configure.ac): ... to here.
12668
12669 2011-05-21  Bruno Haible  <bruno@clisp.org>
12670
12671         euidaccess: Respect rules for use of AC_LIBOBJ.
12672         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12673         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
12674         from here...
12675         * modules/euidaccess (configure.ac): ... to here.
12676
12677 2011-05-06  Bruno Haible  <bruno@clisp.org>
12678
12679         error: Move AC_LIBOBJ invocations to module description.
12680         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
12681         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
12682         invocations from here...
12683         * modules/error (configure.ac): ... to here.
12684
12685 2011-05-06  Bruno Haible  <bruno@clisp.org>
12686
12687         duplocale: Move AC_LIBOBJ invocations to module description.
12688         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
12689         gl_PREREQ_DUPLOCALE invocations from here...
12690         * modules/duplocale (configure.ac): ... to here.
12691
12692 2011-05-05  Bruno Haible  <bruno@clisp.org>
12693
12694         dirfd: Move AC_LIBOBJ invocations to module description.
12695         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
12696         gl_FUNC_DIRFD.
12697         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
12698         here...
12699         * modules/dirfd (configure.ac): ... to here.
12700         (Depends-on): Fix condition.
12701
12702 2011-05-05  Bruno Haible  <bruno@clisp.org>
12703
12704         chown: Respect rules for use of AC_LIBOBJ.
12705         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
12706         * modules/chown (configure.ac): ... to here.
12707
12708 2011-05-05  Bruno Haible  <bruno@clisp.org>
12709
12710         chdir-long: Move AC_LIBOBJ invocations to module description.
12711         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
12712         gl_PREREQ_CHDIR_LONG invocations from here...
12713         * modules/chdir-long (configure.ac): ... to here.
12714
12715 2011-05-05  Bruno Haible  <bruno@clisp.org>
12716
12717         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
12718         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
12719         from here...
12720         * modules/canonicalize-lgpl (configure.ac): ... to here.
12721
12722 2011-05-05  Bruno Haible  <bruno@clisp.org>
12723
12724         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
12725         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
12726         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
12727         REPLACE_CALLOC.
12728         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
12729         * modules/calloc-gnu (configure.ac): Likewise.
12730
12731 2011-05-05  Bruno Haible  <bruno@clisp.org>
12732
12733         btowc: Move AC_LIBOBJ invocations to module description.
12734         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
12735         invocations from here...
12736         * modules/btowc (configure.ac): ... to here.
12737
12738 2011-05-21  Bruno Haible  <bruno@clisp.org>
12739
12740         atexit: Move AC_LIBOBJ invocations to module description.
12741         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
12742         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
12743         here...
12744         * modules/atexit (configure.ac): ... to here.
12745
12746 2011-05-05  Bruno Haible  <bruno@clisp.org>
12747
12748         atoll: Move AC_LIBOBJ invocations to module description.
12749         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
12750         invocations from here...
12751         * modules/atoll (configure.ac): ... to here.
12752
12753 2011-05-05  Bruno Haible  <bruno@clisp.org>
12754
12755         argz: Move AC_LIBOBJ invocations to module description.
12756         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
12757         * modules/argz (configure.ac): ... to here.
12758
12759 2011-05-05  Bruno Haible  <bruno@clisp.org>
12760
12761         alphasort: Move AC_LIBOBJ invocations to module description.
12762         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
12763         gl_PREREQ_ALPHASORT invocations from here...
12764         * modules/alphasort (configure.ac): ... to here.
12765
12766 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
12767
12768         verify: new macro verify_expr; verify_true deprecated
12769         * NEWS: Mention this.
12770         * doc/verify.texi (Compile-time Assertions): Document this.
12771         * lib/verify.h (verify_true): Deprecate.
12772         (verify_expr): New macro.
12773         * tests/test-verify.c (function): Test verify_expr.
12774
12775 2011-06-14  Jim Meyering  <meyering@redhat.com>
12776
12777         init.sh: give more portable redirection-related advice in a comment
12778         * tests/init.sh (stderr_fileno_): Update the advice in comments.
12779         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
12780         for lots of discussion.  Stefano Lattarini suggested the solution
12781         of putting "9>&2" after the command.  Reported by Bruno Haible.
12782
12783 2011-06-13  Bruno Haible  <bruno@clisp.org>
12784
12785         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
12786         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
12787         'none'.
12788
12789 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
12790
12791         ftoastr: use strtof only if HAVE_STRTOF
12792         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
12793         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
12794         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
12795         * modules/ftoastr (configure.ac): Check for strtof.
12796
12797 2011-06-13  Bruno Haible  <bruno@clisp.org>
12798
12799         gnulib-tool: Addendum to 2011-06-08 commit.
12800         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
12801         and --witness-c-macro have been given, augment AM_CPPFLAGS.
12802
12803 2011-06-13  Bruno Haible  <bruno@clisp.org>
12804
12805         fseeko: Provide a non-inline replacement of fseek().
12806         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
12807         * modules/fseeko (Depends-on): Add fseek.
12808         * modules/fseek (License): Change to LGPLv2+.
12809
12810 2011-06-13  Bruno Haible  <bruno@clisp.org>
12811
12812         ftello: Provide a non-inline replacement of ftell().
12813         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
12814         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
12815         not have ftello() (such as on mingw).
12816         * modules/ftello (Depends-on): Add ftell.
12817         * modules/ftell (License): Change to LGPLv2+.
12818
12819 2011-05-07  Bruno Haible  <bruno@clisp.org>
12820
12821         ftell: Move AC_LIBOBJ invocations to module description.
12822         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
12823         * modules/ftell (configure.ac): ... to here.
12824
12825 2011-05-07  Bruno Haible  <bruno@clisp.org>
12826
12827         ftello: Respect rules for use of AC_LIBOBJ.
12828         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
12829         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
12830         here...
12831         * modules/ftello (configure.ac): ... to here.
12832
12833 2011-05-07  Bruno Haible  <bruno@clisp.org>
12834
12835         fseeko: Simplify.
12836         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
12837         (gl_FUNC_FSEEKO): Inline it here.
12838
12839 2011-05-07  Bruno Haible  <bruno@clisp.org>
12840
12841         fseek: Move AC_LIBOBJ invocations to module description.
12842         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
12843         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12844         * modules/fseek (configure.ac): ... to here.
12845
12846 2011-05-07  Bruno Haible  <bruno@clisp.org>
12847
12848         fseek: Respect rules for use of AC_LIBOBJ.
12849         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
12850         here...
12851         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
12852
12853 2011-05-07  Bruno Haible  <bruno@clisp.org>
12854
12855         fseeko: Respect rules for use of AC_LIBOBJ.
12856         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
12857         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
12858         here...
12859         * modules/fseeko (configure.ac): ... to here.
12860
12861 2011-06-13  Bruno Haible  <bruno@clisp.org>
12862
12863         gnulib-tool: Allow comments in the 'Depends-on' section.
12864         * doc/gnulib.texi (Module description): Mention comment syntax in the
12865         Depends-on section.
12866         * gnulib-tool (func_get_dependencies): Filter out comment lines.
12867
12868 2011-06-13  Bruno Haible  <bruno@clisp.org>
12869
12870         file-set.h: guard __attibute__ use, now that it's not always defined
12871         * lib/file-set.h (record_file): Use __attribute__ only with compiler
12872         versions that support it.  This fixes a coreutils build failure with
12873         the vendor cc on HP-UX 11.31.
12874
12875 2011-06-12  Bruno Haible  <bruno@clisp.org>
12876
12877         acl: Add support for HP-UX >= 11.11 JFS ACLs.
12878         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
12879         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
12880         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
12881         (acl, aclsort): New declarations.
12882         (aclv_nontrivial): New declaration.
12883         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
12884         (file_has_acl): Read also the second kind of HP-UX ACLs.
12885         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
12886         kind of HP-UX ACLs if the first kind fails.
12887         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
12888         second kind of HP-UX ACLs.
12889         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
12890         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
12891         agree.
12892         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12893         hpuxjfs.
12894         Handle hpuxjfs.
12895         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12896         hpuxjfs.
12897         Handle hpuxjfs.
12898         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12899         (func_test_same_acls): Use both lsacl and getacl.
12900         Handle hpuxjfs.
12901         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12902         (func_test_same_acls): Use both lsacl and getacl.
12903         Handle hpuxjfs.
12904
12905 2011-06-12  Bruno Haible  <bruno@clisp.org>
12906
12907         acl: Complete the 2010-08-10 fix.
12908         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
12909         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
12910         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
12911         explicitly.
12912         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
12913         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
12914
12915 2011-06-12  Bruno Haible  <bruno@clisp.org>
12916
12917         spawn-pipe tests: Comments.
12918         * tests/test-spawn-pipe-child.c (main): Update comment.
12919         Reported by James Youngman <jay@gnu.org>.
12920
12921 2011-06-11  James Youngman  <jay@gnu.org>
12922
12923         New module 'stat-size'.
12924         * modules/stat-size: New module.  Provides macros for accessing
12925         file size information in instances of struct stat.  Depends on the
12926         fileblocks module because it calls st_blocks.
12927         * lib/stat-size.h: New file, adapted from coreutils' system.h.
12928         * doc/gnulib.texi: Include stat-size.texi.
12929         * doc/stat-size.texi: Documentation for this module.
12930         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
12931         * m4/fileblocks.m4: Mention that stat-size depends on the call to
12932         AC_STRUCT_ST_BLOCKS.
12933
12934 2011-06-09  Bruno Haible  <bruno@clisp.org>
12935
12936         thread: Support pthreads-win32.
12937         * lib/glthread/thread.h (gl_thread_self): Define differently on
12938         pthreads-win32.
12939         (gl_null_thread): New declaration.
12940         (gl_thread_self_pointer): New macro.
12941         * lib/glthread/thread.c (gl_null_thread): New constant.
12942         * tests/test-lock.c: Use gl_thread_self_pointer instead of
12943         gl_thread_self.
12944         * tests/test-tls.c: Likewise.
12945         Suggested by Paul Eggert. Reported by Eric Blake.
12946
12947 2011-06-09  Bruno Haible  <bruno@clisp.org>
12948
12949         thread: Fix confusion between NULL and 0.
12950         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
12951         Reported by Paul Eggert.
12952
12953 2011-06-09  Bruno Haible  <bruno@clisp.org>
12954
12955         spawn-pipe tests: Avoid test failure on HP-UX 11.
12956         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
12957         is closed.
12958
12959 2011-06-09  Bruno Haible  <bruno@clisp.org>
12960
12961         acl tests: Fix compilation error on HP-UX 11.
12962         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
12963
12964 2011-06-09  Bruno Haible  <bruno@clisp.org>
12965
12966         rmdir: Avoid test failure on HP-UX 10.20.
12967         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
12968         EEXIST.
12969
12970 2011-06-08  Eric Blake  <eblake@redhat.com>
12971
12972         perror: fix test on mingw
12973         * modules/perror-tests (Depends-on): Add dup2.
12974
12975         strerror_r-posix: fix on MacOS
12976         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
12977         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
12978         logic bug.
12979         * lib/strerror_r.c (strerror_r): Fix the bug.
12980         * lib/strerror.c (strerror): Likewise.
12981         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
12982         problem.
12983         * doc/posix-functions/strerror.texi (strerror): Likewise.
12984         * doc/posix-functions/perror.texi (perror): Likewise.
12985         * tests/test-strerror.c (main): Enhance test.
12986         * tests/test-strerror_r.c (main): Likewise.
12987
12988 2011-06-08  Bruno Haible  <bruno@clisp.org>
12989
12990         gnulib-tool: Better isolation between different gnulib-tool invocations.
12991         * gnulib-tool: New option --witness-c-macro.
12992         (witness_c_macro): New variable.
12993         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
12994         AM_CPPFLAGS define it as a C macro.
12995         (func_emit_tests_Makefile_am): Likewise.
12996         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
12997         read it from there.
12998         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
12999         m4_define, not AC_DEFUN.
13000         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13001         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13002         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13003         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13004         s|...|...|, to substitute the values of the GNULIB_* module indicator
13005         variables.
13006         * modules/dirent (Makefile.am): Likewise.
13007         * modules/fcntl-h (Makefile.am): Likewise.
13008         * modules/iconv-h (Makefile.am): Likewise.
13009         * modules/langinfo (Makefile.am): Likewise.
13010         * modules/locale (Makefile.am): Likewise.
13011         * modules/math (Makefile.am): Likewise.
13012         * modules/netdb (Makefile.am): Likewise.
13013         * modules/poll-h (Makefile.am): Likewise.
13014         * modules/pty (Makefile.am): Likewise.
13015         * modules/search (Makefile.am): Likewise.
13016         * modules/signal (Makefile.am): Likewise.
13017         * modules/spawn (Makefile.am): Likewise.
13018         * modules/stdio (Makefile.am): Likewise.
13019         * modules/stdlib (Makefile.am): Likewise.
13020         * modules/string (Makefile.am): Likewise.
13021         * modules/sys_ioctl (Makefile.am): Likewise.
13022         * modules/sys_select (Makefile.am): Likewise.
13023         * modules/sys_socket (Makefile.am): Likewise.
13024         * modules/sys_stat (Makefile.am): Likewise.
13025         * modules/sys_times (Makefile.am): Likewise.
13026         * modules/sys_utsname (Makefile.am): Likewise.
13027         * modules/sys_wait (Makefile.am): Likewise.
13028         * modules/termios (Makefile.am): Likewise.
13029         * modules/time (Makefile.am): Likewise.
13030         * modules/unistd (Makefile.am): Likewise.
13031         * modules/wchar (Makefile.am): Likewise.
13032
13033 2011-06-08  Eric Blake  <eblake@redhat.com>
13034
13035         strerror: simplify replacement
13036         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13037         * modules/strerror (configure.ac): No prereqs needed here...
13038         * modules/strerror-override (configure.ac): ...but this needs it.
13039         (Files): Add file for needed prereq macro.
13040
13041 2011-06-08  Bruno Haible  <bruno@clisp.org>
13042
13043         strerror_r-posix: Tweaks.
13044         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13045         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13046         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13047         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13048         (gl_FUNC_STRERROR_R): ... to here.
13049         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13050
13051 2011-06-07  Eric Blake  <eblake@redhat.com>
13052
13053         perror: document fixed bugs
13054         * doc/posix-functions/perror.texi (perror): Document recent
13055         patches.
13056
13057 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13058
13059         stat-time: get_stat_birthtime failure is better-defined
13060         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13061         return a timestamp whose tv_sec and tv_nsec values are both -1.
13062         Previously, the spec said only that the tv_nsec value was negative.
13063         This upward-compatible change simplifies GNU tar a bit.
13064
13065 2011-06-07  Eric Blake  <eblake@redhat.com>
13066
13067         strerror_r-posix: work around cygwin 1.7.9
13068         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13069         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13070         bug without replacing strerror_r.
13071         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13072         strerror_r is buggy, but without requiring strerror_r compilation.
13073         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13074
13075         test-perror: relax test to ignore cygwin bug
13076         * tests/test-perror2.c (main): Relax test on requiring detection
13077         of stream errors, and use unbuffered stream.
13078         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13079         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13080         * doc/posix-functions/fputc.texi (fputc): Likewise.
13081         * doc/posix-functions/fputs.texi (fputs): Likewise.
13082         * doc/posix-functions/fputws.texi (fputws): Likewise.
13083         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13084         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13085         * doc/posix-functions/getopt.texi (getopt): Likewise.
13086         * doc/posix-functions/perror.texi (perror): Likewise.
13087         * doc/posix-functions/printf.texi (printf): Likewise.
13088         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13089         * doc/posix-functions/psignal.texi (psignal): Likewise.
13090         * doc/posix-functions/putc.texi (putc): Likewise.
13091         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13092         Likewise.
13093         * doc/posix-functions/putchar.texi (putchar): Likewise.
13094         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13095         Likewise.
13096         * doc/posix-functions/puts.texi (puts): Likewise.
13097         * doc/posix-functions/putwc.texi (putwc): Likewise.
13098         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13099         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13100         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13101         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13102         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13103         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13104         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13105         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13106
13107 2011-05-22  Bruno Haible  <bruno@clisp.org>
13108
13109         strerror: Move AC_LIBOBJ invocations to module description.
13110         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13111         gl_PREREQ_STRERROR invocations from here...
13112         * modules/strerror (configure.ac): ... to here.
13113
13114 2011-05-21  Bruno Haible  <bruno@clisp.org>
13115
13116         perror: Use common idiom.
13117         * modules/perror (configure.ac): Reorder statements.
13118
13119 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13120
13121         tests: fix usage message in 'mktempd_'
13122         * tests/init.sh (mktempd_): In the usage message, use literal
13123         'mktempd_', not '$ME' (which is even undefined), as the name of
13124         the subroutine.
13125
13126 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13127
13128         tests init: new function 'fatal_', for hard errors
13129         Before this patch, the only way offered by tests/init.sh to
13130         properly signal a hard error was the `framework_failure_'
13131         function.  But the error message issued by that function,
13132         as its name would suggest, refers to a set-up failure in the
13133         testsuite, while hard errors can obviously also be due to
13134         other reasons.  The best way to fix this inconsistency is to
13135         introduce a new function with a more general error message.
13136         * tests/init.sh (fatal_): New function.
13137
13138 2011-06-06  Eric Blake  <eblake@redhat.com>
13139
13140         canonicalize-lgpl: use common idiom
13141         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13142         over newer POSIX -Rf.
13143         Reported by Bruno Haible.
13144
13145         canonicalize-lgpl: work around AIX realpath bug
13146         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13147         * doc/posix-functions/realpath.texi (realpath): Document it.
13148         Reported by Bruno Haible.
13149
13150         strerror: work around FreeBSD bug
13151         * lib/strerror.c (strerror): Special case 0.
13152         Reported by Bruno Haible.
13153
13154         strerror-override: avoid bloating errno module
13155         * modules/errno (Files, configure.ac): Move replacement strings...
13156         * modules/strerror-override: ...to new module.
13157         * modules/strerror (Depends-on): Add strerror-override.
13158         * modules/strerror_r-posix (Depends-on): Likewise.
13159         * MODULES.html.sh: Document new module.
13160         Reported by Bruno Haible.
13161
13162 2011-06-06  Bruno Haible  <bruno@clisp.org>
13163
13164         spawn-pipe tests: Rename program.
13165         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
13166         * tests/test-spawn-pipe-child.c: Update comment.
13167         * tests/test-spawn-pipe.sh: Update.
13168         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13169
13170         spawn-pipe tests: Link the child program only against libc.
13171         * tests/test-spawn-pipe-child.c: New file, extracted from
13172         tests/test-spawn-pipe.c.
13173         (main): Expect only one argument.
13174         (is_open): New function, copied from tests/test-pipe.c.
13175         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13176         (child_main): Remove function.
13177         (test_pipe): Pass only one argument to the child program.
13178         (main): Remove child process code. Expect the child program's name as
13179         first argument.
13180         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13181         argument.
13182         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13183         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13184         test-spawn-pipe-child against no libraries.
13185
13186 2011-06-06  Bruno Haible  <bruno@clisp.org>
13187
13188         careadlinkat: Avoid mismatch between ssize_t and int.
13189         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
13190         * lib/careadlinkat.c (careadlinkatcwd): Define always.
13191
13192 2011-06-06  Jim Meyering  <meyering@redhat.com>
13193
13194         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
13195         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
13196         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
13197
13198 2011-06-05  Bruno Haible  <bruno@clisp.org>
13199
13200         ansi-c++-opt: Interoperability with libtool.
13201         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
13202         set the variable to "no", not to ":".
13203         * NEWS: Mention the change.
13204
13205 2011-06-05  Bruno Haible  <bruno@clisp.org>
13206
13207         acl: Fix test failure on AIX 7.
13208         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
13209         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
13210
13211 2011-06-05  Bruno Haible  <bruno@clisp.org>
13212
13213         pipe-filter-ii: Fix test failure on AIX and IRIX.
13214         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
13215         with EAGAIN, retry with a smaller buffer size.
13216
13217 2011-06-05  Bruno Haible  <bruno@clisp.org>
13218
13219         localename: Fix link dependencies.
13220         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
13221         * modules/localename-tests (Makefile.am): Link test-localename with
13222         $(LIBTHREAD).
13223
13224 2011-06-05  Bruno Haible  <bruno@clisp.org>
13225
13226         error: Avoid gcc warning.
13227         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
13228
13229 2011-06-05  Bruno Haible  <bruno@clisp.org>
13230
13231         unsetenv: Avoid gcc warning.
13232         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
13233
13234 2011-06-05  Bruno Haible  <bruno@clisp.org>
13235
13236         setenv: Avoid gcc warning.
13237         * lib/setenv.c (setenv): Provide declaration if system lacks it.
13238
13239 2011-06-05  Bruno Haible  <bruno@clisp.org>
13240
13241         sys_select: Ensure memset is declared also on AIX 7.
13242         * lib/sys_select.in.h: Include <string.h> also on AIX.
13243         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
13244         self-contained also on AIX 7.1.
13245
13246 2011-06-04  Jim Meyering  <meyering@redhat.com>
13247
13248         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
13249         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
13250         function name, "error".
13251         (_gl_translatable_diag_func_re): New configurable variable.
13252
13253 2011-06-04  Bruno Haible  <bruno@clisp.org>
13254
13255         getopt: Avoid gcc warning.
13256         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
13257
13258 2011-06-04  Bruno Haible  <bruno@clisp.org>
13259
13260         strerror_r: Fix comments.
13261         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
13262         commit.
13263
13264 2011-06-04  Bruno Haible  <bruno@clisp.org>
13265
13266         perror: Fix compilation error.
13267         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
13268         Undefine fprintf, not sprintf.
13269         * modules/perror (Depends-on): Remove intprops, verify.
13270
13271 2011-06-04  Bruno Haible  <bruno@clisp.org>
13272
13273         setlocale: Enable replacement on Cygwin 1.5.
13274         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
13275         Cygwin 1.5.x.
13276         * doc/posix-functions/setlocale.texi: Mention that the problem with the
13277         LC_CTYPE category also exists on Cygwin 1.5.x.
13278
13279 2011-06-04  Bruno Haible  <bruno@clisp.org>
13280
13281         strerror-override: Don't disable symbol renamings.
13282         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
13283         * lib/strerror-override.c: Include config.h.
13284         (strerror_override): Don't undefine.
13285
13286 2011-06-03  Bruno Haible  <bruno@clisp.org>
13287
13288         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
13289         * lib/localename.h: Update copyright header.
13290         * lib/localename.c: Likewise.
13291         * lib/relocatable.h: Likewise.
13292         * lib/relocatable.c: Likewise.
13293
13294 2011-06-02  Bruno Haible  <bruno@clisp.org>
13295
13296         doc: Fix a module name.
13297         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
13298
13299 2011-06-02  Bruno Haible  <bruno@clisp.org>
13300
13301         pipe2: Remove dependency on 'nonblocking' module.
13302         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
13303         O_NONBLOCK is defined by gnulib.
13304         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
13305         is zero.
13306         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
13307         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
13308         defined by gnulib.
13309         (get_nonblocking_flag): New function.
13310         (main): Test O_NONBLOCK flag only if it is nonzero.
13311         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
13312
13313 2011-06-03  Jim Meyering  <meyering@redhat.com>
13314
13315         maint: three new prohibit-header-without-use rules
13316         Prohibit use of cloexec.h, posixver.h, same.h without use.
13317         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
13318         (sc_prohibit_posixver_without_use): Likewise.
13319         (sc_prohibit_same_without_use): Likewise.
13320
13321 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13322
13323         allocator: 'die' routine is now given requested size
13324         * lib/allocator.h (struct allocator.die): New size arg.
13325         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
13326         If the actual problem is an ssize_t limitation, not a size_t or
13327         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
13328
13329 2011-06-01  Eric Blake  <eblake@redhat.com>
13330
13331         strerror: drop strerror_r dependency
13332         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
13333         * lib/strerror-override.c (strerror_override): ...to new file.
13334         * lib/strerror-override.h: Add prototype.
13335         * lib/strerror-impl.h: Delete.
13336         * lib/strerror.c (strerror): New implementation.
13337         * modules/errno (Files): Add new files.
13338         (configure.ac): Compile new file as appropriate.
13339         * modules/strerror (Files): Drop unused file.
13340         (Depends-on): Drop strerror_r-posix.
13341         * MODULES.html.sh: Document strerror_r-posix.
13342         Requested by Sam Steingold.
13343
13344         perror: call strerror_r directly
13345         * modules/perror (Files): Drop strerror-impl.h.
13346         * lib/perror.c (perror): Use our own stack buffer, rather than
13347         calling a wrapper that uses static storage.
13348         * doc/posix-functions/perror.texi (perror): Document a limitation
13349         of our replacement.
13350
13351         strerror_r: fix includes for FreeBSD
13352         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
13353         since we use abort on some platforms.
13354         Reported by Matthias Bolte.
13355
13356 2011-05-31  Bruno Haible  <bruno@clisp.org>
13357
13358         Fix link errors in tests: openat-die uses gettext-h.
13359         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
13360         against $(LIBINTL).
13361         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
13362         against $(LIBINTL).
13363         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
13364         $(LIBINTL).
13365         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
13366         against $(LIBINTL).
13367         * modules/linkat-tests (Makefile.am): Link test-linkat against
13368         $(LIBINTL).
13369         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
13370         $(LIBINTL).
13371         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
13372         against $(LIBINTL).
13373         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
13374         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
13375         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
13376         $(LIBINTL).
13377         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
13378         $(LIBINTL).
13379         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
13380         $(LIBINTL).
13381         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13382
13383 2011-05-31  Bruno Haible  <bruno@clisp.org>
13384
13385         Fix link errors in tests: wait-process uses gettext-h.
13386         * modules/nonblocking-pipe-tests (Makefile.am): Set
13387         test_nonblocking_pipe_main_LDADD.
13388         * modules/nonblocking-socket-tests (Makefile.am): Link
13389         test-nonblocking-socket-main against $(LIBINTL).
13390         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13391
13392 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
13393
13394         assert-h: work around 'verify' incompatibility
13395         * lib/verify.h: Use @...@ directives, not ifdef.
13396         * modules/assert-h (assert.h): Implement the directives.
13397         (assert.h): Substitute the symbol-prefix more consistently.
13398
13399 2011-05-29  Jim Meyering  <meyering@redhat.com>
13400
13401         trim: remove three superfluous assignments
13402         * lib/trim.c (trim2): Remove three superfluous assignments
13403         and correct brace positioning.
13404
13405 2011-05-29  Bruno Haible  <bruno@clisp.org>
13406
13407         wctype-h: Avoid namespace pollution on Solaris 2.6.
13408         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
13409         identifiers.
13410         * doc/posix-headers/wctype.texi: Mention the problem.
13411         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13412
13413 2011-05-28  Jim Meyering  <meyering@redhat.com>
13414
13415         parse-datetime.y: accommodate -Wstrict-overflow
13416         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
13417         placate -Wstrict-overflow.
13418
13419         trim: avoid a warning from -O2 -Wstrict-overflow
13420         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
13421
13422 2011-05-29  Bruno Haible  <bruno@clisp.org>
13423
13424         gnulib-tool: Fix bug in yesterday's commit.
13425         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
13426         twice.
13427
13428 2011-05-29  Bruno Haible  <bruno@clisp.org>
13429
13430         Allow multiple gnulib generated include files to be combined.
13431         * gnulib-tool (func_compute_include_guard_prefix): New function.
13432         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
13433         ${gl_include_guard_prefix} references.
13434         (func_import, func_create_testdir): Invoke
13435         func_compute_include_guard_prefix.
13436         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
13437         * lib/ctype.in.h: Likewise.
13438         * lib/dirent.in.h: Likewise.
13439         * lib/errno.in.h: Likewise.
13440         * lib/fcntl.in.h: Likewise.
13441         * lib/float.in.h: Likewise.
13442         * lib/getopt.in.h: Likewise.
13443         * lib/iconv.in.h: Likewise.
13444         * lib/langinfo.in.h: Likewise.
13445         * lib/locale.in.h: Likewise.
13446         * lib/math.in.h: Likewise.
13447         * lib/netdb.in.h: Likewise.
13448         * lib/netinet_in.in.h: Likewise.
13449         * lib/poll.in.h: Likewise.
13450         * lib/pthread.in.h: Likewise.
13451         * lib/pty.in.h: Likewise.
13452         * lib/sched.in.h: Likewise.
13453         * lib/se-selinux.in.h: Likewise.
13454         * lib/search.in.h: Likewise.
13455         * lib/signal.in.h: Likewise.
13456         * lib/spawn.in.h: Likewise.
13457         * lib/stdarg.in.h: Likewise.
13458         * lib/stddef.in.h: Likewise.
13459         * lib/stdint.in.h: Likewise.
13460         * lib/stdio.in.h: Likewise.
13461         * lib/stdlib.in.h: Likewise.
13462         * lib/string.in.h: Likewise.
13463         * lib/strings.in.h: Likewise.
13464         * lib/sys_file.in.h: Likewise.
13465         * lib/sys_ioctl.in.h: Likewise.
13466         * lib/sys_select.in.h: Likewise.
13467         * lib/sys_socket.in.h: Likewise.
13468         * lib/sys_stat.in.h: Likewise.
13469         * lib/sys_time.in.h: Likewise.
13470         * lib/sys_times.in.h: Likewise.
13471         * lib/sys_uio.in.h: Likewise.
13472         * lib/sys_utsname.in.h: Likewise.
13473         * lib/sys_wait.in.h: Likewise.
13474         * lib/sysexits.in.h: Likewise.
13475         * lib/termios.in.h: Likewise.
13476         * lib/time.in.h: Likewise.
13477         * lib/unistd.in.h: Likewise.
13478         * lib/wchar.in.h: Likewise.
13479         * lib/wctype.in.h: Likewise.
13480         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
13481         * modules/ctype (Makefile.am): Likewise.
13482         * modules/dirent (Makefile.am): Likewise.
13483         * modules/errno (Makefile.am): Likewise.
13484         * modules/fcntl-h (Makefile.am): Likewise.
13485         * modules/float (Makefile.am): Likewise.
13486         * modules/getopt-posix (Makefile.am): Likewise.
13487         * modules/iconv-h (Makefile.am): Likewise.
13488         * modules/langinfo (Makefile.am): Likewise.
13489         * modules/locale (Makefile.am): Likewise.
13490         * modules/math (Makefile.am): Likewise.
13491         * modules/netdb (Makefile.am): Likewise.
13492         * modules/netinet_in (Makefile.am): Likewise.
13493         * modules/poll-h (Makefile.am): Likewise.
13494         * modules/pthread (Makefile.am): Likewise.
13495         * modules/pty (Makefile.am): Likewise.
13496         * modules/sched (Makefile.am): Likewise.
13497         * modules/search (Makefile.am): Likewise.
13498         * modules/selinux-h (Makefile.am): Likewise.
13499         * modules/signal (Makefile.am): Likewise.
13500         * modules/spawn (Makefile.am): Likewise.
13501         * modules/stdarg (Makefile.am): Likewise.
13502         * modules/stddef (Makefile.am): Likewise.
13503         * modules/stdint (Makefile.am): Likewise.
13504         * modules/stdio (Makefile.am): Likewise.
13505         * modules/stdlib (Makefile.am): Likewise.
13506         * modules/string (Makefile.am): Likewise.
13507         * modules/strings (Makefile.am): Likewise.
13508         * modules/sys_file (Makefile.am): Likewise.
13509         * modules/sys_ioctl (Makefile.am): Likewise.
13510         * modules/sys_select (Makefile.am): Likewise.
13511         * modules/sys_socket (Makefile.am): Likewise.
13512         * modules/sys_stat (Makefile.am): Likewise.
13513         * modules/sys_time (Makefile.am): Likewise.
13514         * modules/sys_times (Makefile.am): Likewise.
13515         * modules/sys_uio (Makefile.am): Likewise.
13516         * modules/sys_utsname (Makefile.am): Likewise.
13517         * modules/sys_wait (Makefile.am): Likewise.
13518         * modules/sysexits (Makefile.am): Likewise.
13519         * modules/termios (Makefile.am): Likewise.
13520         * modules/time (Makefile.am): Likewise.
13521         * modules/unistd (Makefile.am): Likewise.
13522         * modules/wchar (Makefile.am): Likewise.
13523         * modules/wctype-h (Makefile.am): Likewise.
13524         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
13525
13526 2011-05-29  Bruno Haible  <bruno@clisp.org>
13527
13528         assert-h: Allow multiple gnulib generated replacements to coexist.
13529         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
13530
13531 2011-05-29  Bruno Haible  <bruno@clisp.org>
13532
13533         argp: Allow coexistence with strerror_r-posix module.
13534         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
13535         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
13536         by gnulib's <string.h> replacement), assume it has the POSIX signature,
13537         not the glibc signature.
13538
13539 2011-05-28  Bruno Haible  <bruno@clisp.org>
13540
13541         gnulib-tool: Alternative structure of testdirs, similar to --import.
13542         * gnulib-tool: New option --single-configure.
13543         (func_usage): Document it.
13544         (single_configure): New variable.
13545         (func_modules_transitive_closure_separately,
13546         func_modules_transitive_closure_separately,
13547         func_determine_use_libtests, func_modules_add_dummy_separately,
13548         func_modules_to_filelist_separately): New functions, extracted from
13549         func_import.
13550         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
13551         (func_import): Use the new functions.
13552         (func_create_testdir): Set final_modules. Handle $single_configure =
13553         true case.
13554
13555 2011-05-28  Bruno Haible  <bruno@clisp.org>
13556
13557         getloadavg: Remove an unreliable safety check.
13558         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
13559         getloadavg.c is in place.
13560         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
13561         Reported by Sam Steingold <sds@gnu.org>.
13562
13563 2011-05-28  Bruno Haible  <bruno@clisp.org>
13564
13565         doc: Cleanup yet another file produced by texinfo.tex.
13566         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
13567
13568 2011-05-28  Bruno Haible  <bruno@clisp.org>
13569
13570         Finish the conditional dependencies mechanism.
13571         * gnulib-tool: New option --no-conditional-dependencies.
13572         (func_usage): Document it. Don't mark --conditional-dependencies as
13573         experimental.
13574         (cond_dependencies): The possible values can now be true, false, empty.
13575         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
13576         (func_import): Store setting in gnulib-cache.m4 and read it from there.
13577         * doc/gnulib-tool.texi (Conditional dependencies): New section.
13578
13579 2011-05-28  Bruno Haible  <bruno@clisp.org>
13580
13581         doc: Use a recent texinfo.tex.
13582         * doc/Makefile (tex_opts): New variable.
13583         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
13584
13585 2011-05-28  Jim Meyering  <meyering@redhat.com>
13586
13587         intprops.h: adjust comment to match code change
13588         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
13589         only once, it *may* have side effects.  Also fix an unrelated typo.
13590         (_GL_INT_SIGNED): Likewise.
13591
13592 2011-05-26  Simon Josefsson  <simon@josefsson.org>
13593
13594         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
13595
13596 2011-05-26  Bruno Haible  <bruno@clisp.org>
13597
13598         mbsrchr: Avoid collision with system function on Interix.
13599         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
13600         Reported by Markus Duft <mduft@gentoo.org>.
13601
13602 2011-05-15  James Youngman  <jay@gnu.org>
13603
13604         getopt: for ambiguous options, enumerate the possibilities.
13605         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
13606         the ambiguous options when an ambiguous prefix is given. This was
13607         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
13608         glibc change was
13609         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
13610
13611 2011-05-25  Eric Blake  <eblake@redhat.com>
13612
13613         getcwd: work around mingw bug
13614         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
13615         * doc/posix-functions/getcwd.texi (getcwd): Document it.
13616         Reported by Matthias Bolte.
13617
13618 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
13619
13620         test-intprops: disable -Wtype-limits diagnostics
13621         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
13622         diagnostics.  Otherwise, the integer overflow macros generate many
13623         diagnostics.  Reported by Jim Meyering in
13624         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
13625
13626         intprops: shorten, to pacify gcc -Woverlength-strings
13627         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
13628         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
13629         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
13630         likely to run afoul of C compiler limits for string constant lengths.
13631         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
13632
13633 2011-05-24  Eric Blake  <eblake@redhat.com>
13634
13635         docs: document recently fixed glibc printf bug
13636         * doc/posix-functions/fprintf.texi (fprintf): Document it.
13637         * doc/posix-functions/printf.texi (printf): Likewise.
13638         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13639         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13640
13641         closein-tests: convert to init.sh
13642         * modules/closein-tests (Files): Add init.sh
13643         * tests/test-closein.sh Use it.
13644
13645         yesno-tests: convert to init.sh
13646         * modules/yesno-tests (Files): Add init.sh.
13647         * tests/test-yesno.sh: Use it.
13648
13649         atexit-tests: ensure reliable exit status
13650         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
13651         Reported by Bruno Haible.
13652
13653 2011-05-24  Bruno Haible  <bruno@clisp.org>
13654
13655         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
13656         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
13657         gl_PREREQ_STRERROR_R invocations from here...
13658         * modules/strerror_r-posix (configure.ac): ... to here.
13659
13660 2011-05-24  Eric Blake  <eblake@redhat.com>
13661
13662         strerror_r: fix missing header
13663         * lib/strerror_r.c: Avoid compiler warning about snprintf.
13664
13665         strerror_r: fix AIX test failures
13666         * lib/strerror_r.c (strerror_r): Convert silent truncation to
13667         ERANGE failure.
13668
13669         strerror_r: fix Solaris test failures
13670         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
13671         failures.
13672         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
13673
13674         strerror_r: enforce POSIX recommendations
13675         * lib/strerror_r.c (safe_copy): New helper method.
13676         (strerror_r): Guarantee a non-empty string.
13677         * tests/test-strerror_r.c (main): Enhance tests to incorporate
13678         recent POSIX rulings and to match our strerror guarantees.
13679         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
13680
13681 2011-05-24  Jim Meyering  <meyering@redhat.com>
13682
13683         test-perror2.c: avoid warning about unused variable
13684         * tests/test-perror2.c (main): Remove declaration of unused "fp".
13685
13686 2011-05-24  Eric Blake  <eblake@redhat.com>
13687
13688         perror: avoid spurious test failure on HP-UX
13689         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
13690
13691         tests: fix logic bug in init.sh
13692         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
13693         shell.
13694
13695 2011-05-24  Jim Meyering  <meyering@redhat.com>
13696
13697         utimensat: do not reference an out-of-scope buffer
13698         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
13699         declared in an inner scope, yet "times" would be dereferenced outside
13700         the scope in which "ts" was valid.
13701         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
13702         of ts[2] "out/up", so that the use of aliased "times" (via
13703         "times = ts;") does not end up referencing an out-of-scope "ts"
13704
13705         opendir-safer.c: don't clobber errno; don't close negative FD
13706         * lib/opendir-safer.c (opendir_safer):
13707         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
13708         file descriptor, and more importantly, don't clobber the
13709         offending errno value with EINVAL.  Before, upon failure
13710         of dup_safer, we would pass the negative file descriptor to
13711         fdopendir, which would clobber errno.
13712
13713 2011-05-23  Bruno Haible  <bruno@clisp.org>
13714
13715         idcache: Fix module description.
13716         * modules/idcache (Include): Set to "idcache.h".
13717
13718 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13719
13720         gnulib-tool: fix portability problem with MacOS sed
13721         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
13722         before the "}".  Problem reported by Leo in
13723         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
13724         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
13725         sed_extract_condition1, sed_extract_condition2.
13726
13727 2011-05-23  Bruno Haible  <bruno@clisp.org>
13728
13729         hash: Simplify autoconf macro.
13730         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
13731
13732 2011-05-23  Bruno Haible  <bruno@clisp.org>
13733
13734         getugroups: Fix module description.
13735         * modules/getugroups (Include): Set to "getugroups.h".
13736
13737 2011-05-23  Bruno Haible  <bruno@clisp.org>
13738
13739         linkat: Simplify autoconf macro.
13740         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
13741
13742 2011-05-23  Bruno Haible  <bruno@clisp.org>
13743             Eric Blake  <eblake@redhat.com>
13744
13745         linkat, renameat: Update dependencies.
13746         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
13747         * modules/linkat (Depends-on): Likewise. Remove also readlink,
13748         symlinkat.
13749
13750 2011-05-23  Jim Meyering  <meyering@redhat.com>
13751
13752         maint.mk: more tight_scope improvements
13753         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
13754         (_gl_TS_headers): Define only in if-0'd block.
13755         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
13756         sometimes we must *not* use it.  Adjust uses accordingly.
13757         (sc_tight_scope): Use much simpler grep-based test to determine
13758         whether we skip this rule.
13759
13760         maint.mk: generalize/improve the tight-scope rule
13761         * top/maint.mk: Emit a warning when the test is skipped.
13762         (_gl_TS_dir): Add $(srcdir)/ prefix.
13763         (_gl_TS_function_match): Simplify, rather than trying
13764         to enumerate common types.  Otherwise, it would fail to match an
13765         "extern unsigned char const *" declaration in idutils.
13766         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
13767         a way to support use of that type of macro.
13768         (_gl_TS_var_match): Simplify regexp.
13769         (_gl_TS_obj_files): New configurable variable.
13770         (_gl_TS_headers): Likewise.
13771
13772 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13773
13774         verify: fix bug when gnulib <assert.h> is also included
13775         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
13776         is defined, not if _GL_STATIC_ASSERT_H is not defined.
13777         Perhaps there's a better way, but this fixes the immediate problem.
13778         Problem reported by Bruno Haible in
13779         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
13780
13781 2011-05-22  Bruno Haible  <bruno@clisp.org>
13782
13783         xgetcwd: Simplify autoconf macro.
13784         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
13785
13786 2011-05-22  Bruno Haible  <bruno@clisp.org>
13787
13788         New module 'mktime-internal'.
13789         * modules/mktime-internal: New file.
13790         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
13791         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
13792         mktime_internal as a C macro if libc has __mktime_internal.
13793         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
13794         conditions.
13795         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
13796
13797 2011-05-22  Bruno Haible  <bruno@clisp.org>
13798
13799         timegm: Correct mktime replacement statements.
13800         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
13801         defining mktime as a C macro. This completes a 2009-07-28 commit.
13802
13803 2011-05-22  Bruno Haible  <bruno@clisp.org>
13804
13805         timegm: Simplify autoconf macro.
13806         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
13807
13808 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13809
13810         clock-time: change to LGPLv2+.
13811         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
13812         BSD-like but we have no mark for that; this is good enough for now.
13813
13814 2011-05-21  Bruno Haible  <bruno@clisp.org>
13815
13816         strerror_r: Fix comments.
13817         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
13818
13819 2011-05-21  Bruno Haible  <bruno@clisp.org>
13820
13821         relocatable-prog-wrapper: Fix possible link error.
13822         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
13823         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
13824         (gl_FUNC_SETENV): ... to here.
13825         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
13826         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
13827
13828 2011-05-21  Bruno Haible  <bruno@clisp.org>
13829
13830         relocatable-prog-wrapper: Assume strerror() exists.
13831         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
13832         m4/strerror.m4.
13833         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
13834         * lib/relocwrapper.c: Remove mention of strerror module.
13835         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
13836         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
13837         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
13838         C macro.
13839
13840 2011-05-21  Bruno Haible  <bruno@clisp.org>
13841
13842         select: Simplify replacement idiom.
13843         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
13844         Win32 platforms.
13845         * lib/sys_select.in.h (select): Simplify accordingly.
13846         * modules/select (Depends-on): Likewise.
13847
13848 2011-05-21  Bruno Haible  <bruno@clisp.org>
13849
13850         mkdir-p: Simplify autoconf macro.
13851         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
13852         gl_FUNC_LCHOWN.
13853
13854 2011-05-21  Eric Blake  <eblake@redhat.com>
13855
13856         strerror_r: avoid clobbering strerror on cygwin
13857         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
13858         fall back instead to sys_errlist.
13859         * modules/strerror (configure.ac): Add witness.
13860         * tests/test-strerror_r.c (main): Enhance test.
13861         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13862         * tests/test-perror2.c (main): Free memory before exit.
13863
13864 2011-05-21  Bruno Haible  <bruno@clisp.org>
13865
13866         mkdtemp: Use gnulib naming conventions.
13867         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
13868         * modules/mkdtemp (configure.ac): Update.
13869
13870 2011-05-20  Eric Blake  <eblake@redhat.com>
13871
13872         strerror_r: avoid corrupting errno on Solaris
13873         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
13874         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13875
13876         strerror_r: avoid compiler warning
13877         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
13878
13879         strerror_r: simplify AIX code
13880         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
13881
13882         test-perror: avoid spurious failure on FreeBSD
13883         * modules/perror-tests (Depends-on): Add strerror, now that
13884         strerror_r no longer pulls it in.
13885
13886 2011-05-20  Bruno Haible  <bruno@clisp.org>
13887
13888         strerror_r-posix: Remove unused dependencies.
13889         * modules/strerror_r-posix (Depends-on): Remove strerror.
13890         Reported by Eric Blake.
13891
13892 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13893
13894         intprops: remove assumption about A|B representation
13895         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
13896         is a valid integer if both A and B are.  Although this is true for
13897         all known practical hosts, the C standard doesn't guarantee it,
13898         and the code need not assume it.  Also, this change may work around
13899         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
13900         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
13901
13902 2011-05-20  Eric Blake  <eblake@redhat.com>
13903
13904         perror: work around FreeBSD bug
13905         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
13906         is broken.  Move AC_LIBOBJ...
13907         * modules/perror (configure.ac): Here.
13908         * doc/posix-functions/perror.texi (perror): Document this.
13909         * tests/test-perror2.c (main): Enhance test.
13910
13911         test-perror: check for strerror interactions
13912         * tests/macros.h (STREQ): Add macro.
13913         * modules/perror-tests (Files): Add second test.
13914         * tests/test-perror2.c (main): New file.
13915         * doc/posix-functions/perror.texi (perror): Document glibc bug.
13916
13917         test-perror: rewrite to use init script
13918         * modules/perror-tests (Files): Add init.sh.
13919         * tests/test-perror.sh: Use temporary directory.
13920
13921 2011-05-20  Jim Meyering  <meyering@redhat.com>
13922
13923         maint: replace misused "a" with "an"
13924         * doc/intprops.texi: "a integer"
13925         * doc/regex.texi: "a explanation"
13926         * lib/alignof.h: "a object"
13927         * lib/argmatch.h: "a explanation"
13928         * lib/argp-help.c: "a option" and "a OPTION_DOC"
13929         * lib/stdint.in.h: "a integer"
13930         * lib/userspec.c: "a owner"
13931         * doc/gnulib.texi: Fix "a idea", and reword.
13932
13933 2011-05-19  Jim Meyering  <meyering@redhat.com>
13934
13935         maint: correct misuse of "a" and "an"
13936         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
13937         * lib/argp-help.c: "an docum...": s/an/a/
13938         * lib/argp-parse.c: "An vector": s/An/A/
13939         * lib/execute.c: "an native": s/an/a/
13940         * lib/spawn-pipe.c: Likewise.
13941         * lib/gc.h: "an Gc_rc": s/an/a/
13942         * lib/unigbrk.in.h: "an grapheme": s/an/a/
13943         * lib/fts.c: "an stat.st_dev": s/an/a/
13944
13945 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13946
13947         intprops-tests: work around HP-UX 11.23 cc bug with constants
13948         * tests/test-intprops.c (VERIFY): New macro.
13949         (main): Use it, instead of verify, to work around the compiler bug; see
13950         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13951
13952         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
13953         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
13954         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
13955         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
13956         (_GL_REMAINDER_OVERFLOW): Use it.
13957
13958         intprops-tests: revert unsigned part of previous change
13959         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
13960         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
13961         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
13962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
13963
13964 2011-05-19  Bruno Haible  <bruno@clisp.org>
13965
13966         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
13967         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
13968         strerror_r() returned without filling the buffer.
13969         Reported by Eric Blake.
13970
13971 2011-05-19  Eric Blake  <eblake@redhat.com>
13972
13973         strerror_r: guarantee unchanged errno
13974         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
13975         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
13976         failure.
13977         * tests/test-strerror_r.c (main): Enhance test.
13978
13979 2011-05-19  Bruno Haible  <bruno@clisp.org>
13980
13981         strerror_r: Reorder #if blocks.
13982         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
13983         for consistency with the previous commit.
13984
13985 2011-05-19  Bruno Haible  <bruno@clisp.org>
13986
13987         perror: Avoid clobbering the strerror buffer when possible.
13988         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
13989         * lib/strerror.c: Include it.
13990         * modules/strerror (Files): Add lib/strerror-impl.h.
13991         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
13992         (my_strerror): New function, defined through lib/strerror-impl.h.
13993         (perror): Use it instead of strerror.
13994         * modules/perror (Files): Add lib/strerror-impl.h.
13995         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
13996
13997 2011-05-19  Eric Blake  <eblake@redhat.com>
13998
13999         strerror_r: fix on newer cygwin
14000         * lib/strerror_r.c (strerror_r): Cygwin now has
14001         __xpg_strerror_r, use it.
14002
14003 2011-05-19  Bruno Haible  <bruno@clisp.org>
14004
14005         strerror_r: Avoid clobbering the strerror buffer when possible.
14006         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14007         (sys_nerr, sys_errlist): New declarations.
14008         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14009         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14010         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14011
14012 2011-05-19  Bruno Haible  <bruno@clisp.org>
14013
14014         strerror_r: Fix test failure on mingw.
14015         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14016         EXTEND_STRERROR_R.
14017         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14018         macros from errno.in.h instead.
14019
14020 2011-05-19  Eric Blake  <eblake@redhat.com>
14021
14022         strerror: relax test for Solaris
14023         * tests/test-strerror.c (main): Permit Solaris behavior.
14024         * tests/test-strerror_r.c (main): Likewise.
14025
14026         strerror: enforce POSIX ruling on strerror(0)
14027         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14028         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14029         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14030         * doc/posix-functions/strerror.texi (strerror): Document it.
14031         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14032         * tests/test-strerror.c (main): Strengthen test.
14033         * tests/test-strerror_r.c (main): Likewise.
14034
14035 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14036
14037         intprop-tests: port to older and more-pedantic compilers
14038         * modules/intprops-tests (Files): Add tests/macros.h.
14039         * tests/test-intprops.c: Include macros.h.
14040         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14041         it's no longer documented to expand to an integer constant expression.
14042         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14043         argument is floating point, as it's no longer documented to expand
14044         to an integer constant expression in that case.
14045         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14046         compiler bugs reported by Bruno Haible.  See
14047         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14048         (U0, U1): New constants, to work around the same bugs.  Also,
14049         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14050
14051         intprops: work around C compiler bugs
14052         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14053         bug in Sun C 5.11 2010/08/13 and other compilers; see
14054         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14055
14056         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14057         * doc/intprops.texi (Integer Type Determination): Fix
14058         documentation for TYPE_IS_INTEGER: it returns an constant
14059         expression, not an integer constant expression.  Fix doc for
14060         TYPE_SIGNED: it returns an integer constant expression only if its
14061         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14062         hardly worth documented that way....)
14063
14064 2011-05-18  Bruno Haible  <bruno@clisp.org>
14065
14066         strerror_r: Avoid clobbering the strerror buffer when possible.
14067         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14068         Handle gnulib defined errno values here. When strerror() returns NULL
14069         or an empty string, return EINVAL.
14070         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14071         gnulib defined errno values here.
14072         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14073
14074 2011-05-18  Eric Blake  <eblake@redhat.com>
14075
14076         fnmatch: avoid compiler warning
14077         * lib/fnmatch_loop.c (FCT): Use correct type.
14078         Reported by Matthias Bolte.
14079
14080 2011-05-13  Jim Meyering  <meyering@redhat.com>
14081
14082         maint.mk: three new prohibit_<HDR>_without_use rules
14083         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14084         (sc_prohibit_stdio-safer_without_use): Likewise.
14085         (sc_prohibit_xfreopen_without_use): Likewise.
14086
14087 2011-05-17  Jim Meyering  <meyering@redhat.com>
14088
14089         announce-gen: fail if the NEWS delta is empty
14090         If there's nothing noteworthy in NEWS, then either you forgot
14091         or you shouldn't be releasing.
14092         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14093
14094 2011-05-17  Pádraig Brady <P@draigBrady.com>
14095
14096         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14097         reserved symbols starting with double underscore from the check.
14098
14099 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14100
14101         intprops: add doc
14102         * doc/intprops.texi: New file, documenting intprops.
14103         * doc/gnulib.texi (Particular Modules): Include it.
14104
14105         verify: add doc to gnulib manual and fix example
14106         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14107         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14108         (Compile-time Assertions): Fix example so it can't overflow.
14109
14110 2011-05-17  Jim Meyering  <meyering@redhat.com>
14111
14112         warnings.m4: don't usurp save_CPPFLAGS variable name
14113         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14114
14115         doc: fix typo
14116         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14117
14118 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14119             Bruno Haible  <bruno@clisp.org>
14120
14121         doc: Tweak recent change.
14122         * README (Portability guidelines): Tweak new text.
14123         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14124         Interix 6.1.
14125
14126 2011-05-16  Eric Blake  <eblake@redhat.com>
14127
14128         inttypes: avoid autoconf warning
14129         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14130         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14131
14132 2011-05-16  Sam Steingold <sds@gnu.org>
14133         and Eric Blake  <eblake@redhat.com>
14134
14135         vc-list-files: accept multiple directory operands
14136         * build-aux/vc-list-files: Iterate over all remaining operands.
14137
14138 2011-05-16  Bruno Haible  <bruno@clisp.org>
14139
14140         Fix confusion regarding deprecated modules.
14141         * modules/calloc (Status, Notice): Mark module as deprecated, not
14142         obsolete.
14143         * modules/fnmatch-posix (Status, Notice): Likewise.
14144         * modules/getdate (Status, Notice): Likewise.
14145         * modules/getopt (Status, Notice): Likewise.
14146         * modules/malloc (Status, Notice): Likewise.
14147         * modules/pipe (Status, Notice): Likewise.
14148         * modules/realloc (Status, Notice): Likewise.
14149         * modules/rename-dest-slash (Status, Notice): Likewise.
14150         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14151         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14152         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14153         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14154         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
14155
14156 2011-05-16  Bruno Haible  <bruno@clisp.org>
14157
14158         doc: List the target platforms.
14159         * doc/gnulib-intro.texi (Target Platforms): New section.
14160         * doc/gnulib.texi (Introduction): Update menu.
14161         * README (Portability guidelines): Refer to the new section. Update
14162         statement about oldest supported environment. Remove rationale why
14163         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
14164         unportable C89 function.
14165         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
14166         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
14167
14168 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14169
14170         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14171
14172 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14173
14174         intprops-tests: new module
14175         * modules/intprops-tests, tests/test-intprops.c: New files.
14176
14177         intprops: add safe, portable integer overflow checking
14178         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14179         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14180         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14181         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14182         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14183         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14184         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14185         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14186         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14187         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
14188         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
14189
14190 2011-05-12  James Youngman  <jay@gnu.org>
14191
14192         Add a test for glibc's Bugzilla bug #12378.
14193         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
14194         doesn't allow the literal matching of a lone "[" (which is
14195         required by POSIX).
14196         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
14197
14198 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
14199
14200         Sync glibc change fixing Bugzilla bug #12378.
14201         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
14202         beginning and fall back to matching as normal character if the
14203         string ends before the matching ']' is found.  This is what POSIX
14204         requires.
14205
14206 2011-05-13  Eric Blake  <eblake@redhat.com>
14207
14208         getcwd-lgpl: relax test for FreeBSD
14209         * doc/posix-functions/getcwd.texi (getcwd): Document portability
14210         issue.
14211         * tests/test-getcwd-lgpl.c (main): Relax test.
14212         Reported by Matthias Bolte.
14213
14214 2011-05-11  Eric Blake  <eblake@redhat.com>
14215
14216         test-fflush: silence compiler warning
14217         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
14218
14219 2011-05-11  Bruno Haible  <bruno@clisp.org>
14220
14221         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
14222         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
14223         * modules/canonicalize (Depends-on): Add 'nocrash'.
14224         * modules/canonicalize-lgpl (Depends-on): Likewise.
14225         * doc/posix-functions/realpath.texi: Update platforms list.
14226         Reported by Ryan Schmidt <ryandesign@macports.org>.
14227
14228 2011-05-11  Bruno Haible  <bruno@clisp.org>
14229
14230         group-member: Declare function in <unistd.h>.
14231         * lib/unistd.in.h (group_member): New declaration.
14232         * lib/group-member.h: Remove file.
14233         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
14234         * tests/test-unistd-c++.cc: Check signature of group_member.
14235         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
14236         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
14237         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
14238         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
14239         HAVE_GROUP_MEMBER.
14240         * modules/group-member (Files): Remove lib/group-member.h.
14241         (Depends-on): Add unistd. Specify conditions.
14242         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14243         (Include): Change to <unistd.h>.
14244         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
14245         HAVE_GROUP_MEMBER.
14246         * NEWS: Mention the change.
14247         * lib/euidaccess.c: Don't include group-member.h.
14248
14249 2011-05-11  Bruno Haible  <bruno@clisp.org>
14250
14251         group-member: Document module.
14252         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
14253         module.
14254
14255 2011-05-11  Bruno Haible  <bruno@clisp.org>
14256
14257         fclose: Fix mistake earlier today.
14258         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
14259
14260 2011-05-11  Eric Blake  <eblake@redhat.com>
14261
14262         fclose: preserve fflush errors
14263         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
14264         Reported by Jim Meyering.
14265
14266         bootstrap: support a prereq of 'rpcgen -' on RHEL5
14267         * build-aux/bootstrap (check_versions): When no specific version
14268         is required, merely check that the app produces an exit status
14269         that indicates its existence.
14270
14271         maint.mk: drop redundant check
14272         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14273         the same but better.
14274
14275 2011-05-11  Bruno Haible  <bruno@clisp.org>
14276
14277         fclose: Fix possible link error.
14278         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
14279         unregister_shadow_fd. Improve comments.
14280         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
14281         Eric Blake.
14282
14283 2011-05-11  Jim Meyering  <meyering@redhat.com>
14284
14285         maint.mk: improve "can not" detection and generalize rule name
14286         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
14287         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
14288         Use the same technique as in sc_prohibit_doubled_word, so that
14289         we recognize "can not" also when the words are separated by a newline.
14290         Suggested by Eric Blake.
14291         (perl_filename_lineno_text_): Define.  Factored out of...
14292         (prohibit_doubled_word_): ...here.  Use the new definition.
14293         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
14294         (prohibit_undesirable_word_seq_RE_): New overridable variable.
14295         (ignore_undesirable_word_sequence_RE_): New overridable variable.
14296
14297 2011-05-10  Eric Blake  <eblake@redhat.com>
14298
14299         fclose: avoid double close race when possible
14300         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
14301         all but WINDOWS_SOCKETS.
14302
14303 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
14304
14305         openat: correct new comment
14306         * lib/openat-proc.c (openat_proc_name): Correct the comment.
14307
14308 2011-05-10  Jim Meyering  <meyering@redhat.com>
14309
14310         openat: add comments
14311         * lib/openat-proc.c (openat_proc_name): Add comments,
14312         mostly from Eric Blake.
14313
14314 2011-05-09  Eric Blake  <eblake@redhat.com>
14315
14316         openat: reduce syscalls in first probe of /proc
14317         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
14318         be a directory.  Simplify the probe for .. bugs.
14319         * modules/openat (Depends-on): Drop same-inode.
14320         Reported by Bastien ROUCARIES.
14321
14322 2011-05-09  Jim Meyering  <meyering@redhat.com>
14323
14324         maint.mk: change semantics/name of tight_scope variables
14325         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
14326         Rename variables to align with semantics that make them more useful.
14327
14328         maint.mk: tweak new rule's name not to impinge
14329         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
14330         (sc_tight_scope): Use new rule name rather than $@-0.
14331
14332         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
14333         * top/maint.mk (sc_tight_scope): New rule.
14334         (sc_tight_scope-0): New rule, ifdef'd out.
14335         (_gl_TS_dir): Default.
14336         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
14337         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
14338
14339 2011-05-09  Simon Josefsson  <simon@josefsson.org>
14340
14341         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
14342         Haible <bruno@clisp.org>.
14343
14344 2011-05-08  Bruno Haible  <bruno@clisp.org>
14345
14346         Comments.
14347         * m4/isnanf.m4: Add comment.
14348         * m4/isnanl.m4: Likewise.
14349
14350 2011-05-08  Bruno Haible  <bruno@clisp.org>
14351
14352         glob: Remove obsolete macro.
14353         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
14354
14355 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14356
14357         intprops: Sun C 5.11 supports __typeof__
14358         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
14359         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
14360         which is new.
14361         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
14362
14363         intprops: switch to usual gnulib indenting and naming
14364         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
14365         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
14366
14367         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
14368
14369 2011-05-08  Jim Meyering  <meyering@redhat.com>
14370
14371         maint.mk: suppress "Entering/Leaving directory" diag in announcement
14372         * top/maint.mk (release-prep): Use make's --no-print-directory
14373         option when generating the announcement.  This eliminates the
14374         pesky "make[2]: Entering/Leaving directory" diagnostics in the
14375         generated announcement template.
14376
14377 2011-05-08  Bruno Haible  <bruno@clisp.org>
14378
14379         tzset: Fix gettimeofday wrapper on Solaris 2.6.
14380         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
14381         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
14382
14383 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14384
14385         ignore-value, verify: Omit include files from lib_SOURCES.
14386         * modules/ignore-value, modules/verify (Makefile.am):
14387         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
14388         that leads Automake to duplicate use of am__objects_... variables
14389         in Makefile.in.  See
14390         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
14391
14392 2011-05-07  Bruno Haible  <bruno@clisp.org>
14393
14394         fclose: Simplify autoconf macro.
14395         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
14396         defined.
14397
14398 2011-05-07  Bruno Haible  <bruno@clisp.org>
14399
14400         canonicalize-lgpl: Fix autoconf macro ordering bug.
14401         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
14402         gl_STDLIB_H_DEFAULTS.
14403
14404 2011-05-06  Eric Blake  <eblake@redhat.com>
14405
14406         maintainer-makefile: make sc_po_check easier to tune
14407         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
14408         to probe for strings, such as an alternate location for gnulib.
14409
14410         fclose: guarantee behavior on seekable stdin
14411         * modules/fclose (Depends-on): Add fflush.
14412         * doc/posix-functions/fclose.texi (fclose): Document this.
14413         * tests/test-fclose.c (main): Make test for this unconditional.
14414
14415 2011-05-06  Bruno Haible  <bruno@clisp.org>
14416
14417         fflush, fpurge: Relicense under LGPLv2+.
14418         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
14419         * modules/fpurge (License): Likewise.
14420         With permission from Eric Blake and Jim Meyering.
14421         Suggested by Eric Blake.
14422
14423 2011-05-06  Karl Berry  <karl@gnu.org>
14424
14425         * MODULES.html.sh (func_all_modules): remove exit.
14426
14427 2011-05-06  Jim Meyering  <meyering@redhat.com>
14428
14429         maint.mk: use info-gnu@ as the default only for a stable release
14430         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
14431         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
14432         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
14433         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
14434
14435 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14436
14437         assert-h: new module, which supports C1X-style static_assert
14438         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
14439         * lib/verify.h: Revamp so that this can be copied into assert.h,
14440         while retaining the ability to use it standalone as before.
14441         Rename private identifiers so as not to encroach on the
14442         standard C namespace, since this is now used by assert.h.
14443         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
14444         the old verify_true.
14445         (_GL_VERIFY_TRUE): New macro, with much of the contents of
14446         the old verify_true.  Use _GL_VERIFY_TYPE.
14447         (_GL_VERIFY): New macro, with much of the contents of the old verify.
14448         (static_assert): New macro, if _GL_STATIC_ASSERT_H
14449         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
14450         defined when this file is copied into the replacement assert.h.
14451         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
14452         and _Static_assert is not built in.
14453         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
14454         defined, and use the new macros mentioned above.
14455         * doc/posix-headers/assert.texi: Document this.
14456
14457 2011-05-05  Bruno Haible  <bruno@clisp.org>
14458
14459         fclose, fflush: Respect rules for use of AC_LIBOBJ.
14460         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
14461         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
14462         gl_REPLACE_FCLOSE here.
14463         * modules/fflush (Depends-on): Remove fclose.
14464         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
14465         combination with module 'fclose'.
14466
14467 2011-05-05  Bruno Haible  <bruno@clisp.org>
14468
14469         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
14470         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
14471         gl_FUNC_FFLUSH.
14472         (gl_FUNC_FFLUSH): Use it.
14473         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
14474         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
14475         gl_REPLACE_FSEEKO here.
14476
14477 2011-05-05  Bruno Haible  <bruno@clisp.org>
14478
14479         tzset: Relicense under LGPL.
14480         * modules/tzset (License): Change to LGPL.
14481         No agreement needed; it's a no-op.
14482
14483         strtoimax, strtoumax: Relicense under LGPL.
14484         * modules/strtoimax (License): Change to LGPL.
14485         * modules/strtoumax (License): Likewise.
14486         With permission from Jim Meyering, Paul Eggert:
14487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
14488         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
14489
14490         getgroups: Relicense under LGPL.
14491         * modules/getgroups (License): Change to LGPL.
14492         With permission from Jim Meyering, Paul Eggert, Eric Blake:
14493         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14495         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14496
14497         nanosleep: Relicense under LGPL.
14498         * modules/nanosleep (License): Change to LGPL.
14499         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
14500         Haible:
14501         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14502         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14503         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14504         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14505
14506         futimens: Relicense under LGPL.
14507         * modules/futimens (License): Change to LGPL.
14508         With permission from Eric Blake:
14509         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14510
14511         fflush: Relicense under LGPL.
14512         * modules/fflush (License): Change to LGPL.
14513         With permission from Eric Blake, Bruno Haible, Jim Meyering:
14514         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14515         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14516         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
14517
14518         tmpfile: Relicense under LGPL.
14519         * modules/tmpfile (License): Change to LGPL.
14520         With permission from Ben Pfaff:
14521         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14522
14523         isfinite: Relicense under LGPL.
14524         * modules/isfinite (License): Change to LGPL.
14525         With permission from Ben Pfaff, Bruno Haible:
14526         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14527         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
14528
14529         acosl..tanl: Relicense under LGPL.
14530         * modules/acosl (License): Change to LGPL.
14531         * modules/asinl (License): Likewise.
14532         * modules/atanl (License): Likewise.
14533         * modules/cosl (License): Likewise.
14534         * modules/expl (License): Likewise.
14535         * modules/logl (License): Likewise.
14536         * modules/sinl (License): Likewise.
14537         * modules/sqrtl (License): Likewise.
14538         * modules/tanl (License): Likewise.
14539         Source code originally from glibc and Paolo Bonzini. Agreements:
14540         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
14541         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
14542
14543 2011-05-05  Bruno Haible  <bruno@clisp.org>
14544
14545         signal: Define sighandler_t.
14546         * lib/signal.in.h (sighandler_t): New type.
14547         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
14548         whether sighandler_t is defined.
14549         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
14550         * modules/signal (Depends-on): Add extensions.
14551         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
14552         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
14553         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
14554
14555 2011-05-05  Eric Blake  <eblake@redhat.com>
14556
14557         maint: remove useless REPLACE_*_H macros
14558         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
14559         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
14560         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
14561         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
14562         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
14563         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
14564         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
14565         * m4/btowc.m4: Update callers.
14566         * m4/dirfd.m4: Likewise.
14567         * m4/duplocale.m4: Likewise.
14568         * m4/fchdir.m4: Likewise.
14569         * m4/fdopendir.m4: Likewise.
14570         * m4/inet_ntop.m4: Likewise.
14571         * m4/inet_pton.m4: Likewise.
14572         * m4/ioctl.m4: Likewise.
14573         * m4/mbrlen.m4: Likewise.
14574         * m4/mbrtowc.m4: Likewise.
14575         * m4/mbsinit.m4: Likewise.
14576         * m4/mbsnrtowcs.m4: Likewise.
14577         * m4/mbsrtowcs.m4: Likewise.
14578         * m4/poll.m4: Likewise.
14579         * m4/setlocale.m4: Likewise.
14580         * m4/wcrtomb.m4: Likewise.
14581         * m4/wcsnrtombs.m4: Likewise.
14582         * m4/wcsrtombs.m4: Likewise.
14583         * m4/wctob.m4: Likewise.
14584         * m4/wcwidth.m4: Likewise.
14585         * modules/posix_spawn: Likewise.
14586         * modules/posix_spawn_file_actions_addclose: Likewise.
14587         * modules/posix_spawn_file_actions_adddup2: Likewise.
14588         * modules/posix_spawn_file_actions_addopen: Likewise.
14589         * modules/posix_spawn_file_actions_destroy: Likewise.
14590         * modules/posix_spawn_file_actions_init: Likewise.
14591         * modules/posix_spawnattr_destroy: Likewise.
14592         * modules/posix_spawnattr_getflags: Likewise.
14593         * modules/posix_spawnattr_getpgroup: Likewise.
14594         * modules/posix_spawnattr_getschedparam: Likewise.
14595         * modules/posix_spawnattr_getschedpolicy: Likewise.
14596         * modules/posix_spawnattr_getsigdefault: Likewise.
14597         * modules/posix_spawnattr_getsigmask: Likewise.
14598         * modules/posix_spawnattr_init: Likewise.
14599         * modules/posix_spawnattr_setflags: Likewise.
14600         * modules/posix_spawnattr_setpgroup: Likewise.
14601         * modules/posix_spawnattr_setschedparam: Likewise.
14602         * modules/posix_spawnattr_setschedpolicy: Likewise.
14603         * modules/posix_spawnattr_setsigdefault: Likewise.
14604         * modules/posix_spawnattr_setsigmask: Likewise.
14605         * modules/posix_spawnp: Likewise.
14606
14607 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
14608
14609         Add option to do-release-commit-and-tag to specify branch.
14610         * build-aux/do-release-commit-and-tag: Add --branch.
14611
14612 2011-05-03  Bruno Haible  <bruno@clisp.org>
14613
14614         Avoid unnecessary compilation units, through conditional dependencies.
14615         * modules/accept (Depends-on): Add conditions to the dependencies.
14616         * modules/acosl (Depends-on): Likewise.
14617         * modules/argz (Depends-on): Likewise.
14618         * modules/asinl (Depends-on): Likewise.
14619         * modules/atanl (Depends-on): Likewise.
14620         * modules/atoll (Depends-on): Likewise.
14621         * modules/bind (Depends-on): Likewise.
14622         * modules/btowc (Depends-on): Likewise.
14623         * modules/canonicalize-lgpl (Depends-on): Likewise.
14624         * modules/ceil (Depends-on): Likewise.
14625         * modules/ceilf (Depends-on): Likewise.
14626         * modules/ceill (Depends-on): Likewise.
14627         * modules/chdir-long (Depends-on): Likewise.
14628         * modules/chown (Depends-on): Likewise.
14629         * modules/close (Depends-on): Likewise.
14630         * modules/connect (Depends-on): Likewise.
14631         * modules/cosl (Depends-on): Likewise.
14632         * modules/dirfd (Depends-on): Likewise.
14633         * modules/dprintf (Depends-on): Likewise.
14634         * modules/dprintf-posix (Depends-on): Likewise.
14635         * modules/error (Depends-on): Likewise.
14636         * modules/euidaccess (Depends-on): Likewise.
14637         * modules/expl (Depends-on): Likewise.
14638         * modules/faccessat (Depends-on): Likewise.
14639         * modules/fchdir (Depends-on): Likewise.
14640         * modules/fclose (Depends-on): Likewise.
14641         * modules/fcntl (Depends-on): Likewise.
14642         * modules/fdopendir (Depends-on): Likewise.
14643         * modules/fflush (Depends-on): Likewise.
14644         * modules/floor (Depends-on): Likewise.
14645         * modules/floorf (Depends-on): Likewise.
14646         * modules/floorl (Depends-on): Likewise.
14647         * modules/fnmatch (Depends-on): Likewise.
14648         * modules/fopen (Depends-on): Likewise.
14649         * modules/fprintf-posix (Depends-on): Likewise.
14650         * modules/frexp (Depends-on): Likewise.
14651         * modules/frexp-nolibm (Depends-on): Likewise.
14652         * modules/frexpl (Depends-on): Likewise.
14653         * modules/frexpl-nolibm (Depends-on): Likewise.
14654         * modules/fseek (Depends-on): Likewise.
14655         * modules/fsusage (Depends-on): Likewise.
14656         * modules/ftell (Depends-on): Likewise.
14657         * modules/ftello (Depends-on): Likewise.
14658         * modules/futimens (Depends-on): Likewise.
14659         * modules/getcwd (Depends-on): Likewise.
14660         * modules/getcwd-lgpl (Depends-on): Likewise.
14661         * modules/getdelim (Depends-on): Likewise.
14662         * modules/getdomainname (Depends-on): Likewise.
14663         * modules/getgroups (Depends-on): Likewise.
14664         * modules/gethostname (Depends-on): Likewise.
14665         * modules/getline (Depends-on): Likewise.
14666         * modules/getlogin_r (Depends-on): Likewise.
14667         * modules/getopt-posix (Depends-on): Likewise.
14668         * modules/getpeername (Depends-on): Likewise.
14669         * modules/getsockname (Depends-on): Likewise.
14670         * modules/getsockopt (Depends-on): Likewise.
14671         * modules/getsubopt (Depends-on): Likewise.
14672         * modules/getusershell (Depends-on): Likewise.
14673         * modules/glob (Depends-on): Likewise.
14674         * modules/grantpt (Depends-on): Likewise.
14675         * modules/iconv_open (Depends-on): Likewise.
14676         * modules/iconv_open-utf (Depends-on): Likewise.
14677         * modules/inet_ntop (Depends-on): Likewise.
14678         * modules/inet_pton (Depends-on): Likewise.
14679         * modules/ioctl (Depends-on): Likewise.
14680         * modules/isapipe (Depends-on): Likewise.
14681         * modules/isfinite (Depends-on): Likewise.
14682         * modules/isinf (Depends-on): Likewise.
14683         * modules/lchown (Depends-on): Likewise.
14684         * modules/ldexpl (Depends-on): Likewise.
14685         * modules/link (Depends-on): Likewise.
14686         * modules/linkat (Depends-on): Likewise.
14687         * modules/listen (Depends-on): Likewise.
14688         * modules/logl (Depends-on): Likewise.
14689         * modules/lstat (Depends-on): Likewise.
14690         * modules/mbrlen (Depends-on): Likewise.
14691         * modules/mbrtowc (Depends-on): Likewise.
14692         * modules/mbsinit (Depends-on): Likewise.
14693         * modules/mbsnrtowcs (Depends-on): Likewise.
14694         * modules/mbsrtowcs (Depends-on): Likewise.
14695         * modules/mbtowc (Depends-on): Likewise.
14696         * modules/memcmp (Depends-on): Likewise.
14697         * modules/mkdir (Depends-on): Likewise.
14698         * modules/mkdtemp (Depends-on): Likewise.
14699         * modules/mkfifo (Depends-on): Likewise.
14700         * modules/mkfifoat (Depends-on): Likewise.
14701         * modules/mknod (Depends-on): Likewise.
14702         * modules/mkostemp (Depends-on): Likewise.
14703         * modules/mkostemps (Depends-on): Likewise.
14704         * modules/mkstemp (Depends-on): Likewise.
14705         * modules/mkstemps (Depends-on): Likewise.
14706         * modules/mktime (Depends-on): Likewise.
14707         * modules/nanosleep (Depends-on): Likewise.
14708         * modules/open (Depends-on): Likewise.
14709         * modules/openat (Depends-on): Likewise.
14710         * modules/perror (Depends-on): Likewise.
14711         * modules/poll (Depends-on): Likewise.
14712         * modules/popen (Depends-on): Likewise.
14713         * modules/posix_spawn (Depends-on): Likewise.
14714         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
14715         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
14716         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
14717         * modules/posix_spawnp (Depends-on): Likewise.
14718         * modules/pread (Depends-on): Likewise.
14719         * modules/printf-posix (Depends-on): Likewise.
14720         * modules/ptsname (Depends-on): Likewise.
14721         * modules/putenv (Depends-on): Likewise.
14722         * modules/pwrite (Depends-on): Likewise.
14723         * modules/readline (Depends-on): Likewise.
14724         * modules/readlink (Depends-on): Likewise.
14725         * modules/readlinkat (Depends-on): Likewise.
14726         * modules/recv (Depends-on): Likewise.
14727         * modules/recvfrom (Depends-on): Likewise.
14728         * modules/regex (Depends-on): Likewise.
14729         * modules/remove (Depends-on): Likewise.
14730         * modules/rename (Depends-on): Likewise.
14731         * modules/renameat (Depends-on): Likewise.
14732         * modules/rmdir (Depends-on): Likewise.
14733         * modules/round (Depends-on): Likewise.
14734         * modules/roundf (Depends-on): Likewise.
14735         * modules/roundl (Depends-on): Likewise.
14736         * modules/rpmatch (Depends-on): Likewise.
14737         * modules/select (Depends-on): Likewise.
14738         * modules/send (Depends-on): Likewise.
14739         * modules/sendto (Depends-on): Likewise.
14740         * modules/setenv (Depends-on): Likewise.
14741         * modules/setlocale (Depends-on): Likewise.
14742         * modules/setsockopt (Depends-on): Likewise.
14743         * modules/shutdown (Depends-on): Likewise.
14744         * modules/sigaction (Depends-on): Likewise.
14745         * modules/signbit (Depends-on): Likewise.
14746         * modules/sigprocmask (Depends-on): Likewise.
14747         * modules/sinl (Depends-on): Likewise.
14748         * modules/sleep (Depends-on): Likewise.
14749         * modules/snprintf (Depends-on): Likewise.
14750         * modules/snprintf-posix (Depends-on): Likewise.
14751         * modules/socket (Depends-on): Likewise.
14752         * modules/sprintf-posix (Depends-on): Likewise.
14753         * modules/sqrtl (Depends-on): Likewise.
14754         * modules/stat (Depends-on): Likewise.
14755         * modules/strchrnul (Depends-on): Likewise.
14756         * modules/strdup-posix (Depends-on): Likewise.
14757         * modules/strerror (Depends-on): Likewise.
14758         * modules/strerror_r-posix (Depends-on): Likewise.
14759         * modules/strndup (Depends-on): Likewise.
14760         * modules/strnlen (Depends-on): Likewise.
14761         * modules/strptime (Depends-on): Likewise.
14762         * modules/strsep (Depends-on): Likewise.
14763         * modules/strsignal (Depends-on): Likewise.
14764         * modules/strstr-simple (Depends-on): Likewise.
14765         * modules/strtod (Depends-on): Likewise.
14766         * modules/strtoimax (Depends-on): Likewise.
14767         * modules/strtok_r (Depends-on): Likewise.
14768         * modules/strtoumax (Depends-on): Likewise.
14769         * modules/symlink (Depends-on): Likewise.
14770         * modules/symlinkat (Depends-on): Likewise.
14771         * modules/tanl (Depends-on): Likewise.
14772         * modules/tcgetsid (Depends-on): Likewise.
14773         * modules/tmpfile (Depends-on): Likewise.
14774         * modules/trunc (Depends-on): Likewise.
14775         * modules/truncf (Depends-on): Likewise.
14776         * modules/truncl (Depends-on): Likewise.
14777         * modules/uname (Depends-on): Likewise.
14778         * modules/unlink (Depends-on): Likewise.
14779         * modules/unlockpt (Depends-on): Likewise.
14780         * modules/unsetenv (Depends-on): Likewise.
14781         * modules/usleep (Depends-on): Likewise.
14782         * modules/utimensat (Depends-on): Likewise.
14783         * modules/vasprintf (Depends-on): Likewise.
14784         * modules/vdprintf (Depends-on): Likewise.
14785         * modules/vdprintf-posix (Depends-on): Likewise.
14786         * modules/vfprintf-posix (Depends-on): Likewise.
14787         * modules/vprintf-posix (Depends-on): Likewise.
14788         * modules/vsnprintf (Depends-on): Likewise.
14789         * modules/vsnprintf-posix (Depends-on): Likewise.
14790         * modules/vsprintf-posix (Depends-on): Likewise.
14791         * modules/wcrtomb (Depends-on): Likewise.
14792         * modules/wcscasecmp (Depends-on): Likewise.
14793         * modules/wcscspn (Depends-on): Likewise.
14794         * modules/wcsdup (Depends-on): Likewise.
14795         * modules/wcsncasecmp (Depends-on): Likewise.
14796         * modules/wcsnrtombs (Depends-on): Likewise.
14797         * modules/wcspbrk (Depends-on): Likewise.
14798         * modules/wcsrtombs (Depends-on): Likewise.
14799         * modules/wcsspn (Depends-on): Likewise.
14800         * modules/wcsstr (Depends-on): Likewise.
14801         * modules/wcstok (Depends-on): Likewise.
14802         * modules/wcswidth (Depends-on): Likewise.
14803         * modules/wctob (Depends-on): Likewise.
14804         * modules/wctomb (Depends-on): Likewise.
14805         * modules/wctype (Depends-on): Likewise.
14806         * modules/wcwidth (Depends-on): Likewise.
14807         * modules/write (Depends-on): Likewise.
14808
14809 2011-05-03  Bruno Haible  <bruno@clisp.org>
14810
14811         Support for conditional dependencies.
14812         * doc/gnulib.texi (Module description): Document the syntax of
14813         conditional dependencies.
14814         * gnulib-tool: New option --conditional-dependencies.
14815         (func_usage): Document it.
14816         (cond_dependencies): New variable.
14817         (func_get_automake_snippet_conditional,
14818         func_get_automake_snippet_unconditional): New functions, extracted from
14819         func_get_automake_snippet.
14820         (func_get_automake_snippet): Use them.
14821         (sed_first_32_chars): New variable.
14822         (func_module_shellfunc_name): New function.
14823         (func_module_shellvar_name): New function.
14824         (func_module_conditional_name): New function.
14825         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
14826         func_cond_module_condition): New functions.
14827         (func_modules_transitive_closure): Add support for conditional
14828         dependencies.
14829         (func_emit_lib_Makefile_am): For a conditional module, enclose the
14830         conditional automake snippet in an automake conditional.
14831         (func_emit_autoconf_snippets): Emit shell functions that contain the
14832         code for conditional modules.
14833         (func_import, func_create_testdir): Update specification.
14834
14835 2011-05-03  Eric Blake  <eblake@redhat.com>
14836
14837         test-getaddrinfo: report error information
14838         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
14839
14840 2011-05-03  Jim Meyering  <meyering@redhat.com>
14841
14842         bootstrap: avoid build failure when $GZIP is set
14843         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
14844         program name.  If defined at all, it is supposed to list gzip options.
14845         Reported by Alan Curry in http://debbugs.gnu.org/8609
14846
14847 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
14848
14849         readme-release: new module with release instructions
14850         * modules/readme-release: New module.
14851         * top/README-release: New file, from coreutils, grep, diffutils.
14852         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14853
14854 2011-05-02  Eric Blake  <eblake@redhat.com>
14855
14856         fflush: also replace fclose when fixing fflush
14857         * modules/fflush (Depends-on): Add fclose.
14858         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
14859         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
14860         memstreams with no backing fd.
14861         * doc/posix-functions/fclose.texi (fclose): Document the use of
14862         fflush module to fix the bug.
14863         * tests/test-fclose.c (main): Relax test when fclose is used in
14864         isolation.
14865
14866         fclose: add some tests
14867         * modules/fclose-tests: New test module.
14868         * tests/test-fclose.c: New file.
14869         * doc/posix-functions/fclose.texi (fclose): Document the bug.
14870
14871         fclose: reduced dependencies
14872         * modules/fclose (Depends-on): Switch from fflush/fseeko to
14873         simpler lseek.
14874         * lib/fclose.c (rpl_fclose): Likewise.
14875         Reported by Simon Josefsson.
14876
14877         exit: drop remaining clients
14878         * modules/argmatch (Depends-on): Replace exit with stdlib.
14879         * modules/copy-file (Depends-on): Likewise.
14880         * modules/execute (Depends-on): Likewise.
14881         * modules/exitfail (Depends-on): Likewise.
14882         * modules/obstack (Depends-on): Likewise.
14883         * modules/pagealign_alloc (Depends-on): Likewise.
14884         * modules/pipe-filter-gi (Depends-on): Likewise.
14885         * modules/pipe-filter-ii (Depends-on): Likewise.
14886         * modules/savewd (Depends-on): Likewise.
14887         * modules/spawn-pipe (Depends-on): Likewise.
14888         * modules/wait-process (Depends-on): Likewise.
14889         * modules/xsetenv (Depends-on): Likewise.
14890         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
14891         * modules/git-merge-changelog (Depends-on): Likewise.
14892         * modules/long-options (Depends-on): Likewise.
14893         * modules/pt_chown (Depends-on): Likewise.
14894         * modules/sysexits (Depends-on): Likewise.
14895
14896         freading: relax license from LGPLv3+ to LGPLv2+
14897         * modules/freading (License): Relax LGPL version.
14898
14899 2011-05-02  Bruno Haible  <bruno@clisp.org>
14900
14901         fchdir: Remove unused dependencies.
14902         * modules/fchdir (Depends-on): Remove include_next.
14903
14904 2011-05-02  Bruno Haible  <bruno@clisp.org>
14905
14906         gnulib-tool: Refactor.
14907         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
14908         from func_emit_autoconf_snippets.
14909         (func_emit_autoconf_snippets): Use it.
14910
14911 2011-05-02  Simon Josefsson  <simon@josefsson.org>
14912
14913         * NEWS: Document removal of 'exit'.
14914         * modules/exit: Remove file.
14915
14916 2011-05-01  Bruno Haible  <bruno@clisp.org>
14917
14918         Update DEPENDENCIES.
14919         * DEPENDENCIES (gettext): Recommend the newest release.
14920         Reported by Simon Josefsson.
14921
14922 2011-05-01  Bruno Haible  <bruno@clisp.org>
14923
14924         gnulib-tool: Reduce code duplication.
14925         * gnulib-tool (func_emit_autoconf_snippets): New function.
14926         (func_import, func_create_testdir): Use it.
14927
14928 2011-04-30  Eric Blake  <eblake@redhat.com>
14929
14930         fclose: don't fail on non-seekable input stream
14931         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
14932         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
14933         since fflush is allowed to fail in that case.
14934
14935 2011-04-30  Bruno Haible  <bruno@clisp.org>
14936
14937         dup3: cleanup
14938         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
14939
14940 2011-04-30  Bruno Haible  <bruno@clisp.org>
14941
14942         netdb: Make it work in C++ mode.
14943         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
14944         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
14945         module.
14946         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
14947         gl_MODULE_INDICATOR_FOR_TESTS.
14948         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
14949         * modules/netdb-c++-tests: New file.
14950         * tests/test-netdb-c++.cc: New file.
14951
14952 2011-04-30  Bruno Haible  <bruno@clisp.org>
14953
14954         New modules 'vfscanf', 'vscanf'.
14955         * modules/vfscanf: New file.
14956         * modules/vscanf: New file.
14957         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
14958         here.
14959         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
14960         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
14961
14962 2011-04-30  Bruno Haible  <bruno@clisp.org>
14963
14964         passfd: Add comments.
14965         * lib/passfd.c: Add comments about platforms.
14966
14967 2011-04-30  Bruno Haible  <bruno@clisp.org>
14968
14969         sys_uio: Make <sys/uio.h> self-contained.
14970         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
14971         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
14972
14973 2011-04-30  Bruno Haible  <bruno@clisp.org>
14974
14975         sys_socket: Ensure 'struct iovec' definition.
14976         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
14977         <sys/socket.h>.
14978         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
14979
14980 2011-04-30  Bruno Haible  <bruno@clisp.org>
14981
14982         sys_uio: Protect definition of 'struct iovec'.
14983         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
14984         it as a C struct.
14985
14986 2011-04-30  Bruno Haible  <bruno@clisp.org>
14987
14988         manywarnings: fix indentation
14989         * m4/manywarnings.m4: Indent by 2 spaces consistently.
14990
14991 2011-04-30  Pádraig Brady <P@draigBrady.com>
14992
14993         manywarnings: add -Wno-missing-field-initializers if needed.
14994         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
14995         option if it's needed to allow initialization with { 0, }
14996
14997 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
14998
14999         announce-gen: cosmetic improvement
15000         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15001
15002 2011-04-29  Jim Meyering  <meyering@redhat.com>
15003
15004         vc-list-files: indent with spaces, not TABs
15005         * build-aux/vc-list-files: Convert leading TABs to spaces,
15006         to match the style of most other files in gnulib.
15007
15008         announce-gen: indent with spaces, not TABs
15009         * build-aux/announce-gen: Convert all TABs to spaces, to match
15010         the style of most other files in gnulib.
15011
15012 2011-04-29  Eric Blake  <eblake@redhat.com>
15013
15014         quotearg: avoid uninitialized variable use
15015         * lib/quotearg.c (quoting_options_from_style): Initialize
15016         remaining fields, and ensure that custom styles are only used via
15017         quoting_options rather than quoting_style.
15018
15019 2011-04-29  Jim Meyering  <meyering@redhat.com>
15020
15021         maint.mk: remove unused VC-tag variable
15022         * top/maint.mk (VC-tag): Remove unused variable.
15023
15024 2011-04-29  Bruno Haible  <bruno@clisp.org>
15025
15026         netdb: fix gai_strerror replacements
15027         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15028         * modules/netdb: Substitute it.
15029
15030 2011-04-29  Jim Meyering  <meyering@redhat.com>
15031
15032         test-getcwd.c: avoid new set-but-not-used warning
15033         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15034         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15035         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15036         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15037
15038         test-hash.c: avoid a new shadowing warning
15039         * tests/test-hash.c (main): Don't shadow "dup".
15040
15041 2011-04-28  Eric Blake  <eblake@redhat.com>
15042
15043         getaddrinfo: fix gai_strerror signature
15044         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15045         and work around mingw with UNICODE defined.
15046         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15047         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15048         * modules/netdb (Makefile.am): Substitute it.
15049         * lib/netdb.in.h (gai_strerror): Declare replacement.
15050         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15051         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15052         the fix.
15053
15054         getsockopt: avoid compiler warning
15055         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15056         Reported by Matthias Bolte.
15057
15058         tests: drop unused link dependency
15059         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15060         * modules/dirent-safer-tests (Makefile.am): Likewise.
15061         * modules/fdopendir-tests (Makefile.am): Likewise.
15062         * modules/mkfifoat-tests (Makefile.am): Likewise.
15063         * modules/openat-safer-tests (Makefile.am): Likewise.
15064         * modules/openat-tests (Makefile.am): Likewise.
15065         * modules/readlinkat-tests (Makefile.am): Likewise.
15066         * modules/symlinkat-tests (Makefile.am): Likewise.
15067         * modules/linkat-tests (Makefile.am): Likewise.
15068         (Depends-on): Switch to filenamecat-lgpl.
15069         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15070         LIBINTL.
15071         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15072         * tests/test-linkat.c (main): Don't require xalloc.
15073
15074         hash, mgetgroups: drop xalloc dependency
15075         * lib/hash.c (includes): Adjust includes.
15076         * lib/mgetgroups.c (includes): Likewise.
15077         (xgetgroups): Move...
15078         * lib/xgetgroups.c: ...to new file.
15079         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15080         * modules/xgetgroups: New file, split from...
15081         * modules/mgetgroups: ...here.
15082         (Depends-on): Add xalloc-oversized.
15083         * modules/hash (Depends-on): Likewise.
15084         * modules/hash-tests (Depends-on): Drop xalloc.
15085         (test_hash_LDADD): Drop unused library.
15086         * tests/test-hash.c (main): Break xalloc dependency.
15087         (includes): Drop unused include.
15088
15089         xalloc-oversized: new module
15090         * modules/xalloc-oversized: New module.
15091         * modules/xalloc (Depends-on): Add it.
15092         * lib/xalloc.h (xalloc_oversized): Move...
15093         * lib/xalloc-oversized.h: ...into new file.
15094
15095         utimecmp: drop dependency on xmalloc
15096         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15097         due to memory pressure.
15098         * modules/utimecmp (Depends-on): Drop xalloc.
15099
15100 2011-04-27  Eric Blake  <eblake@redhat.com>
15101
15102         getcwd: fix mingw bugs
15103         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15104         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15105         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15106
15107 2011-04-27  Bruno Haible  <bruno@clisp.org>
15108
15109         mkstemps: Ensure declaration on MacOS X 10.5.
15110         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15111         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15112         MacOS X.
15113
15114 2011-04-27  Bruno Haible  <bruno@clisp.org>
15115
15116         mkstemp: More documentation.
15117         * doc/posix-functions/mkstemp.texi: Document header file problem on
15118         MacOS X.
15119
15120 2011-04-27  Bruno Haible  <bruno@clisp.org>
15121
15122         mkstemp: Tweak configure message when cross-compiling.
15123         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15124         result as a guess.
15125
15126 2011-04-27  Bruno Haible  <bruno@clisp.org>
15127
15128         clean-temp: Clarify what it does.
15129         * lib/clean-temp.h: Add more comments.
15130         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15131         module.
15132         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15133         * doc/glibc-functions/mkstemps.texi: Likewise.
15134         * doc/glibc-functions/mkostemps.texi: Likewise.
15135
15136 2011-04-27  Eric Blake  <eblake@redhat.com>
15137
15138         fchdir: avoid extra chdir and fix test
15139         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15140         getcwd-lgpl.
15141         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15142         have to be canonical.
15143         (canonicalize_file_name): Drop unused macro.
15144         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15145
15146         filenamecat-lgpl: fix licence
15147         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15148         when it was first created.
15149
15150         linkat, renameat: add missing dependency
15151         * modules/linkat (Depends-on): Require getcwd-lgpl.
15152         * modules/renameat (Depends-on): Likewise.
15153
15154         tests: reduce dependencies
15155         * tests/test-linkat.c (main): Use lighter-weight getcwd.
15156         * tests/test-renameat.c (main): Likewise.
15157         * modules/linkat-tests (Depends-on): Relax dependency.
15158         * modules/renameat-tests (Depends-on): Likewise.
15159         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
15160         dependency explicit.
15161
15162         save-cwd: reduce default dependency
15163         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
15164         * lib/save-cwd.c: Update comments.
15165         * NEWS: Document the semantic change.
15166
15167         getcwd: enhance tests
15168         * tests/test-getcwd-lgpl.c: New file, taken from...
15169         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15170         repeat long path stress tests from m4 probe.
15171         * modules/getcwd-lgpl-tests: New module.
15172         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15173         * m4/getcwd-abort-bug.m4: Update comment.
15174         * m4/getcwd-path-max.m4: Likewise.
15175
15176         getcwd-lgpl: new module
15177         * modules/getcwd-lgpl: New module.
15178         * lib/getcwd-lgpl.c: New file.
15179         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15180         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15181         * modules/getcwd (configure.ac): Set C witness.
15182         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15183
15184         getcwd: tweak comments
15185         * m4/getcwd-abort-bug.m4: Fix comments.
15186         * m4/getcwd-path-max.m4: Likewise.
15187         * m4/getcwd.m4: Likewise.
15188
15189 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15190         and Eric Blake  <eblake@redhat.com>
15191
15192         mkstemp: replace if system version uses wrong permissions
15193         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
15194         read/write mode bits set in file created by mkstemp.
15195         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
15196
15197 2011-04-27  Eric Blake  <eblake@redhat.com>
15198
15199         passfd: avoid compiler warning
15200         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
15201         Reported by Laine Stump.
15202
15203 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
15204
15205         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
15206         required by the NetBSD (and perhaps other 4.4BSD derived) join.
15207
15208 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15209         and Eric Blake  <eblake@redhat.com>
15210
15211         mkstemp: mention clean-temp module
15212         * lib/mkstemp.c: Add comment.
15213         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
15214
15215 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
15216
15217         inttypes: also provide default values for 32-bit tests
15218         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
15219         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
15220
15221 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15222
15223         strtoumax: remove dependency on strtoimax
15224         This is like the strtoull change of yesterday.
15225         * modules/strtoumax (Files): Add lib/strtoimax.c.
15226         (Depends-on): Remove strtoimax and add verify.
15227
15228         inttypes-incomplete: new module
15229         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
15230         all but the PRI* and SCN* parts of gl_INTTYPES_H.
15231         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
15232         of gl_INTTYPES_H.
15233         (gl_INTTYPES_H): Rewrite in terms of these new macros.
15234         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
15235         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
15236         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
15237         * modules/strtoumax, modules/xstrtol (Depends-on):
15238         Depend on inttypes-incomplete, not inttypes.
15239         * modules/inttypes-incomplete: New module, containing the contents
15240         of the old modules/inttypes module, except that the Files: section
15241         omits m4/inttypes-pri.m4, and the configure.ac section invokes
15242         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
15243         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
15244         (Depends-on): Depend only on inttypes-incomplete.
15245         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
15246
15247         inttypes: omit now-redundant strtoimax and strtoumax work
15248         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
15249         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
15250
15251         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
15252         This supports apps that need pointers to strtoimax and strtoumax,
15253         and ports to HP-UX 11.00 64.bit, which has macros that expand to
15254         nonexistent functions.  See
15255         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
15256         et seq.
15257         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
15258         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
15259         a macro.
15260         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15261
15262 2011-04-25  Simon Josefsson  <simon@josefsson.org>
15263
15264         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
15265
15266 2011-04-25  Bruno Haible  <bruno@clisp.org>
15267
15268         strtol, strtoul: Mark modules as obsolete.
15269         * modules/strtol (Status, Notice): New sections.
15270         * modules/strtoul (Status, Notice): New sections.
15271
15272 2011-04-25  Bruno Haible  <bruno@clisp.org>
15273
15274         strtod: Remove check for strtod, unless supporting old platforms.
15275         * modules/strtod-obsolete: New file.
15276         * m4/strtod-obsolete.m4: New file.
15277         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
15278         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
15279         * modules/strtod (Depends-on): Add strtod-obsolete.
15280         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
15281
15282 2011-04-25  Bruno Haible  <bruno@clisp.org>
15283
15284         strcase: Make module obsolete.
15285         * modules/strcase (Status, Notice): New sections.
15286
15287 2011-04-25  Bruno Haible  <bruno@clisp.org>
15288
15289         dup2: Remove check for dup2, unless supporting old obsolete platforms.
15290         * modules/dup2-obsolete: New file.
15291         * m4/dup2-obsolete.m4: New file.
15292         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
15293         gl_FUNC_DUP2_OBSOLETE is not also defined.
15294         * modules/dup2 (Depends-on): Add dup2-obsolete.
15295         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
15296
15297 2011-04-25  Bruno Haible  <bruno@clisp.org>
15298
15299         strnlen: Avoid memchr related link error on old obsolete platforms.
15300         * modules/memchr-obsolete: New file.
15301         * m4/memchr-obsolete.m4: New file.
15302         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
15303         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
15304         * modules/memchr (Depends-on): Add memchr-obsolete.
15305         * modules/strnlen (Depends-on): Likewise.
15306         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
15307
15308 2011-04-25  Jim Meyering  <meyering@redhat.com>
15309
15310         maint.mk: makefile_at_at_check extend and clean up
15311         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
15312         in addition to */Makefile.am.
15313         Exempt legitimate uses of @VAR@ notation, e.g.,
15314         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
15315         Remove obsolete coreutils-specific comment.
15316         Prompted by discussion here:
15317         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
15318
15319 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15320
15321         strtoul: remove dependency on strtol
15322         This is so that 'configure' need not check for strtol merely because
15323         the application needs strtoul.
15324         * modules/strtoul (Files): Add lib/strtol.c.
15325         (Depends-on): Remove strtol.
15326
15327         strtoull: remove dependency on strtoul
15328         This is like the strtoll change.
15329         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
15330         (Depends-on): Remove strtoul.
15331
15332         strtoll: remove dependency on strtol
15333         This is so that 'configure' need not check for strtol merely because
15334         the application needs strtoll.
15335         * modules/strtoll (Files): Add lib/strtol.c.
15336         (Depends-on): Remove strtol.
15337
15338 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15339
15340         inttypes: Move some configure check to module 'imaxdiv'.
15341         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
15342         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
15343         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
15344
15345 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15346
15347         inttypes: Move some configure check to module 'imaxabs'.
15348         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
15349         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
15350         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
15351
15352 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15353
15354         inttypes: Remove configure tests that are not needed since 2009-12-31.
15355         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
15356         gl_cv_header_working_inttypes_h.
15357
15358 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15359
15360         * modules/strnlen (Depends-on): Remove memchr.
15361         The strnlen implementation doesn't need the memchr module's fixes; see
15362         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
15363
15364         strtol: remove dependency on wchar
15365         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
15366         * modules/strtol (Depends-on): Remove wchar.
15367
15368 2011-04-21  Eric Blake  <eblake@redhat.com>
15369
15370         passfd: fix test regression on Linux
15371         * modules/passfd-tests (configure.ac): Correct socketpair check.
15372
15373         passfd: speed up configure and drop unused code
15374         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
15375         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
15376         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
15377         Instead of probing at configure for unix_scm_rights_bsd44_way,
15378         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
15379         check to a struct member probe.
15380         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
15381         (sendfd, recvfd): Update preprocessor checks.
15382         * modules/passfd (Files): Reflect rename, and drop unused file.
15383         (Depends-on): Drop unused dependency.
15384
15385         passfd: allow compilation on mingw
15386         * modules/sys_socket (Depends-on): Add sys_uio.
15387         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
15388         iovec and a minimal struct msghdr.
15389         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
15390         * tests/test-sys_socket.c (main): Enhance test.
15391         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
15392         guaranteed to provide what we need.
15393         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
15394         * modules/passfd-tests (Depends-on): Add sys_wait.
15395         * tests/test-passfd.c (main): Skip test on mingw, for now.
15396         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
15397         partial 'struct msghdr' implementation.
15398
15399         sys_uio: new module
15400         * modules/sys_uio: New module.
15401         * modules/sys_uio-tests: Likewise.
15402         * lib/sys_uio.in.h: New file.
15403         * m4/sys_uio_h.m4: Likewise.
15404         * tests/test-sys_uio.c: Likewise.
15405         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
15406         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
15407
15408 2011-04-20  Jim Meyering  <meyering@redhat.com>
15409
15410         useless-if-before-free: avoid false-positive
15411         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
15412         disjunct so that it too requires a terminating ";".  Without that,
15413         this script would identify as useless one statement from gcc that
15414         was not:
15415           if (aligned_ptr)
15416             free (((void **) aligned_ptr) [-1]);
15417
15418 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
15419
15420         doc: update users.txt.
15421         * users.txt: Add barcode.
15422
15423 2011-04-19  Bruno Haible  <bruno@clisp.org>
15424
15425         ioctl: Remove link dependency on native Windows.
15426         * lib/fd-hook.h: Renamed from lib/close-hook.h.
15427         (gl_close_fn, gl_ioctl_fn): New types.
15428         (struct fd_hook): Renamed from struct close_hook. Change type of
15429         private_close_fn field. Add private_ioctl_fn field.
15430         (close_hook_fn): Add parameter for primary close method.
15431         (execute_close_hooks, execute_all_close_hooks): Likewise.
15432         (ioctl_hook_fn): New type.
15433         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
15434         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15435         argument.
15436         (unregister_fd_hook): Renamed from unregister_close_hook.
15437         * lib/fd-hook.c: Renamed from lib/close-hook.c.
15438         Don't include <unistd.h>.
15439         (close): Remove undef.
15440         (anchor): Update.
15441         (execute_close_hooks): Add argument for primary close method.
15442         (execute_all_close_hooks): Likewise.
15443         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
15444         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15445         argument. Allow each argument to be NULL.
15446         (unregister_fd_hook): Renamed from unregister_close_hook.
15447         * lib/close.c (rpl_close): Pass 'close' function pointer to
15448         execute_all_close_hooks.
15449         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
15450         (primary_ioctl): New function.
15451         (ioctl): Don't call ioctlsocket here. Instead, call
15452         execute_all_ioctl_hooks.
15453         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
15454         close method.
15455         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
15456         (fd_sockets_hook): Renamed from close_sockets_hook.
15457         (gl_sockets_startup, gl_sockets_cleanup): Update.
15458         * modules/fd-hook: Renamed from modules/close-hook. Update.
15459         * modules/close (Depends-on): Add fd-hook, remove close-hook.
15460         * modules/sockets (Depends-on): Likewise.
15461         * modules/ioctl (Depends-on): Add fd-hook.
15462         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
15463         GNULIB_SOCKET.
15464
15465 2011-04-19  Bruno Haible  <bruno@clisp.org>
15466
15467         Move the support of O_NONBLOCK in open() to the 'open' module.
15468         * modules/nonblocking (Depends-on): Remove 'open'.
15469         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
15470         gl_cv_have_open_O_NONBLOCK.
15471         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
15472         O_NONBLOCK support.
15473         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
15474
15475 2011-04-17  Bruno Haible  <bruno@clisp.org>
15476
15477         pipe2: Simplify code.
15478         * lib/pipe2.c (pipe2): Reduce code duplication.
15479
15480 2011-04-17  Bruno Haible  <bruno@clisp.org>
15481
15482         nonblocking: Add comment.
15483         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
15484
15485 2011-04-17  Bruno Haible  <bruno@clisp.org>
15486
15487         nonblocking: Add tests for sockets.
15488         * tests/test-nonblocking-socket.sh: New file.
15489         * tests/test-nonblocking-socket-main.c: New file.
15490         * tests/test-nonblocking-socket-child.c: New file.
15491         * tests/test-nonblocking-socket.h: New file.
15492         * tests/socket-server.h: New file.
15493         * tests/socket-client.h: New file.
15494         * modules/nonblocking-socket-tests: New file.
15495         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
15496
15497 2011-04-17  Bruno Haible  <bruno@clisp.org>
15498
15499         nonblocking: Add tests for pipes.
15500         * tests/test-nonblocking-pipe.sh: New file.
15501         * tests/test-nonblocking-pipe-main.c: New file.
15502         * tests/test-nonblocking-pipe-child.c: New file.
15503         * tests/test-nonblocking-pipe.h: New file.
15504         * tests/test-nonblocking-writer.h: New file.
15505         * tests/test-nonblocking-reader.h: New file.
15506         * tests/test-nonblocking-misc.h: New file.
15507         * modules/nonblocking-pipe-tests: New file.
15508         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
15509
15510 2011-04-16  Bruno Haible  <bruno@clisp.org>
15511
15512         gettext: Clarify the needed programmer actions.
15513         * modules/gettext (Notice): New field.
15514         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
15515
15516 2011-04-16  Bruno Haible  <bruno@clisp.org>
15517
15518         strchrnul: Tweak last commit.
15519         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
15520         bug.
15521         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
15522         as in _GL_FUNCDECL_SYS.
15523         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
15524         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
15525
15526 2011-04-15  Eric Blake  <eblake@redhat.com>
15527
15528         strchrnul: work around cygwin bug
15529         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
15530         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
15531         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
15532         * modules/string (Makefile.am): Substitute it.
15533         * lib/string.in.h (strchrnul): Use it.
15534
15535 2011-04-15  Bruno Haible  <bruno@clisp.org>
15536
15537         Don't require lib/stdio-write.c when only module 'stdio' is used.
15538         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
15539         invocation.
15540         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
15541
15542 2011-04-14  Bruno Haible  <bruno@clisp.org>
15543
15544         Support non-blocking pipe I/O in read() on native Windows.
15545         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
15546         (read): New declaration.
15547         * lib/read.c: New file.
15548         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
15549         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
15550         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
15551         vscanf): New declarations.
15552         * lib/stdio-read.c: New file.
15553         * m4/read.m4: New file.
15554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
15555         REPLACE_READ.
15556         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
15557         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15558         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
15559         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
15560         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
15561         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15562         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15563         * modules/read: New file.
15564         * modules/nonblocking (Files): Add lib/stdio-read.c.
15565         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
15566         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
15567         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15568         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15569         * modules/pread (Depends-on): Add read.
15570         * modules/safe-read (Depends-on): Likewise.
15571         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
15572         gets, scanf, vfscanf, vscanf): Verify signatures.
15573         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
15574         problem with non-blocking pipes.
15575         * doc/posix-functions/fgetc.texi: Likewise.
15576         * doc/posix-functions/fgets.texi: Likewise.
15577         * doc/posix-functions/fread.texi: Likewise.
15578         * doc/posix-functions/fscanf.texi: Likewise.
15579         * doc/posix-functions/getc.texi: Likewise.
15580         * doc/posix-functions/getchar.texi: Likewise.
15581         * doc/posix-functions/gets.texi: Likewise.
15582         * doc/posix-functions/scanf.texi: Likewise.
15583         * doc/posix-functions/vfscanf.texi: Likewise.
15584         * doc/posix-functions/vscanf.texi: Likewise.
15585
15586 2011-04-14  Bruno Haible  <bruno@clisp.org>
15587
15588         Support non-blocking pipe I/O in write() on native Windows.
15589         * lib/write.c (rpl_write): Split a write request that failed merely
15590         because the byte count was larger than the pipe buffer's size.
15591         * doc/posix-functions/write.texi: Mention the problem with large byte
15592         counts.
15593
15594 2011-04-14  Bruno Haible  <bruno@clisp.org>
15595
15596         wchar: Ensure that wchar_t gets defined on uClibc.
15597         * lib/wchar.in.h: On uClibc, include <stddef.h>.
15598         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
15599
15600 2011-04-13  Bruno Haible  <bruno@clisp.org>
15601
15602         safe-write, full-read: Avoid unnecessary compilation units.
15603         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
15604         (Depends-on): Remove safe-read. Add ssize_t.
15605         * modules/full-read (Files): Add lib/full-write.c.
15606         (Depends-on): Add full-write.
15607
15608 2011-04-13  Bruno Haible  <bruno@clisp.org>
15609
15610         Support non-blocking pipe I/O and SIGPIPE in pwrite().
15611         * modules/pwrite (Depends-on): Add 'write'.
15612
15613 2011-04-13  Bruno Haible  <bruno@clisp.org>
15614
15615         Support non-blocking pipe I/O in write() on native Windows.
15616         * lib/unistd.in.h (write): Enable replacement also if
15617         GNULIB_UNISTD_H_NONBLOCKING is 1.
15618         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
15619         (rpl_write): When failing to write on a non-blocking pipe, change
15620         errno from ENOSPC to EAGAIN.
15621         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
15622         putchar, puts, vfprintf, vprintf): Enable replacement also if
15623         GNULIB_STDIO_H_NONBLOCKING is 1.
15624         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
15625         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
15626         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
15627         CALL_WITH_SIGPIPE_EMULATION.
15628         (CALL_WITH_SIGPIPE_EMULATION): Use them.
15629         * m4/nonblocking.m4: New file.
15630         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
15631         for non-blocking I/O support.
15632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15633         GNULIB_UNISTD_H_NONBLOCKING.
15634         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
15635         required for non-blocking I/O support.
15636         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
15637         * modules/nonblocking (Files): Add m4/nonblocking.m4,
15638         lib/stdio-write.c, m4/asm-underscore.m4.
15639         (Depends-on): Add stdio, unistd.
15640         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
15641         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
15642         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
15643         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
15644         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
15645         problem with non-blocking pipes.
15646         * doc/posix-functions/fputc.texi: Likewise.
15647         * doc/posix-functions/fputs.texi: Likewise.
15648         * doc/posix-functions/fwrite.texi: Likewise.
15649         * doc/posix-functions/printf.texi: Likewise.
15650         * doc/posix-functions/putc.texi: Likewise.
15651         * doc/posix-functions/putchar.texi: Likewise.
15652         * doc/posix-functions/puts.texi: Likewise.
15653         * doc/posix-functions/vfprintf.texi: Likewise.
15654         * doc/posix-functions/vprintf.texi: Likewise.
15655         * doc/posix-functions/write.texi: Likewise.
15656
15657 2011-04-10  Jim Meyering  <meyering@redhat.com>
15658
15659         maint.mk: prohibit doubled words
15660         Detect them also when they're separated by a newline.
15661         There are 3 ways to customize it:
15662           - disable the test on a per file basis, as usual with rules using
15663             $(VC_LIST_EXCEPT)
15664           - replace the default doubled-word-selecting regexp (affects all files)
15665           - ignore a particular file-vs-doubled-word match
15666         I nearly used that last one to ignore the "is is" match in
15667         coreutils' NEWS file, since the text was "ls -is is ..."
15668         To do that, I would have added this line to cfg.mk:
15669           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
15670         but it would have ignored any "is is" match in NEWS.
15671         Low probability, but still...
15672         Instead, I changed the text, slightly:
15673           -  ls -is is now consistent with ls -lis in ignoring values returned
15674           +  "ls -is" is now consistent with ls -lis in ignoring values returned
15675         * top/maint.mk (prohibit_double_word_RE_): Provide default.
15676         (prohibit_doubled_word_): Define.
15677         (sc_prohibit_doubled_word): New rule.
15678         (sc_prohibit_the_the): Remove.  Subsumed by the above.
15679
15680 2011-04-10  Jim Meyering  <meyering@redhat.com>
15681
15682         maint: fix doubled-word typo in comment
15683         * m4/gethostname.m4: s/is is/it is/
15684         * m4/getdomainname.m4: Likewise.
15685
15686 2011-04-10  Jim Meyering  <meyering@redhat.com>
15687
15688         maint: remove doubled word: s/it it/it/
15689         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
15690
15691 2011-04-10  Jim Meyering  <meyering@redhat.com>
15692
15693         maint.mk: remove useless semicolon and backslash
15694         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
15695         semicolon and backslash.
15696
15697 2011-04-10  Bruno Haible  <bruno@clisp.org>
15698
15699         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
15700         * modules/stdint-tests (Depends-on): Add wchar.
15701
15702 2011-04-10  Jim Meyering  <meyering@redhat.com>
15703
15704         maint: remove doubled words in comments, e.g., s/a a/a/
15705         * lib/strptime.c (day_of_the_week): s/the the/the/
15706         * tests/test-chown.h (test_chown): s/a a/a/
15707
15708         test-chown.h: correct a cast
15709         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
15710         when the destination is a stat.st_gid.
15711
15712 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
15713
15714         getaddrinfo: Fix test for sa_len member.
15715         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
15716         include <sys/types.h> before <sys/socket.h>.
15717
15718 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15719
15720         maint: change "can not" to "cannot"
15721         * doc/posix-functions/iconv.texi (iconv): This one crossed line
15722         boundaries.
15723
15724 2011-04-09  Jim Meyering  <meyering@redhat.com>
15725
15726         maint: change "a a" to "a"
15727         * tests/test-lchown.h (test_lchown): s/a a/a/
15728
15729         maint.mk: prohibit \<the the\>
15730         * top/maint.mk (sc_prohibit_the_the): New rule.
15731
15732         maint: fix "the the" in comment
15733         * lib/count-one-bits.h: s/the the/the/
15734
15735         maint: change "can not" to "cannot"
15736         But do not change the occurrences in maintain.texi or in
15737         build-aux/po/Makefile.in.in, which I presume comes from gettext.
15738         * doc/gnulib-tool.texi: s/can not/cannot/
15739         * doc/posix-functions/accept.texi (accept): Likewise.
15740         * doc/posix-functions/socket.texi (socket): Likewise.
15741         * lib/mbrtowc.c: Likewise.
15742
15743         maint.mk: prohibit use of "can not"
15744         * top/maint.mk (sc_prohibit_can_not): New rule.
15745         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
15746
15747 2011-04-09  Bruno Haible  <bruno@clisp.org>
15748
15749         careadlinkat: Guard against misuse of careadlinkatcwd.
15750         * lib/careadlinkat.c: Include <stdlib.h>.
15751         (careadlinkatcwd): Check that the fd argument is as expected.
15752
15753 2011-04-09  Bruno Haible  <bruno@clisp.org>
15754
15755         careadlinkat: Use common coding style.
15756         * lib/careadlinkat.c: Move gnulib includes after system includes.
15757
15758 2011-04-09  Bruno Haible  <bruno@clisp.org>
15759
15760         careadlinkat: Clarify specification.
15761         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
15762         (careadlinkatcwd): Add comment.
15763         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
15764
15765 2011-04-09  Bruno Haible  <bruno@clisp.org>
15766
15767         areadlinkat: Avoid link error on many platforms.
15768         * modules/areadlinkat (Depends-on): Add areadlink.
15769
15770 2011-04-09  Bruno Haible  <bruno@clisp.org>
15771
15772         allocator, careadlinkat: Fix double-inclusion guard.
15773         * lib/allocator.h: Fix double-inclusion guard.
15774         * lib/careadlinkat.h: Likewise.
15775
15776 2011-04-09  Bruno Haible  <bruno@clisp.org>
15777
15778         relocatable-prog-wrapper: Update after module 'areadlink' changed.
15779         * lib/relocwrapper.c: Update dependencies hierarchy.
15780         * build-aux/install-reloc: Update list of files to be compiled.
15781         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
15782         lib/allocator.[hc].
15783
15784 2011-04-08  Eric Blake  <eblake@redhat.com>
15785
15786         strftime: silence gnulib-tool warning
15787         * modules/strftime-tests (Depends-on): Drop automatic dependency.
15788
15789 2011-04-08  Bruno Haible  <bruno@clisp.org>
15790
15791         verify: Fix syntax error with GCC 4.6 in C++ mode.
15792         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
15793         (HAVE_STATIC_ASSERT): New macro.
15794         (verify_true, verify): Use 'static_assert' if it is supported and
15795         '_Static_assert' is not supported.
15796
15797 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
15798
15799         allocator: New module.
15800         * modules/allocator, lib/allocator.c: New files.
15801         * lib/allocator.h (stdlib_allocator): New decl.
15802         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
15803         Remove.  Do not include <stdlib.h>.
15804         (careadlinkat): Use stdlib_allocator instead of rolling our own.
15805         * modules/careadlinkat (Files): Remove lib/allocator.h.
15806         (Depends-on): Add allocator.
15807
15808         stdlib: let modules use system malloc, realloc
15809         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
15810         if !_GL_USE_STDLIB_ALLOC.
15811         (malloc, realloc): Limit this change to a smaller scope.
15812
15813         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
15814         (malloc, realloc): Don't #undef; no longer needed.
15815         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15816         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15817         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15818         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15819         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15820         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15821         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15822         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15823
15824         careadlinkat: rename members to avoid problem
15825         * lib/allocator.h (struct allocator): Rename members from
15826         malloc/realloc to allocate/reallocate, to avoid problems if malloc
15827         and realloc are #define'd.  Reported by Eric Blake in
15828         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
15829         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
15830
15831 2011-04-08  Eric Blake  <eblake@redhat.com>
15832
15833         nonblocking: reduce dependency
15834         * tests/test-nonblocking.c: Only test sockets when in use.
15835         * modules/nonblocking-tests (Depends-on): Drop socket.
15836         (Makefile.am): Link even if sockets are not present.
15837         * modules/pipe2-tests (Makefile.am): Likewise.
15838         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
15839
15840         pipe2: fix O_NONBLOCK support on mingw
15841         * modules/pipe2 (Depends-on): Add nonblocking.
15842         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
15843         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
15844         * tests/test-nonblocking.c (main): Likewise.
15845         * modules/pipe2-tests (Makefile.am): Avoid link failure.
15846
15847         fcntl-h: fix O_ACCMODE on cygwin
15848         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
15849         * lib/fcntl.in.h (O_ACCMODE): Fix it.
15850
15851         pipe-filter: drop O_NONBLOCK workarounds
15852         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
15853         * modules/pipe-filter-ii (Depends-on): Likewise.
15854         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
15855
15856         nonblocking: provide O_NONBLOCK for mingw
15857         * modules/nonblocking (Depends-on): Add open.
15858         (configure.ac): Set new witness macro.
15859         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
15860         * modules/fcntl-h (Makefile.am): Substitute it.
15861         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
15862         nonblocking module is in use.
15863         * lib/nonblocking.c: Adjust portability test.
15864         * lib/open.c (open): Don't let native open see gnulib flag.
15865         * tests/test-fcntl-h.c (main): Enhance test.
15866         * tests/test-open.h (test_open): Likewise.
15867         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
15868
15869         careadlinkat: fix compilation error on mingw
15870         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
15871         within struct allocator.
15872
15873 2011-04-06  Eric Blake  <eblake@redhat.com>
15874
15875         binary-io: relicense under LGPLv2+
15876         * modules/binary-io (License): Relax to LGPLv2+.
15877         Requested for libvirt, and required by pipe2.
15878
15879 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
15880
15881         verify: use _Static_assert if available
15882         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
15883         (verify_true, verify): Use it if available.  This generates better
15884         diagnostics with GCC 4.6.0 and later.
15885
15886 2011-04-05  Bruno Haible  <bruno@clisp.org>
15887
15888         Remove leftover generated .h files after config.status changed.
15889
15890         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
15891         GL_GENERATE_ALLOCA_H.
15892         * modules/alloca-opt (Makefile.am): Remove alloca.h if
15893         GL_GENERATE_ALLOCA_H evaluates to false.
15894
15895         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
15896         GL_GENERATE_ARGZ_H.
15897         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
15898         evaluates to false.
15899
15900         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
15901         GL_GENERATE_BYTESWAP_H.
15902         * modules/byteswap (Makefile.am): Remove byteswap.h if
15903         GL_GENERATE_BYTESWAP_H evaluates to false.
15904
15905         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
15906         GL_GENERATE_ERRNO_H.
15907         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
15908         evaluates to false.
15909
15910         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
15911         GL_GENERATE_FLOAT_H.
15912         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
15913         evaluates to false.
15914
15915         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
15916         GL_GENERATE_FNMATCH_H.
15917         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
15918         GL_GENERATE_FNMATCH_H evaluates to false.
15919
15920         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
15921         GL_GENERATE_GLOB_H.
15922         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
15923         evaluates to false.
15924
15925         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
15926         automake conditional GL_GENERATE_ICONV_H.
15927         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
15928         evaluates to false.
15929
15930         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
15931         GL_GENERATE_NETINET_IN_H.
15932         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
15933         GL_GENERATE_NETINET_IN_H evaluates to false.
15934
15935         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
15936         conditional GL_GENERATE_PTHREAD_H.
15937         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
15938         * modules/pthread (Makefile.am): Remove pthread.h if
15939         GL_GENERATE_PTHREAD_H evaluates to false.
15940
15941         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
15942         GL_GENERATE_SCHED_H.
15943         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
15944         evaluates to false.
15945
15946         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
15947         conditional GL_GENERATE_SELINUX_CONTEXT_H.
15948         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
15949         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
15950
15951         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
15952         GL_GENERATE_STDARG_H.
15953         * modules/stdarg (Makefile.am): Remove stdarg.h if
15954         GL_GENERATE_STDARG_H evaluates to false.
15955
15956         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
15957         GL_GENERATE_STDBOOL_H.
15958         * modules/stdbool (Makefile.am): Remove stdbool.h if
15959         GL_GENERATE_STDBOOL_H evaluates to false.
15960
15961         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
15962         conditional GL_GENERATE_STDDEF_H.
15963         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
15964         * modules/stddef (Makefile.am): Remove stddef.h if
15965         GL_GENERATE_STDDEF_H evaluates to false.
15966
15967         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
15968         GL_GENERATE_STDINT_H.
15969         * modules/stdint (Makefile.am): Remove stdint.h if
15970         GL_GENERATE_STDINT_H evaluates to false.
15971
15972         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
15973         GL_GENERATE_SYSEXITS_H.
15974         * modules/sysexits (Makefile.am): Remove sysexits.h if
15975         GL_GENERATE_SYSEXITS_H evaluates to false.
15976
15977         Reported by Karl Berry and Ralf Wildenhues.
15978
15979 2011-04-05  Bruno Haible  <bruno@clisp.org>
15980
15981         Ensure to rebuild generated .h files when config.status has changed.
15982         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
15983         config.status.
15984         * modules/ctype (Makefile.am): Likewise.
15985         * modules/dirent (Makefile.am): Likewise.
15986         * modules/errno (Makefile.am): Likewise.
15987         * modules/fcntl-h (Makefile.am): Likewise.
15988         * modules/float (Makefile.am): Likewise.
15989         * modules/getopt-posix (Makefile.am): Likewise.
15990         * modules/glob (Makefile.am): Likewise.
15991         * modules/iconv-h (Makefile.am): Likewise.
15992         * modules/inttypes (Makefile.am): Likewise.
15993         * modules/langinfo (Makefile.am): Likewise.
15994         * modules/locale (Makefile.am): Likewise.
15995         * modules/math (Makefile.am): Likewise.
15996         * modules/netdb (Makefile.am): Likewise.
15997         * modules/netinet_in (Makefile.am): Likewise.
15998         * modules/poll-h (Makefile.am): Likewise.
15999         * modules/pthread (Makefile.am): Likewise.
16000         * modules/pty (Makefile.am): Likewise.
16001         * modules/sched (Makefile.am): Likewise.
16002         * modules/search (Makefile.am): Likewise.
16003         * modules/selinux-h (Makefile.am): Likewise.
16004         * modules/signal (Makefile.am): Likewise.
16005         * modules/spawn (Makefile.am): Likewise.
16006         * modules/stdarg (Makefile.am): Likewise.
16007         * modules/stdbool (Makefile.am): Likewise.
16008         * modules/stddef (Makefile.am): Likewise.
16009         * modules/stdint (Makefile.am): Likewise.
16010         * modules/stdio (Makefile.am): Likewise.
16011         * modules/stdlib (Makefile.am): Likewise.
16012         * modules/string (Makefile.am): Likewise.
16013         * modules/strings (Makefile.am): Likewise.
16014         * modules/sys_file (Makefile.am): Likewise.
16015         * modules/sys_ioctl (Makefile.am): Likewise.
16016         * modules/sys_select (Makefile.am): Likewise.
16017         * modules/sys_socket (Makefile.am): Likewise.
16018         * modules/sys_stat (Makefile.am): Likewise.
16019         * modules/sys_time (Makefile.am): Likewise.
16020         * modules/sys_times (Makefile.am): Likewise.
16021         * modules/sys_utsname (Makefile.am): Likewise.
16022         * modules/sys_wait (Makefile.am): Likewise.
16023         * modules/sysexits (Makefile.am): Likewise.
16024         * modules/termios (Makefile.am): Likewise.
16025         * modules/time (Makefile.am): Likewise.
16026         * modules/unistd (Makefile.am): Likewise.
16027         * modules/wchar (Makefile.am): Likewise.
16028         * modules/wctype-h (Makefile.am): Likewise.
16029         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16030
16031 2011-04-05  Bruno Haible  <bruno@clisp.org>
16032
16033         pipe2: Relicense under LGPLv2+.
16034         * modules/pipe2 (License): Change to LGPLv2+.
16035         Requested by Eric Blake, for libvirt.
16036
16037 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16038
16039         bootstrap: compute gnulib_extra_files after updating build_aux
16040         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16041         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16042
16043 2011-04-05  Eric Blake  <eblake@redhat.com>
16044
16045         bootstrap: preserve git whitelist item sorting
16046         * build-aux/bootstrap (sort_patterns): New function.
16047         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16048
16049 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16050
16051         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16052         sc_space_tab check.
16053
16054 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16055
16056         areadlink, areadlinkat: rewrite in terms of careadlinkat
16057         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16058         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16059         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16060         (malloc, realloc): Remove #undefs.
16061         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16062         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16063         readlink, ssize_t, stdint, unistd.
16064         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16065         areadlink, stdint.
16066
16067         careadlinkat: new module
16068         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16069         * modules/careadlinkat: New files, written by me with
16070         a review and feedback from Ben Pfaff in
16071         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16072
16073 2011-04-01  Bruno Haible  <bruno@clisp.org>
16074
16075         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16076         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16077         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16078         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16079         Reported by Bruce Korb <bruce.korb@gmail.com>.
16080
16081 2011-04-01  Bruno Haible  <bruno@clisp.org>
16082
16083         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16084         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16085         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16086         * modules/wcpcpy (Depends-on): Add extensions.
16087         * modules/wcpncpy (Depends-on): Likewise.
16088         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16089         systems.
16090         * doc/posix-functions/wcpncpy.texi: Likewise.
16091         * doc/posix-functions/wcwidth.texi: Likewise.
16092
16093 2011-03-31  Eric Blake  <eblake@redhat.com>
16094
16095         nonblocking: fix mingw test failures
16096         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16097         non-blocking flag on regular file.
16098         (get_nonblocking_flag): Set errno on invalid fd.
16099         * tests/test-nonblocking.c (main): Avoid test failure on
16100         directories if fchdir is not active.
16101         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16102
16103 2011-03-31  Bruno Haible  <bruno@clisp.org>
16104
16105         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16106         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16107         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16108         Reported by Simon Josefsson <simon@josefsson.org>.
16109
16110 2011-03-31  Bruno Haible  <bruno@clisp.org>
16111         and Eric Blake  <eblake@redhat.com>
16112
16113         nonblocking: new module
16114         * modules/nonblocking: New module.
16115         * modules/nonblocking-tests: Likewise.
16116         * lib/nonblocking.h: New file.
16117         * lib/nonblocking.c: Likewise.
16118         * tests/test-nonblocking.c: New test.
16119         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16120
16121 2011-03-30  Bruno Haible  <bruno@clisp.org>
16122
16123         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16124         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16125         instead of 'printf' format for GCC >= 4.4.
16126         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16127         (fprintf, printf, vfprintf, vprintf): Declare with
16128         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16129         the system's vfprintf() function.
16130         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16131
16132 2011-03-30  Eric Blake  <eblake@redhat.com>
16133
16134         passfd: fix scoping bug
16135         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16136         before sendmsg/recvmsg.
16137
16138         passfd: standardize coding conventions
16139         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16140         can be learned at compile time.
16141         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16142         ifdefs.
16143         (sendfd, recvfd): Follow gnulib code conventions.
16144
16145         passfd: fix incorrect sendmsg arguments
16146         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16147         incorrect msg_controllen value.
16148         * modules/passfd-tests (Depends-on): Check for alarm.
16149         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16150         Reported by Bastien ROUCARIES.
16151
16152 2011-03-30  Bruno Haible  <bruno@clisp.org>
16153
16154         c-strcasestr: Relicense under LGPLv2+.
16155         * modules/c-strcasestr (License): Change to LGPLv2+.
16156         Requested by Eric Blake, for libvirt.
16157
16158 2011-03-30  Simon Josefsson  <simon@josefsson.org>
16159
16160         * users.txt: Add libidn2.  Fix libtasn1 link.
16161
16162 2011-03-30  Jim Meyering  <meyering@redhat.com>
16163
16164         tests: readlink* ("",... fails with EINVAL on newer kernels
16165         readlink and readlinkat have typically failed with ENOENT for
16166         the invalid, empty file name,  "".  However, with the advent
16167         of linux-2.6.39, they fail with EINVAL.
16168         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16169         when operating on the empty file name.
16170         * tests/test-readlink.h (test_readlink): Likewise.
16171
16172 2011-03-29  Bruno Haible  <bruno@clisp.org>
16173
16174         Relicense some modules under LGPLv2+, for libidn2.
16175         * modules/array-mergesort (License): Change to LGPLv2+.
16176         * modules/c-strcaseeq (License): Likewise.
16177         * modules/striconveh (License): Likewise.
16178         * modules/striconveha (License): Likewise.
16179         * modules/uniconv/base (License): Likewise.
16180         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16181         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16182         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16183         * modules/unictype/base (License): Likewise.
16184         * modules/unictype/bidiclass-of (License): Likewise.
16185         * modules/unictype/category-M (License): Likewise.
16186         * modules/unictype/category-none (License): Likewise.
16187         * modules/unictype/category-of (License): Likewise.
16188         * modules/unictype/category-test (License): Likewise.
16189         * modules/unictype/category-test-withtable (License): Likewise.
16190         * modules/unictype/combining-class (License): Likewise.
16191         * modules/unictype/joiningtype-of (License): Likewise.
16192         * modules/unictype/scripts (License): Likewise.
16193         * modules/uninorm/base (License): Likewise.
16194         * modules/uninorm/canonical-decomposition (License): Likewise.
16195         * modules/uninorm/composition (License): Likewise.
16196         * modules/uninorm/decompose-internal (License): Likewise.
16197         * modules/uninorm/decomposition-table (License): Likewise.
16198         * modules/uninorm/nfc (License): Likewise.
16199         * modules/uninorm/nfd (License): Likewise.
16200         * modules/uninorm/u32-normalize (License): Likewise.
16201         * modules/unistr/base (License): Likewise.
16202         * modules/unistr/u32-cpy (License): Likewise.
16203         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
16204         * modules/unistr/u32-to-u8 (License): Likewise.
16205         * modules/unistr/u32-uctomb (License): Likewise.
16206         * modules/unistr/u8-check (License): Likewise.
16207         * modules/unistr/u8-mblen (License): Likewise.
16208         * modules/unistr/u8-mbtouc (License): Likewise.
16209         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
16210         * modules/unistr/u8-mbtoucr (License): Likewise.
16211         * modules/unistr/u8-prev (License): Likewise.
16212         * modules/unistr/u8-strlen (License): Likewise.
16213         * modules/unistr/u8-to-u32 (License): Likewise.
16214         * modules/unistr/u8-uctomb (License): Likewise.
16215         * modules/unitypes (License): Likewise.
16216         Requested by Simon Josefsson.
16217
16218 2011-03-29  Simon Josefsson  <simon@josefsson.org>
16219
16220         lib-symbol-visibility: Add a notice.
16221         * modules/lib-symbol-visibility (Notice): New field.
16222
16223 2011-03-29  Bruno Haible  <bruno@clisp.org>
16224
16225         getaddrinfo: Doc fix.
16226         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
16227         section "fixed in Gnulib".
16228
16229 2011-03-28  Simon Josefsson  <simon@josefsson.org>
16230
16231         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
16232         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
16233
16234 2011-03-26  Bruno Haible  <bruno@clisp.org>
16235
16236         unictype/property-byname: Reduce the number of load-time relocations.
16237         * lib/unictype/pr_byname.c: Include <stdlib.h>.
16238         (UC_PROPERTY_INDEX_*): New enumeration values.
16239         (uc_property_byname): Convert an index from the lookup table to an
16240         uc_property_t.
16241         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
16242         values.
16243
16244 2011-03-26  Bruno Haible  <bruno@clisp.org>
16245
16246         unictype/property-byname: Allow omitted word separators and aliases.
16247         * lib/unictype/pr_byname.gperf: Add property names without word
16248         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
16249         for 'space'.
16250
16251 2011-03-26  Bruno Haible  <bruno@clisp.org>
16252
16253         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
16254         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
16255         also hyphens to space.
16256         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
16257         without spaces.
16258         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
16259
16260 2011-03-26  Bruno Haible  <bruno@clisp.org>
16261
16262         unictype/joiningtype-byname: Recognize long names as well.
16263         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
16264         a long name.
16265         * lib/unictype/joiningtype_byname.c: Include <string.h>,
16266         unictype/joiningtype_byname.h.
16267         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
16268         * lib/unictype/joiningtype_byname.gperf: New file.
16269         * modules/unictype/joiningtype-byname (Files): Add
16270         lib/unictype/joiningtype_byname.gperf.
16271         (Depends-on): Add gperf.
16272         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
16273         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
16274         long names.
16275
16276         Tests for module 'unictype/joiningtype-longname'.
16277         * modules/unictype/joiningtype-longname-tests: New file.
16278         * tests/unictype/test-joiningtype_longname.c: New file.
16279
16280         New module 'unictype/joiningtype-longname'.
16281         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
16282         * lib/unictype/joiningtype_longname.c: New file.
16283         * modules/unictype/joiningtype-longname: New file.
16284         * modules/unictype/joiningtype-all (Depends-on): Add
16285         unictype/joiningtype-longname.
16286
16287 2011-03-26  Bruno Haible  <bruno@clisp.org>
16288
16289         unictype/bidiclass-byname: Recognize long names as well.
16290         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
16291         name.
16292         * lib/unictype/bidi_byname.c: Include <string.h>,
16293         unictype/bidi_byname.h.
16294         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
16295         * lib/unictype/bidi_byname.gperf: New file.
16296         * modules/unictype/bidiclass-byname (Files): Add
16297         lib/unictype/bidi_byname.gperf.
16298         (Depends-on): Add gperf.
16299         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
16300         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
16301         long names.
16302
16303         Tests for module 'unictype/bidiclass-longname'.
16304         * modules/unictype/bidiclass-longname-tests: New file.
16305         * tests/unictype/test-bidi_longname.c: New file.
16306
16307         New module 'unictype/bidiclass-longname'.
16308         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
16309         * lib/unictype/bidi_longname.c: New file.
16310         * modules/unictype/bidiclass-longname: New file.
16311         * modules/unictype/bidiclass-all (Depends-on): Add
16312         unictype/bidiclass-longname.
16313
16314 2011-03-26  Bruno Haible  <bruno@clisp.org>
16315
16316         unictype/bidi*: Rename modules.
16317         * modules/unictype/bidiclass-all: Renamed from
16318         modules/unictype/bidicategory-all.
16319         * modules/unictype/bidiclass-name: Renamed from
16320         modules/unictype/bidiclass-name.
16321         (Description): Update.
16322         * modules/unictype/bidiclass-name-tests: Renamed from
16323         modules/unictype/bidicategory-name-tests.
16324         * modules/unictype/bidiclass-byname: Renamed from
16325         modules/unictype/bidicategory-byname.
16326         (Description): Update.
16327         * modules/unictype/bidiclass-byname-tests: Renamed from
16328         modules/unictype/bidicategory-byname-tests.
16329         * modules/unictype/bidiclass-of: Renamed from
16330         modules/unictype/bidicategory-of.
16331         (Description): Update.
16332         * modules/unictype/bidiclass-of-tests: Renamed from
16333         modules/unictype/bidicategory-of-tests.
16334         * modules/unictype/bidiclass-test: Renamed from
16335         modules/unictype/bidicategory-test.
16336         (Description): Update.
16337         * modules/unictype/bidiclass-test-tests: Renamed from
16338         modules/unictype/bidicategory-test-tests.
16339         * modules/unictype/bidicategory-all: New file, a simple redirection.
16340         * modules/unictype/bidicategory-name: Likewise.
16341         * modules/unictype/bidicategory-byname: Likewise.
16342         * modules/unictype/bidicategory-of: Likewise.
16343         * modules/unictype/bidicategory-test: Likewise.
16344         * modules/unictype/property-bidi-* (Dependencies): Update.
16345         * lib/unictype/bidi_*.c: Update comment.
16346
16347 2011-03-26  Bruno Haible  <bruno@clisp.org>
16348
16349         unictype/bidi*: Rename functions, part 2.
16350         * modules/unictype/bidicategory-name (configure.ac): Update required
16351         libunistring version.
16352         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
16353
16354 2011-03-25  Bruno Haible  <bruno@clisp.org>
16355
16356         New module 'unictype/combining-class-all'.
16357         * modules/unictype/combining-class-all: New file.
16358
16359         Tests for module 'unictype/combining-class-byname'.
16360         * modules/unictype/combining-class-byname-tests: New file.
16361         * tests/unictype/test-combiningclass_byname.c: New file.
16362
16363         New module 'unictype/combining-class-byname'.
16364         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
16365         * lib/unictype/combiningclass_byname.c: New file.
16366         * lib/unictype/combiningclass_byname.gperf: New file.
16367         * modules/unictype/combining-class-byname: New file.
16368
16369         Tests for module 'unictype/combining-class-longname'.
16370         * modules/unictype/combining-class-longname-tests: New file.
16371         * tests/unictype/test-combiningclass_longname.c: New file.
16372
16373         New module 'unictype/combining-class-longname'.
16374         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
16375         * lib/unictype/combiningclass_longname.c: New file.
16376         * modules/unictype/combining-class-longname: New file.
16377
16378         Tests for module 'unictype/combining-class-name'.
16379         * modules/unictype/combining-class-name-tests: New file.
16380         * tests/unictype/test-combiningclass_name.c: New file.
16381
16382         New module 'unictype/combining-class-name'.
16383         * lib/unictype.in.h (uc_combining_class_name): New declaration.
16384         * lib/unictype/combiningclass_name.c: New file.
16385         * modules/unictype/combining-class-name: New file.
16386
16387 2011-03-25  Bruno Haible  <bruno@clisp.org>
16388
16389         unictype/combining-class: Rename source files.
16390         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
16391         of unictype/combining.h.
16392         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
16393         Update.
16394         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
16395         * modules/unictype/combining-class (Description): Fix.
16396         (Files, Makefile.am): Update.
16397         * tests/unictype/test-combiningclass.c: Renamed from
16398         tests/unictype/test-combining.c.
16399         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
16400
16401 2011-03-25  Bruno Haible  <bruno@clisp.org>
16402
16403         unictype: Update list of canonical combining classes.
16404         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
16405
16406 2011-03-25  Bruno Haible  <bruno@clisp.org>
16407
16408         unictype/category-byname: Recognize long names as well.
16409         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
16410         a long name.
16411         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
16412         unictype/categ_byname.h.
16413         (UC_CATEGORY_INDEX_*): New enumeration values.
16414         (uc_general_category_byname): Use uc_general_category_lookup and
16415         convert from index to value.
16416         * lib/unictype/categ_byname.gperf: New file.
16417         * modules/unictype/category-byname (Files): Add
16418         lib/unictype/categ_byname.gperf.
16419         (Depends-on): Add gperf.
16420         (Makefile.am): Add rule for generating unictype/categ_byname.h.
16421         * tests/unictype/test-categ_byname.c (main): Test the recognition of
16422         long names.
16423
16424         Tests for module 'unictype/category-longname'.
16425         * modules/unictype/category-longname-tests: New file.
16426         * tests/unictype/test-categ_longname.c: New file.
16427
16428         New module 'unictype/category-longname'.
16429         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
16430         * lib/unictype/categ_longname.c: New file.
16431         * modules/unictype/category-longname: New file.
16432         * modules/unictype/category-all (Depends-on): Add it.
16433
16434 2011-03-25  Bruno Haible  <bruno@clisp.org>
16435
16436         Tests for module 'unictype/category-LC'.
16437         * modules/unictype/category-LC-tests: New file.
16438         * tests/unictype/test-categ_LC.c: New file, automatically generated.
16439
16440         New module 'unictype/category-LC'.
16441         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
16442         (UC_CATEGORY_LC): New declaration.
16443         (UC_CASED_LETTER): New macro.
16444         * lib/gen-uni-tables.c (is_category_LC): New function.
16445         (output_categories): Also handle category LC.
16446         (UC_CATEGORY_MASK_LC): New enumeration value.
16447         (general_category_byname): Also handle category LC.
16448         * lib/unictype/categ_LC.c: New file.
16449         * lib/unictype/categ_LC.h: New file, automatically generated.
16450         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
16451         category LC.
16452         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
16453         * modules/unictype/category-LC: New file.
16454         * modules/unictype/category-byname (Depends-on): Add
16455         unictype/category-LC.
16456         * modules/unictype/category-all (Depends-on): Likewise.
16457
16458 2011-03-25  Eric Blake  <eblake@redhat.com>
16459
16460         xmalloc: revert yesterday's regression
16461         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
16462         realloc's underlying behavior (allowing allocation of zero-size
16463         objects, especially if malloc-gnu is also in use).
16464
16465 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
16466
16467         maint.mk: add missing version to VC-tag
16468         * top/maint.mk: git tag was missing actual tag name; add it.
16469
16470         valgrind: do leak checking, and exit with code 1 on error (not 0)
16471         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
16472         to VALGRIND.
16473
16474 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
16475
16476         posix-modules: say what it does.
16477         * posix-modules: Add a line to the --help output saying what it does.
16478
16479 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16480
16481         xmalloc: Do not leak if underlying realloc is C99 compatible.
16482         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
16483         This avoids a leak on C99-based systems.  See
16484         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
16485
16486 2011-03-24  Eric Blake  <eblake@redhat.com>
16487
16488         realloc: document portability problem
16489         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
16490         passing 0 size to realloc.
16491
16492 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
16493
16494         doc: update users.txt
16495         * users.txt: Add cvsps, tmpwatch
16496
16497 2011-03-23  Matt Rice  <ratmice@gmail.com>
16498
16499         doc: update users.txt
16500         * users.txt: Add gdb.
16501
16502 2011-03-23  Jim Meyering  <meyering@redhat.com>
16503
16504         doc: update users.txt
16505         Looking through matches up to the following URL (there are still
16506         several more pages), I found several projects that use gnulib:
16507         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
16508         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
16509         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
16510
16511 2011-03-22  Bruno Haible  <bruno@clisp.org>
16512
16513         unictype/bidi*: Rename functions.
16514         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
16515         uc_bidi_class, uc_is_bidi_class): New declarations.
16516         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
16517         uc_bidi_category_byname.
16518         (uc_bidi_category_byname): New function.
16519         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
16520         u_bidi_category_name.
16521         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
16522         (uc_bidi_category_name): New function.
16523         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
16524         uc_bidi_category.
16525         (uc_bidi_category): New function.
16526         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
16527         uc_is_bidi_category. Invoke uc_bidi_class.
16528         (uc_is_bidi_category): New function.
16529         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
16530         instead of uc_bidi_category_byname.
16531         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
16532         instead of uc_bidi_category_name.
16533         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
16534         uc_bidi_category.
16535         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
16536         instead of uc_is_bidi_category.
16537
16538 2011-03-21  Bruno Haible  <bruno@clisp.org>
16539
16540         New module 'unictype/joininggroup-all'.
16541         * modules/unictype/joininggroup-all: New file.
16542
16543         Tests for module 'unictype/joininggroup-of'.
16544         * modules/unictype/joininggroup-of-tests: New file.
16545         * tests/unictype/test-joininggroup_of.c: New file.
16546         * tests/unictype/test-joininggroup_of.h: New file, automatically
16547         generated by gen-uni-tables.
16548
16549         New module 'unictype/joininggroup-of'.
16550         * modules/unictype/joininggroup-of: New file.
16551         * lib/unictype/joininggroup_of.c: New file.
16552         * lib/unictype/joininggroup_of.h: New file, automatically generated by
16553         gen-uni-tables.
16554
16555         Tests for module 'unictype/joininggroup-byname'.
16556         * modules/unictype/joininggroup-byname-tests: New file.
16557         * tests/unictype/test-joininggroup_byname.c: New file.
16558
16559         New module 'unictype/joininggroup-byname'.
16560         * modules/unictype/joininggroup-byname: New file.
16561         * lib/unictype/joininggroup_byname.c: New file.
16562         * lib/unictype/joininggroup_byname.gperf: New file.
16563
16564         Tests for module 'unictype/joininggroup-name'.
16565         * modules/unictype/joininggroup-name-tests: New file.
16566         * tests/unictype/test-joininggroup_name.c: New file.
16567
16568         New module 'unictype/joininggroup-name'.
16569         * modules/unictype/joininggroup-name: New file.
16570         * lib/unictype/joininggroup_name.c: New file.
16571         * lib/unictype/joininggroup_name.h: New file.
16572
16573         New module 'unictype/joiningtype-all'.
16574         * modules/unictype/joiningtype-all: New file.
16575
16576         Tests for module 'unictype/joiningtype-of'.
16577         * modules/unictype/joiningtype-of-tests: New file.
16578         * tests/unictype/test-joiningtype_of.c: New file.
16579         * tests/unictype/test-joiningtype_of.h: New file, automatically
16580         generated by gen-uni-tables.
16581
16582         New module 'unictype/joiningtype-of'.
16583         * modules/unictype/joiningtype-of: New file.
16584         * lib/unictype/joiningtype_of.c: New file.
16585         * lib/unictype/joiningtype_of.h: New file, automatically generated by
16586         gen-uni-tables.
16587
16588         Tests for module 'unictype/joiningtype-byname'.
16589         * modules/unictype/joiningtype-byname-tests: New file.
16590         * tests/unictype/test-joiningtype_byname.c: New file.
16591
16592         New module 'unictype/joiningtype-byname'.
16593         * modules/unictype/joiningtype-byname: New file.
16594         * lib/unictype/joiningtype_byname.c: New file.
16595
16596         Tests for module 'unictype/joiningtype-name'.
16597         * modules/unictype/joiningtype-name-tests: New file.
16598         * tests/unictype/test-joiningtype_name.c: New file.
16599
16600         New module 'unictype/joiningtype-name'.
16601         * modules/unictype/joiningtype-name: New file.
16602         * lib/unictype/joiningtype_name.c: New file.
16603
16604         unictype: Add support for Arabic shaping properties.
16605         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
16606         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
16607         declarations.
16608         (UC_JOINING_GROUP_*): New enumeration values.
16609         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
16610         declarations.
16611         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
16612         (unicode_joining_type): New variable.
16613         (UC_JOINING_GROUP_*): New enumeration values.
16614         (unicode_joining_group): New variable.
16615         (fill_arabicshaping, joining_type_as_c_identifier,
16616         output_joining_type_test, output_joining_type,
16617         joining_group_as_c_identifier, output_joining_group_test,
16618         output_joining_group): New functions.
16619         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
16620         fill_arabicshaping and output_joining_type_test, output_joining_type,
16621         output_joining_group_test, output_joining_group.
16622         Reported by Simon Josefsson.
16623
16624 2011-03-21  Jim Meyering  <meyering@redhat.com>
16625
16626         strftime: fix a bug in yesterday's change
16627         * lib/strftime.c (add): Accommodate width's initial value of -1.
16628         Otherwise, nstrftime would copy uninitialized data into
16629         the result buffer.
16630
16631 2011-03-21  Jim Meyering  <meyering@redhat.com>
16632
16633         tests: add strftime-tests module
16634         * tests/test-strftime.c: New file.
16635         * modules/strftime-tests: New module.
16636
16637 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16638
16639         strftime: don't assume a byte count fits in 'int'
16640         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
16641         found this problem by static analysis, using gcc -Wstrict-overflow
16642         (GCC 4.5.2, x86-64).  This reported an optimization that depended
16643         on an integer overflow having undefined behavior, but it turns out
16644         that the argument is a size, which might not fit in 'int' anyway,
16645
16646 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16647
16648         stdio: don't require ignore_value around fwrite
16649
16650         This patch works around libc bug 11959
16651         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
16652         Without this patch, applications must often write
16653         ignore_value (fwrite (...)) even though the ignore_value is
16654         not helpful here.  It's common to write many objects, using
16655         fwrite/printf/etc., and then use ferror to detect output error.
16656
16657         I considered making this patch optional, but decided against it,
16658         because libc is obviously being inconsistent here: there is no
16659         reason libc should insist that user code must inspect fwrite
16660         return's value without also insisting that it inspect printf's,
16661         putchar's, etc.  If user code wants to have a strict style where
16662         all these functions' values are checked (so that ferror need not
16663         be checked), we could add support for that style in a new gnulib
16664         module, but in the meantime it's better to be consistent and to
16665         support common usage.
16666
16667         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
16668         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
16669         that we are compiling in checking mode, and if not C++, and
16670         if not already wrapping fwrite for some other reason.
16671         (fwrite): #define to rpl_fwrite if the latter is defined.
16672
16673 2011-03-20  Bruno Haible  <bruno@clisp.org>
16674
16675         verror: Fix compilation error introduced on 2011-02-13.
16676         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
16677         instead of __attribute__.
16678         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16679
16680 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16681             Bruno Haible  <bruno@clisp.org>
16682
16683         socklen: do not depend on sys_socket
16684         While trying to modify Emacs to use gnulib's socklen module,
16685         I discovered a circular dependency: socklen depends on sys_socket
16686         and vice versa.  Emacs can use socklen, but it does not need
16687         sys_socket because it has its own substitute for sys/socket.h.
16688         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
16689         gl_TYPE_SOCKLEN_T.
16690         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
16691         gl_PREREQ_SYS_H_SOCKET.
16692         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
16693         gl_PREREQ_SYS_H_SOCKET.
16694         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
16695         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
16696         * modules/socklen (Depends-on): Do not depend on sys_socket.
16697         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
16698
16699 2011-03-20  Jim Meyering  <meyering@redhat.com>
16700
16701         maint.mk: sort file names *after* new transformation
16702         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
16703         prefix would have led to an unwarranted failure in GNU parted.
16704         Sort after that transformation.
16705
16706 2011-03-19  Jim Meyering  <meyering@redhat.com>
16707
16708         maint.mk: fix po-file syntax-check rule
16709         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
16710         Patch by Bruno Haible.
16711
16712 2011-03-19  Bruno Haible  <bruno@clisp.org>
16713
16714         socklen: Update comment.
16715         * m4/socklen.m4: Update comment about platforms.
16716
16717 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16718             Bruno Haible  <bruno@clisp.org>
16719
16720         inet_ntop, inet_pton: Simplify.
16721         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
16722         documented to provide socklen_t and we already depend on sys_socket.
16723         * modules/inet_pton (Depends-on): Likewise.
16724         * lib/arpa_inet.in.h: Adjust comment.
16725
16726 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16727             Bruno Haible  <bruno@clisp.org>
16728
16729         netdb: Simplify.
16730         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
16731         documented to provide socklen_t and we already depend on sys_socket.
16732         * lib/netdb.in.h: Adjust comment.
16733
16734 2011-03-19  Bruno Haible  <bruno@clisp.org>
16735
16736         sys_socket, netdb: Document problem with socklen_t.
16737         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
16738         platforms.
16739         * doc/posix-headers/netdb.texi: Likewise.
16740
16741 2011-03-18  Eric Blake  <eblake@redhat.com>
16742
16743         maint.mk: let po check work in VPATH build
16744         * top/maint.mk (po_file): Allow cfg.mk override.
16745         (sc_po_check): Allow VPATH use.
16746         Reported by Jiri Denemark.
16747
16748 2011-03-16  Jim Meyering  <meyering@redhat.com>
16749
16750         maint.mk: allow fine-grained syntax-check exclusion via Make variables
16751         Before, you would have had to create one .x-sc_ file per rule in order
16752         to exempt offending files.  Now, you may instead use a Make variable --
16753         usually defined in cfg.mk -- whose name identifies the affected rule.
16754         * top/maint.mk (_sc_excl): Define.
16755         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
16756         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
16757
16758 2011-03-13  Bruno Haible  <bruno@clisp.org>
16759
16760         ignore-value tests: Avoid warnings.
16761         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
16762         empty for gcc < 3.4.
16763
16764 2011-03-13  Bruno Haible  <bruno@clisp.org>
16765
16766         passfd: Fix link error on Solaris.
16767         * modules/passfd (Description): Correct.
16768         (Depends-on): Add socketlib.
16769         (Link): New section.
16770         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
16771
16772 2011-03-13  Bruno Haible  <bruno@clisp.org>
16773
16774         passfd: Fix link error on AIX 5.2.
16775         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
16776
16777 2011-03-13  Bruno Haible  <bruno@clisp.org>
16778
16779         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
16780         * lib/sys_socket.in.h: Include <stddef.h>.
16781         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
16782         CMSG_FIRSTHDR. Remove unused variable.
16783
16784 2011-03-13  Bruno Haible  <bruno@clisp.org>
16785
16786         passfd: Fix compilation error on OpenBSD.
16787         * lib/passfd.c: Include <sys/uio.h>.
16788
16789 2011-03-13  Bruno Haible  <bruno@clisp.org>
16790
16791         passfd test: Fix warnings.
16792         * tests/test-passfd.c: Include <sys/wait.h>.
16793         (main): Fix typo.
16794
16795 2011-03-13  Bruno Haible  <bruno@clisp.org>
16796
16797         passfd module, part 4, tweaks.
16798         * tests/test-passfd.c: Reorder includes.
16799         (main): Fix perror and printf calls.
16800
16801 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16802
16803         passfd module, part 4.
16804         * modules/passfd-tests: New file.
16805         * tests/test-passfd.c: New file.
16806
16807 2011-03-13  Jim Meyering  <meyering@redhat.com>
16808
16809         Makefile: rely on GNU make; derive syntax-check rule names
16810         Rather than requiring that each sc_ rule be listed as a dependent
16811         of "check", use features of GNU make to derive the list.
16812         * Makefile (syntax-check-rules): Define.
16813         (check): Depend on the new variable, not the hard-coded list.
16814
16815 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
16816             Bruno Haible  <bruno@clisp.org>
16817
16818         passfd module, part 3.
16819         * lib/passfd.h (recvfd): Add a flags argument.
16820         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
16821         (recvfd): Add a flags argument.
16822         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
16823         exists.
16824         * modules/passfd (Depends-on): Add cloexec.
16825         Suggested by Eric Blake.
16826
16827 2011-03-13  Bruno Haible  <bruno@clisp.org>
16828
16829         passfd module, part 2, tweaks.
16830         * modules/passfd (Files): Reorder.
16831         (Depends-on): Remove errno.
16832         (Include): Remove <sys/socket.h>, <sys/un.h>.
16833         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
16834         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
16835         specification header. Include <sys/socket.h> always. Don't include
16836         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
16837         (sendfd): Clarify that it sets errno when it fails.
16838         (recvfd): Fix specification.
16839
16840 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16841
16842         passfd module, part 2.
16843         * modules/passfd: New file.
16844         * lib/passfd.h: New file.
16845         * lib/passfd.c: New file.
16846
16847 2011-03-12  Bruno Haible  <bruno@clisp.org>
16848
16849         wcswidth, mbswidth: Avoid integer overflow.
16850         * lib/wcswidth.c: Include <limits.h>.
16851         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
16852         * lib/mbswidth.c: Include <limits.h>.
16853         (mbsnwidth): Avoid 'int' overflow.
16854         Reported by Jim Meyering.
16855
16856 2011-03-12  Bruno Haible  <bruno@clisp.org>
16857
16858         futimens, utimensat: Avoid endless recursion on Solaris 10.
16859         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
16860         Solaris.
16861         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
16862         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
16863
16864 2011-03-11  Jim Meyering  <meyering@redhat.com>
16865
16866         maint.mk: relax a regexp to accommodate other formatting styles
16867         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
16868         between "ngettext" and the following "(".
16869
16870 2011-03-11  Pádraig Brady <P@draigBrady.com>
16871
16872         maint.mk: suppress a false positive warning
16873         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
16874         diagnostics are marked with ngettext.
16875
16876 2011-03-10  Eric Blake  <eblake@redhat.com>
16877
16878         wchar: add explicit dependencies, for Tru64
16879         * modules/mbmemcasecoll (Depends-on): Add wchar.
16880         * modules/mbtowc (Depends-on): Likewise.
16881         * modules/vasnprintf (Depends-on): Likewise.
16882         * modules/unistdio/u-printf-args (Depends-on): Likewise.
16883         * modules/wctomb (Depends-on): Likewise.
16884         Reported by Peter O'Gorman.
16885
16886 2011-03-08  Bruno Haible  <bruno@clisp.org>
16887
16888         passfd module, part 1, tweaks.
16889         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
16890         Improve indentation. Improve AC_MSG_CHECKING messages.
16891         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
16892         gl_SOCKET_FAMILIES.
16893
16894 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16895
16896         passfd module, part 1.
16897         * m4/afunix.m4: New file.
16898         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
16899         sockets.
16900
16901 2011-03-08  Bruno Haible  <bruno@clisp.org>
16902
16903         regex-quote: New API.
16904         * lib/regex-quote.h: Include <stdbool.h>.
16905         (struct regex_quote_spec): New type.
16906         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16907         New declarations.
16908         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16909         'const struct regex_quote_spec *' argument.
16910         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
16911         (pcre_special): New constant.
16912         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16913         New functions.
16914         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16915         'const struct regex_quote_spec *' argument.
16916         * modules/regex-quote (Depends-on): Add stdbool.
16917         * tests/test-regex-quote.c (check): Update for new API. Add test for
16918         anchored results.
16919         * NEWS: Mention the API change.
16920         Reported by Reuben Thomas and Eric Blake.
16921
16922 2011-03-06  Bruno Haible  <bruno@clisp.org>
16923
16924         regex-quote: Fix creation of POSIX extended regular expressions.
16925         * lib/regex-quote.c (ere_special): Add grouping and alternation
16926         operators.
16927
16928 2011-03-05  Bruno Haible  <bruno@clisp.org>
16929
16930         doc: Improve doc regarding autopoint vs. gnulib.
16931         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
16932         disable autopoint while running autoreconf.
16933         Suggested by Ralf Wildenhues.
16934
16935 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16936
16937         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
16938         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
16939
16940 2011-03-03  Bruce Korb  <bkorb@gnu.org>
16941
16942         parse-duration: remove xalloc.h dependency
16943         * lib/parse-duration.c (parse_period): handle NULL return from
16944         strdup instead of calling xstrdup().
16945         * modules/parse-duration: remove "xalloc" dependency
16946
16947 2011-03-03  Matthew Booth  <mbooth@redhat.com>
16948
16949         bootstrap: honor m4_base when running aclocal
16950         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
16951
16952 2011-03-02  Jim Meyering  <meyering@redhat.com>
16953
16954         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
16955         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
16956         on request from Matt Booth.
16957
16958 2011-03-01  Eric Blake  <eblake@redhat.com>
16959
16960         test-link: work on Hurd
16961         * tests/test-link.h (test_link): Hurd rejects linking directories
16962         with EISDIR instead of the POSIX-mandated EPERM.
16963
16964 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
16965
16966         stdio: simplify by moving files to printf-posix, sigpipe
16967         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
16968         since this symbol is needed only if printf is replaced.
16969         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
16970         Require gl_ASM_SYMBOL_PREFIX.
16971         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
16972         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
16973         (Depends-on): Add 'raise'.
16974         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
16975         * modules/stdio (Files): Remove lib/stdio-write.c,
16976         m4/asm-underscore.m4.
16977         (Depends-on): Remove 'raise'.
16978
16979         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
16980         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
16981         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
16982         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
16983
16984 2011-02-28  Bruno Haible  <bruno@clisp.org>
16985
16986         localcharset: Assume ANSI C behaviour of free().
16987         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
16988         calling free().
16989         Suggested by Simon Josefsson <simon@josefsson.org>.
16990
16991 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
16992             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
16993             Bruno Haible  <bruno@clisp.org>  (tiny change)
16994
16995         On Cygwin, use /proc file system instead of win32 API.
16996         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
16997         Win32 file names.
16998         (DllMain): Simplify by removing Cygwin specific code.
16999         (find_shared_library_fullname): Use Linux specific implementation also
17000         for Cygwin.
17001         (get_shared_library_fullname): Update accordingly.
17002         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17003         Win32 file names.
17004         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17005         Cygwin specific code.
17006
17007 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17008             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17009
17010         Fix OpenMP flag detection for various Fortran compilers.
17011         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17012         OpenMP-conditional compilation construct, to force compile
17013         failure with missing OpenMP flag.
17014         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17015
17016 2011-02-25  Eric Blake  <eblake@redhat.com>
17017
17018         strstr: expand test coverage
17019         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17020         compilation.
17021         * tests/test-memmem.c (main): Duplicate tests.
17022         * tests/test-strcasestr.c (main): Likewise.
17023         * tests/test-c-strcasestr.c (main): Likewise.
17024
17025 2011-02-25  Jim Meyering  <meyering@redhat.com>
17026
17027         maint.mk: detect missing-NL-at-EOF, too
17028         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17029         it also detects when a file lacks a newline at EOF.
17030         (require_exactly_one_NL_at_EOF_): Renamed from
17031         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17032         since people may well have .x-sc_... file names tied to the
17033         existing name.  Suggested by Eric Blake.
17034
17035 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17036
17037         dirname: move m4/dos.m4 functionality into lib/dosname.h
17038
17039         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17040         extracts symbols from it, puts them into config.h; but it's much
17041         easier to use the symbols directly.  filename.h already does this,
17042         but it disagrees with dos.m4 in some respects.  This patch
17043         introduces a different include file dosname.h that packages up
17044         dos.m4, and then later we can work on merging filename.h and
17045         dosname.h.  Applications that need only the easy-to-configure
17046         symbols should consider including dosname.h rather than dirname.h.
17047         * NEWS: Mention incompatible changes.
17048         * m4/dos.m4: Remove.
17049         * lib/dosname.h, modules/dosname: New files.
17050         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17051         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17052         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17053         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17054         Include dosname.h, not dirname.h.
17055         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17056         Include dosname.h, for definitions of symbols like ISSLASH
17057         that used to be in config.h.
17058         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17059         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17060         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17061         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17062         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17063         * modules/rmdir (Files): Likewise.
17064         * modules/stat (Files): Likewise.
17065         * modules/unlink (Files): Likewise.
17066         * modules/dirname-lgpl (Depends-on): Add dosname.
17067         * modules/lstat (Depends-on): Likewise.
17068         * modules/openat (Depends-on): Likewise.
17069         * modules/rmdir (Depends-on): Likewise.
17070         * modules/savewd (Depends-on): Likewise.
17071         * modules/stat (Depends-on): Likewise.
17072         * modules/unlink (Depends-on): Likewise.
17073         * modules/openat (Depends-on): Remove dirname-lgpl.
17074         * modules/savewd (Depends-on): Likewise.
17075         * tests/test-dirname.c: Do not use removed symbols like
17076         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17077         the remaining symbols, e.g., ISSLASH ('\\').
17078
17079 2011-02-25  Eric Blake  <eblake@redhat.com>
17080
17081         strstr: revert patches that introduced bug and pessimization
17082         * lib/str-two-way.h: Add another reference.
17083         (two_way_short_needle, two_way_long_needle): Revert changes from
17084         2011-02-24; they pessimize search speed.
17085         (critical_factorization): Partially revert changes from
17086         2010-06-22; they violate the requirement that the left half of the
17087         needle be smaller than the period of the needle.
17088
17089 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17090
17091         filenamecat: remove unnecessary dependency on dirname-lgpl
17092         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17093         is no direct dependency, just an indirect one via filenamecat-lgpl.
17094
17095         remove: remove unnecessary use of m4/dos.m4
17096         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17097         * modules/remove (FILES): Remove m4/dos.m4.
17098
17099         * lib/openat-proc.c: Don't include dirname.h; not needed.
17100
17101         backupfile: remove unnecessary use of m4/dos.m4
17102         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17103         of its symbols are used by the backupfile code.  backupfile.c does
17104         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17105         for the rare case of programs that want all their backup file
17106         names to live within 8+3 limits, and dos.m4 doesn't address that.
17107         * modules/backupfile (Files): Remove m4/dos.m4.
17108
17109 2011-02-24  Jim Meyering  <meyering@redhat.com>
17110
17111         strstr: fix a bug whereby strstr would mistakenly return NULL
17112         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17113         in period calculation.
17114         (two_way_long_needle): Likewise.
17115         The original problem was reported by Mike Stump in
17116         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17117         Ralf Wildenhues provided the short needle and haystack.
17118         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17119         Add a more involved test to trigger the bug in two_way_long_needle.
17120
17121 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17122
17123         gnulib-tool: remove use of bold display in help screen
17124         * gnulib-tool (func_usage): Do not use bold display anymore in the
17125         help screen.  That was just meant to be a temporary emphasis for a
17126         backward-incompatible change.
17127
17128 2011-02-23  Bruno Haible  <bruno@clisp.org>
17129
17130         Fix misindentation of preprocessor directives.
17131         * lib/argp-namefrob.h: Reindent preprocessor directives.
17132         * lib/getopt_int.h (struct _getopt_data): Likewise.
17133         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17134         * lib/vasnprintf.c (decode_long_double): Likewise.
17135         * tests/test-argmatch.c: Insert blank lines, for clarity.
17136         * tests/test-exclude.c: Likewise.
17137
17138 2011-02-22  Bruno Haible  <bruno@clisp.org>
17139
17140         ioctl: Fix for MacOS X in 64-bit mode.
17141         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17142         value.
17143         Suggested by Eric Blake.
17144         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17145
17146 2011-02-22  Jim Meyering  <meyering@redhat.com>
17147
17148         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17149         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17150         in lib/.
17151
17152 2011-02-22  Eric Blake  <eblake@redhat.com>
17153
17154         maint: avoid any CDPATH issue
17155         * Makefile (sc_cpp_indent_check): Anchor cd argument.
17156
17157         maint: adjust cpp indentation for my modules, as well
17158         * Makefile (sc_cpp_indent_check): Add my name.
17159         * lib/fbufmode.c: Filter through cppi.
17160         * lib/fpurge.c: Likewise.
17161         * lib/freadable.c: Likewise.
17162         * lib/freading.c: Likewise.
17163         * lib/fwritable.c: Likewise.
17164         * lib/fwriting.c: Likewise.
17165         * lib/sigaction.c: Likewise.
17166
17167 2011-02-22  Jim Meyering  <meyering@redhat.com>
17168
17169         maint: adjust cpp indentation to reflect nesting depth
17170         I.e., in a block of code that begins with an unnested "#if",
17171         put one space between the "#" in column 1 and following token.
17172         For example,
17173         -#include <sys/vfs.h>
17174         +# include <sys/vfs.h>
17175         Do this only in .c files that are part of a module I maintain.
17176         * lib/linkat.c: Filter through cppi.
17177         * lib/nanosleep.c: Likewise.
17178         * lib/openat.c: Likewise.
17179         * lib/openat-die.c: Likewise.
17180         * lib/dup3.c: Likewise.
17181         * lib/fchownat.c: Likewise.
17182         * lib/flock.c: Likewise.
17183         * lib/fsync.c: Likewise.
17184         * lib/fts.c: Likewise.
17185         * lib/getpass.c: Likewise.
17186         * lib/gettimeofday.c: Likewise.
17187         * lib/userspec.c: Likewise.
17188         * Makefile (sc_cpp_indent_check): New rule, to check this.
17189
17190 2011-02-22  Bruno Haible  <bruno@clisp.org>
17191
17192         New module 'wctomb'.
17193         * lib/stdlib.in.h (wctomb): New declaration.
17194         * lib/wctomb.c: New file.
17195         * lib/wctomb-impl.h: New file.
17196         * m4/wctomb.m4: New file.
17197         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
17198         REPLACE_WCTOMB.
17199         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
17200         REPLACE_WCTOMB.
17201         * modules/wctomb: New file.
17202         * tests/test-stdlib-c++.cc: Test signature of wctomb.
17203         * doc/posix-functions/wctomb.texi: Mention the new module.
17204         * modules/wctob (Depends-on): Add wctomb.
17205
17206 2011-02-22  Bruno Haible  <bruno@clisp.org>
17207
17208         New module 'mbtowc'.
17209         * lib/stdlib.in.h (mbtowc): New declaration.
17210         * lib/mbtowc.c: New file.
17211         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
17212         * m4/mbtowc.m4: New file.
17213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
17214         REPLACE_MBTOWC.
17215         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
17216         REPLACE_MBTOWC.
17217         * modules/mbtowc: New file.
17218         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
17219         * doc/posix-functions/mbtowc.texi: Mention the new module.
17220         * modules/btowc (Depends-on): Add mbtowc.
17221
17222 2011-02-22  Bruno Haible  <bruno@clisp.org>
17223
17224         wcrtomb: Add more tests for native Windows platforms.
17225         * tests/test-wcrtomb-w32-1.sh: New file.
17226         * tests/test-wcrtomb-w32-2.sh: New file.
17227         * tests/test-wcrtomb-w32-3.sh: New file.
17228         * tests/test-wcrtomb-w32-4.sh: New file.
17229         * tests/test-wcrtomb-w32-5.sh: New file.
17230         * tests/test-wcrtomb-w32.c: New file.
17231         * modules/wcrtomb-tests (Files): Add them.
17232         (Makefile.am): Arrange to run these tests.
17233         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
17234         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
17235
17236 2011-02-20  Bruno Haible  <bruno@clisp.org>
17237
17238         wcrtomb: Enhance test.
17239         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
17240
17241 2011-02-20  Bruno Haible  <bruno@clisp.org>
17242
17243         mbrtowc: Tiny optimization.
17244         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
17245
17246 2011-02-20  Jim Meyering  <meyering@redhat.com>
17247
17248         test-exclude.c: remove unmatched #endif
17249         * tests/test-exclude.c: Remove stray #endif, left over from
17250         the change of a week ago.
17251
17252 2011-02-19  Jim Meyering  <meyering@redhat.com>
17253
17254         git-version-gen: skip "-dirty" check when appropriate
17255         * build-aux/git-version-gen: Don't run any git commands when the
17256         version string comes from .tarball-version.  Prior to this, we
17257         would run git update-index --refresh even from a just-unpacked
17258         tarball directory, and that could affect a .git/ directory in a
17259         parent of the build directory.  Reported by Mike Frysinger.
17260
17261 2011-02-19  Bruno Haible  <bruno@clisp.org>
17262
17263         unictype/property-byname: Reduce the size of the 'data' segment.
17264         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
17265
17266 2011-02-19  Bruno Haible  <bruno@clisp.org>
17267
17268         unictype/scripts: Reduce the size of the 'data' segment.
17269         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
17270         '%pic'.
17271         * lib/unictype/scripts_byname.gperf: Regenerated.
17272
17273 2011-02-19  Bruno Haible  <bruno@clisp.org>
17274
17275         stdint: Update documentation.
17276         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
17277
17278 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17279
17280         stdint: omit redundant check for wchar.h
17281         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
17282         always tests whether wchar.h exists, so remove the now-redundant test.
17283
17284 2011-02-18  Bruno Haible  <bruno@clisp.org>
17285
17286         stdint: Cut dependency to module 'wchar'.
17287         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
17288         include the necessary prerequisites.
17289         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
17290         * modules/stdint (Depends-on): Remove wchar.
17291         (Makefile.am): Substitute HAVE_WCHAR_H.
17292         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
17293
17294 2011-02-18  Eric Blake  <eblake@redhat.com>
17295
17296         longlong: skip, rather than fail, on cross-compilation
17297         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
17298         when cross-compiling; regression from 2011-02-16.
17299
17300 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17301
17302         * NEWS: Mention 2011-02-08 change to stdlib.
17303
17304 2011-02-17  Bruno Haible  <bruno@clisp.org>
17305
17306         getloadavg: Add comments about platforms.
17307         * m4/getloadavg.m4: Add comment.
17308         * lib/getloadavg.c: Likewise.
17309
17310 2011-02-17  Bruno Haible  <bruno@clisp.org>
17311
17312         getloadavg: Fix link error on Solaris 2.6.
17313         * modules/getloadavg (Link): New section.
17314         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
17315         linking test-getloadavg.
17316         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
17317         getloadavg.
17318
17319 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17320
17321         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
17322         It was 'int', but this doesn't match the IRIX 6.5 manual.
17323         Suggested by Bruno Haible in
17324         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
17325
17326 2011-02-17  Bruno Haible  <bruno@clisp.org>
17327
17328         havelib: Fix comments.
17329         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
17330         change.
17331
17332 2011-02-17  Bruno Haible  <bruno@clisp.org>
17333
17334         havelib: Update config.rpath.
17335         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
17336
17337 2011-02-17  Bruno Haible  <bruno@clisp.org>
17338
17339         getloadavg test: Add some plausibility checks.
17340         * tests/test-getloadavg.c (check_avg): Print a warning when the value
17341         is improbable.
17342
17343 2011-02-16  Eric Blake  <eblake@redhat.com>
17344
17345         maintainer-makefile: make syntax-check a no-op from tarballs
17346         * top/maint.mk (no-vc-detected): New rule.
17347         (local-checks-available): Use it to avoid hanging if someone tries
17348         'make syntax-check' from a tarball.  Also append to any non-syntax
17349         checks already defined in cfg.mk.
17350
17351 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
17352
17353         longlong: tune, particularly for common case of c99
17354
17355         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
17356         or running anything if c99, or if unsigned long long int does not
17357         work.  In either case, we know the answer without further tests.
17358         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
17359         it at most once, and use its results for both long long int and
17360         unsigned long long int.  This is more likely to be efficient in
17361         the common case where the program wants to check for both long
17362         long int and unsigned long long int.
17363         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
17364         since the answer is already known.
17365
17366 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
17367
17368         getloadavg: set errno
17369         * lib/getloadavg.c: Set errno when returning -1.  If no other
17370         error number looks appropriate, set it to ENOSYS if the getloadavg
17371         looks like it can't possibly ever work, ENOTSUP otherwise.
17372         Suggested by Bruno Haible in
17373         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
17374
17375         getloadavg: trim unused parts and speed up 'configure'
17376         * NEWS: Document this.
17377         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
17378         always compiled if getloadavg is absent.
17379         Move test code to ...
17380         * tests/test-getloadavg.c: New file, containing previous
17381         contents of test from lib/getloadavg.c.  It also contains
17382         suggestions by Bruno Haible in
17383         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
17384         * modules/getloadavg-tests: New file.
17385         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
17386         Do tests in the same order as they're needed for getloadavg.c.
17387         Omit setgid-related tests that generate symbols KMEM_GROUP,
17388         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
17389         Do only the tests that are needed to see whether the system has
17390         getloadavg, moving the other tests into ...
17391         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
17392         NLIST_NAME_UNION; nobody should be using it.  Do not define
17393         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
17394         relevant, as the user of this module shouldn't care how getloadavg
17395         is implemented.
17396
17397         getloadavg: omit unused var
17398         * lib/getloadavg.c (getloadavg): Omit unused local variable.
17399
17400 2011-02-15  Jim Meyering  <meyering@redhat.com>
17401
17402         doc: update users.txt
17403         * users.txt: Update iwhd's URL.
17404
17405 2011-02-13  Bruno Haible  <bruno@clisp.org>
17406
17407         Consistent macro naming for macros that use GCC __attribute__.
17408         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
17409         _ATTRIBUTE_NONNULL_.
17410         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
17411         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
17412         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
17413         ATTRIBUTE_DEPRECATED.
17414         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
17415         ATTRIBUTE_NORETURN.
17416         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17417         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17418         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17419         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17420         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
17421         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
17422         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
17423         ATTRIBUTE_SENTINEL.
17424         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
17425         ATTRIBUTE_RETURN_CHECK.
17426         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
17427         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
17428         ATTRIBUTE_NORETURN.
17429         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
17430         Reported by Paul Eggert.
17431
17432 2011-02-13  Bruno Haible  <bruno@clisp.org>
17433
17434         Don't interfere with a program's definition of __attribute__.
17435         * lib/argp.h (__attribute__): Remove definition.
17436         (_GL_ATTRIBUTE_FORMAT): New macro.
17437         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
17438         * lib/argp-fmtstream.h (__attribute__): Remove definition.
17439         (_GL_ATTRIBUTE_FORMAT): New macro.
17440         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
17441         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
17442         GCC 3 or newer.
17443         * lib/error.h (__attribute__): Remove definition.
17444         (_GL_ATTRIBUTE_FORMAT): New macro.
17445         (error, error_at_line): Use it.
17446         * lib/hash.h (__attribute__): Remove definition.
17447         (ATTRIBUTE_WUR): Update definition. Define always.
17448         * lib/openat.h (__attribute__): Remove definition.
17449         (ATTRIBUTE_NORETURN): Update definition. Define always.
17450         * lib/sigpipe-die.h (__attribute__): Remove definition.
17451         (ATTRIBUTE_NORETURN): Update definition. Define always.
17452         * lib/vasnprintf.h (__attribute__): Remove definition.
17453         (_GL_ATTRIBUTE_FORMAT): New macro.
17454         (asnprintf, vasnprintf): Use it.
17455         * lib/xalloc.h (__attribute__): Remove definition.
17456         (ATTRIBUTE_NORETURN): Update definition. Define always.
17457         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
17458         * lib/xmemdup0.h (__attribute__): Remove definition.
17459         (ATTRIBUTE_NORETURN): Update definition. Define always.
17460         * lib/xprintf.h (__attribute__): Remove definition.
17461         (_GL_ATTRIBUTE_FORMAT): New macro.
17462         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
17463         * lib/xstrtol.h (__attribute__): Remove definition.
17464         (ATTRIBUTE_NORETURN): Update definition. Define always.
17465         * lib/xvasprintf.h (__attribute__): Remove definition.
17466         (_GL_ATTRIBUTE_FORMAT): New macro.
17467         (xasprintf, xvasprintf): Use it.
17468         * tests/test-argmatch.c (__attribute__): Remove definition.
17469         (ATTRIBUTE_NORETURN): Update definition. Define always.
17470         * tests/test-exclude.c (__attribute__): Remove definition.
17471         (ATTRIBUTE_NORETURN): Update definition. Define always.
17472         Reported by Paul Eggert.
17473
17474 2011-02-13  Bruno Haible  <bruno@clisp.org>
17475
17476         mbrtowc: Add more tests for native Windows platforms.
17477         * tests/test-mbrtowc-w32-1.sh: New file.
17478         * tests/test-mbrtowc-w32-2.sh: New file.
17479         * tests/test-mbrtowc-w32-3.sh: New file.
17480         * tests/test-mbrtowc-w32-4.sh: New file.
17481         * tests/test-mbrtowc-w32-5.sh: New file.
17482         * tests/test-mbrtowc-w32.c: New file.
17483         * modules/mbrtowc-tests (Files): Add them.
17484         (Makefile.am): Arrange to run these tests.
17485         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
17486         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
17487
17488 2011-02-13  Bruno Haible  <bruno@clisp.org>
17489
17490         mbrtowc: Work around native Windows bug.
17491         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
17492         guess when no suitable locale for testing was found.
17493         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
17494
17495 2011-02-13  Bruno Haible  <bruno@clisp.org>
17496
17497         mbsinit: Work around mingw bug.
17498         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
17499         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
17500         Windows.
17501         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
17502
17503 2011-02-13  Bruno Haible  <bruno@clisp.org>
17504
17505         mbsinit: Don't crash for a NULL argument.
17506         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
17507         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
17508
17509 2011-02-13  Bruno Haible  <bruno@clisp.org>
17510
17511         Don't interfere with a program's definition of __attribute__.
17512         * lib/stdio.in.h (__attribute__): Remove definition.
17513         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
17514         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
17515         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
17516         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
17517         * lib/string.in.h (__attribute__): Remove definition.
17518         Reported by Paul Eggert.
17519
17520 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17521
17522         stdlib: don't get in the way of non-GCC __attribute__
17523         See thread starting at
17524         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
17525         Revert previous stdlib change, installing the following instead:
17526         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
17527         to get in the way of a non-GCC compiler that supports __attribute__.
17528         (_GL_ATTRIBUTE_RETURN): New macro.
17529         (_Exit): Use it instead of __attribute__.
17530
17531 2011-02-12  Bruno Haible  <bruno@clisp.org>
17532
17533         quotearg test: Avoid test failure on mingw.
17534         * tests/test-quotearg.sh: Convert the locale identifier from native
17535         Windows syntax to Unix syntax.
17536
17537 2011-02-12  Bruno Haible  <bruno@clisp.org>
17538
17539         setlocale: Prefer gnulib's override over libintl's override.
17540         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
17541         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
17542         GNULIB_defined_setlocale is set.
17543
17544 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17545
17546         stdlib: support non-GCC __attribute__
17547
17548         Fix a serious and tricky problem encountered when attempting to
17549         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
17550         5.5, but it crashed due to memory corruption on Solaris 10 with
17551         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
17552         bits that are otherwise zero.  This tagging is optional inside
17553         Emacs but is preferred and is used when __attribute__ ((__aligned
17554         (8))) works, as it does with both recent-enough GCC and with Sun C
17555         5.11.  However, Sun C 5.11 is not GCC and does not #define
17556         __GNUC__ and __GNUC_MINOR__.
17557
17558         When I added the getloadavg module to Emacs, it brought in
17559         stdlib.in.h, which contained this fragment:
17560
17561            #ifndef __attribute__
17562            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
17563            #  define __attribute__(Spec)   /* empty */
17564            # endif
17565            #endif
17566
17567         When files that include <stdlib.h> were compiled with Sun C 5.11,
17568         the above code disabled __attribute__ ((__aligned (8))), which
17569         caused variables to not be properly aligned, which eventually led
17570         to the pointer corruption mentioned above.  (This was a bit hard
17571         to diagnose, unfortunately.)
17572
17573         Several "#define __attribute__(X) /* empty */" code snippets need
17574         to be eradicated from Gnulib to work with non-GCC compilers that
17575         support __attribute__.  The Autoconf way to do this is to test for
17576         each kind of attribute that we want support for, and selectively
17577         enable that in source code.
17578
17579         Fix this problem just for stdlib.h, by adding a test for the
17580         __noreturn__ attribute, and change stdlib.in.h to use that test
17581         when needed.  This technique can be easily generalized to the
17582         other *.in.h files and attributes, and a similar technique can be
17583         used for *.h and *.c files.  This patch is enough to solve the
17584         problem for Emacs + getloadavg, and I thought I'd publish it for
17585         feedback before undertaking further, similar fixes in other
17586         modules.
17587
17588         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
17589         because it's not needed for stdlib.h.  It merely substitutes the
17590         value directly into stdlib.h.  We may well need to #define it, or
17591         similar symbols, for other modules, but it's nice to also have an
17592         option to not #define it for applications like Emacs that do not
17593         need it.
17594
17595         * lib/stdlib.in.h (__attribute__): Do not #define.
17596         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
17597         be defined only if the _Exit module is also used.
17598         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
17599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
17600         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
17601         platforms.
17602         * modules/_Exit (Files): Add m4/attribute.m4.
17603         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
17604         * m4/attribute.m4: New file.
17605
17606 2011-02-12  Bruno Haible  <bruno@clisp.org>
17607
17608         wcsrtombs: Work around bug on native Windows.
17609         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
17610         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
17611         instead of len.
17612         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
17613
17614 2011-02-12  Bruno Haible  <bruno@clisp.org>
17615
17616         mbsrtowcs: Work around bug on native Windows.
17617         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
17618         against mingw bug.
17619         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
17620
17621 2011-02-12  Bruno Haible  <bruno@clisp.org>
17622
17623         Avoid setlocale bugs in tests.
17624         * modules/btowc (Dependencies): Add setlocale.
17625         * modules/c-strcase (Dependencies): Likewise.
17626         * modules/mbmemcasecmp (Dependencies): Likewise.
17627         * modules/mbmemcasecoll (Dependencies): Likewise.
17628         * modules/mbrtowc (Dependencies): Likewise.
17629         * modules/mbscasecmp (Dependencies): Likewise.
17630         * modules/mbscasestr (Dependencies): Likewise.
17631         * modules/mbschr (Dependencies): Likewise.
17632         * modules/mbscspn (Dependencies): Likewise.
17633         * modules/mbsinit (Dependencies): Likewise.
17634         * modules/mbsncasecmp (Dependencies): Likewise.
17635         * modules/mbsnrtowcs (Dependencies): Likewise.
17636         * modules/mbspbrk (Dependencies): Likewise.
17637         * modules/mbspcasecmp (Dependencies): Likewise.
17638         * modules/mbsrchr (Dependencies): Likewise.
17639         * modules/mbsrtowcs (Dependencies): Likewise.
17640         * modules/mbsspn (Dependencies): Likewise.
17641         * modules/mbsstr (Dependencies): Likewise.
17642         * modules/nl_langinfo (Dependencies): Likewise.
17643         * modules/quotearg (Dependencies): Likewise.
17644         * modules/unicase/locale-language (Dependencies): Likewise.
17645         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
17646         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
17647         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
17648         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
17649         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
17650         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
17651         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
17652         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
17653         * modules/vasnprintf-posix (Dependencies): Likewise.
17654         * modules/wcrtomb (Dependencies): Likewise.
17655         * modules/wcsnrtombs (Dependencies): Likewise.
17656         * modules/wcsrtombs (Dependencies): Likewise.
17657
17658 2011-02-12  Bruno Haible  <bruno@clisp.org>
17659
17660         setlocale: Workaround native Windows bug.
17661         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
17662         succeeds but sets LC_CTYPE to "C", report a failure.
17663         * tests/test-setlocale2.sh: New file.
17664         * tests/test-setlocale2.c: New file.
17665         * modules/setlocale-tests (Files): Add the new files.
17666         (Makefile.am): Enable test-setlocale2.sh test.
17667         * doc/posix-functions/setlocale.texi: Mention workaround.
17668
17669 2011-02-11  Bruno Haible  <bruno@clisp.org>
17670
17671         Tests for module 'setlocale'.
17672         * modules/setlocale-tests: New file.
17673         * tests/test-setlocale1.sh: New file.
17674         * tests/test-setlocale1.c: New file.
17675
17676         New module 'setlocale'.
17677         * lib/locale.in.h (setlocale): New declaration.
17678         * lib/setlocale.c: New file, based on
17679         gettext/gettext-runtime/intl/setlocale.c.
17680         * m4/setlocale.m4: New file.
17681         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
17682         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
17683         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
17684         REPLACE_SETLOCALE.
17685         * modules/setlocale: New file.
17686         * tests/test-locale-c++.cc: Test the declaration of setlocale.
17687         * doc/posix-functions/setlocale.texi: Mention the new module.
17688
17689 2011-02-11  Bruno Haible  <bruno@clisp.org>
17690
17691         Prepare for locale dependent tests on mingw.
17692         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
17693         because it has the wrong locale encoding.
17694         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
17695         French_France.1252 instead of "fr".
17696         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
17697         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
17698         because it has the wrong locale encoding.
17699         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
17700         native Windows, try Turkish_Turkey.65001.
17701         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
17702         Chinese_China.54936.
17703
17704         Prepare for locale dependent tests on mingw.
17705         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
17706         differently.
17707         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
17708         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
17709         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
17710         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
17711
17712 2011-02-11  Eric Blake  <eblake@redhat.com>
17713
17714         strptime: avoid compiler warnings
17715         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
17716         compiler warnings about dead code.
17717         Reported by Daniel P. Berrange.
17718
17719 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
17720
17721         doc: update users.txt
17722         * users.txt: Add rcs.
17723
17724 2011-02-10  John W. Eaton  <jwe@gnu.org>
17725
17726         doc: update users.txt
17727         * users.txt: Add octave.
17728
17729 2011-02-10  Jim Meyering  <meyering@redhat.com>
17730
17731         doc: update users.txt
17732         * users.txt: Add iwhd.
17733
17734 2011-02-09  Bruno Haible  <bruno@clisp.org>
17735
17736         gnulib-tool: Make copyright notice adjustment more robust.
17737         * gnulib-tool (func_import): In sed_transform_main_lib_file,
17738         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
17739         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
17740         License".
17741         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
17742
17743 2011-02-06  Bruno Haible  <bruno@clisp.org>
17744
17745         New module 'towctrans'.
17746         * modules/towctrans: New file.
17747         * lib/wctype.in.h (towctrans): New declaration.
17748         * lib/towctrans.c: New file.
17749         * lib/towctrans-impl.h: New file.
17750         * m4/towctrans.m4: New file.
17751         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
17752         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
17753         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
17754         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
17755         * doc/posix-functions/towctrans.texi: Mention the new module.
17756
17757 2011-02-06  Bruno Haible  <bruno@clisp.org>
17758
17759         New module 'wctrans'.
17760         * modules/wctrans: New file.
17761         * lib/wctype.in.h (wctrans): New declaration.
17762         * lib/wctrans.c: New file.
17763         * lib/wctrans-impl.h: New file.
17764         * m4/wctrans.m4: New file.
17765         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
17766         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
17767         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
17768         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
17769         * doc/posix-functions/wctrans.texi: Mention the new module.
17770
17771 2011-02-06  Bruno Haible  <bruno@clisp.org>
17772
17773         New module 'iswctype'.
17774         * modules/iswctype: New file.
17775         * lib/wctype.in.h (iswctype): New declaration.
17776         * lib/iswctype.c: New file.
17777         * lib/iswctype-impl.h: New file.
17778         * m4/iswctype.m4: New file.
17779         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
17780         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
17781         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
17782         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
17783         * doc/posix-functions/iswctype.texi: Mention the new module and the
17784         HP-UX 11.00 problem.
17785
17786 2011-02-06  Bruno Haible  <bruno@clisp.org>
17787
17788         New module 'wctype'.
17789         * modules/wctype: Change to represent the wctype() substitute.
17790         * lib/wctype.in.h (wctype): New declaration.
17791         * lib/wctype.c: New file.
17792         * lib/wctype-impl.h: New file.
17793         * m4/wctype.m4: New file.
17794         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
17795         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
17796         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
17797         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
17798         * doc/posix-functions/wctype.texi: Mention the new module and the
17799         HP-UX 11.00 problem.
17800
17801 2011-02-06  Bruno Haible  <bruno@clisp.org>
17802
17803         wctype-h: Ensure wctype_t and wctrans_t are defined.
17804         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
17805         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17806         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17807         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
17808         HAVE_WCTRANS_T.
17809         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
17810
17811 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
17812
17813         flock: fix license typo
17814
17815         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
17816         omitted.
17817
17818 2011-02-08  Bruno Haible  <bruno@clisp.org>
17819
17820         Split large sed scripts, for HP-UX sed.
17821         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
17822         to avoid HP-UX limit of 99 commands, in the near future.
17823         * modules/stdlib (Makefile.am): Likewise.
17824         * modules/unistd (Makefile.am): Likewise.
17825         * modules/wchar (Makefile.am): Likewise.
17826         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17827         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
17828         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
17829
17830 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17831             Bruno Haible  <bruno@clisp.org>
17832
17833         stdlib: improve random_r modularization
17834         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
17835         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
17836         you also need the random_r module to get this material right.
17837         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
17838         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
17839         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
17840
17841 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17842
17843         stdlib: don't depend on stdint
17844         * lib/stdlib.in.h: Don't include <stdint.h> merely because
17845         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
17846         be independent of whether stdint.h is needed.
17847         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
17848         here, instead of ...
17849         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
17850         struct random_data should be using the random_r module, not just
17851         the stdlib module (which wouldn't make sense: what package needs
17852         just struct random_data without also needing random_r?).
17853         * modules/stdlib (Depends-on): Remove stdint.
17854
17855         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
17856         See the thread rooted at
17857         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
17858         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
17859         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
17860         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
17861         __VMS)); previously it was always included (via fcntl--.h).
17862         (getloadavg): Do not use c_strtod.  Instead, approximate it by
17863         hand; this is good enough for load averages.  Also, do not use
17864         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
17865         flags directly if available and don't bother otherwise.  (Packages
17866         that need the extra reliability should use the modules that define
17867         these flags on older platforms that lack them.)
17868         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
17869         fcntl-safer.
17870
17871 2011-02-08  Jim Meyering  <meyering@redhat.com>
17872
17873         di-set.h, ino-map.h: add multiple-inclusion guard
17874         Technically, the guard is required only for ino-map.h, due to its
17875         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
17876         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
17877         * lib/ino-map.h: Likewise.
17878
17879 2011-02-06  Bruno Haible  <bruno@clisp.org>
17880
17881         iswblank: Ensure declaration on glibc systems.
17882         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
17883         * modules/iswblank (Dependencies): Add 'extensions'.
17884         * doc/posix-functions/iswblank.texi: Document the glibc problem.
17885
17886 2011-02-06  Bruno Haible  <bruno@clisp.org>
17887
17888         New module 'iswblank'.
17889         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
17890         * modules/iswblank: New file.
17891         * modules/wctype-h (Files): Remove lib/iswblank.c.
17892         (Makefile.am): Substitute GNULIB_ISWBLANK.
17893         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
17894         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
17895         (gl_WCTYPE_H_DEFAULTS): New macro.
17896         (gl_WCTYPE_H): Require it. Remove iswblank related code.
17897         * modules/iswblank-tests: New file.
17898         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
17899         * tests/test-wctype-h.c (main): Remove iswblank tests.
17900         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
17901         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
17902         of 'wctype-h'.
17903         * NEWS: Mention the change.
17904         * modules/mbchar (Depends-on): Add iswblank.
17905
17906 2011-02-08  Bruno Haible  <bruno@clisp.org>
17907
17908         di-set tests: Refactor.
17909         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
17910         unnecessary includes.
17911         (ASSERT): Remove macro.
17912         (main): Make C90 compliant by avoiding variable declaration after
17913         statement.
17914         * modules/di-set-tests (Files): Add tests/macros.h.
17915
17916 2011-02-08  Bruno Haible  <bruno@clisp.org>
17917
17918         ino-map tests: Refactor.
17919         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
17920         unnecessary includes.
17921         (ASSERT): Remove macro.
17922         (main): Make C90 compliant by avoiding variable declaration after
17923         statement.
17924         * modules/ino-map-tests (Files): Add tests/macros.h.
17925
17926 2011-02-08  Jim Meyering  <meyering@redhat.com>
17927
17928         di-set: add "const" to a cast
17929         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
17930         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
17931
17932 2011-02-06  Bruno Haible  <bruno@clisp.org>
17933
17934         Rename module 'wctype' to 'wctype-h'.
17935         * modules/wctype-h: Renamed from modules/wctype.
17936         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
17937         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
17938         (Files, Depends-on, Makefile.am): Update.
17939         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
17940         (Files, Makefile.am): Update.
17941         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
17942         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
17943         * doc/posix-headers/wctype.texi: Update.
17944         * doc/posix-functions/iswalnum.texi: Update.
17945         * doc/posix-functions/iswalpha.texi: Update.
17946         * doc/posix-functions/iswblank.texi: Update.
17947         * doc/posix-functions/iswcntrl.texi: Update.
17948         * doc/posix-functions/iswdigit.texi: Update.
17949         * doc/posix-functions/iswgraph.texi: Update.
17950         * doc/posix-functions/iswlower.texi: Update.
17951         * doc/posix-functions/iswprint.texi: Update.
17952         * doc/posix-functions/iswpunct.texi: Update.
17953         * doc/posix-functions/iswspace.texi: Update.
17954         * doc/posix-functions/iswupper.texi: Update.
17955         * doc/posix-functions/iswxdigit.texi: Update.
17956         * doc/posix-functions/towlower.texi: Update.
17957         * doc/posix-functions/towupper.texi: Update.
17958         * NEWS: Mention the change.
17959         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
17960         * modules/mbchar (Dependencies): Likewise.
17961         * modules/mbswidth (Dependencies): Likewise.
17962         * modules/quotearg (Dependencies): Likewise.
17963         * modules/regex (Dependencies): Likewise.
17964         * modules/wcscasecmp (Dependencies): Likewise.
17965         * modules/wcsncasecmp (Dependencies): Likewise.
17966         * modules/wcwidth (Dependencies): Likewise.
17967
17968 2011-02-06  Bruno Haible  <bruno@clisp.org>
17969
17970         New module 'wcswidth'.
17971         * modules/wcswidth: New file.
17972         * lib/wchar.in.h (wcswidth): New declaration.
17973         * lib/wcswidth.c: New file.
17974         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
17975         * m4/wcswidth.m4: New file.
17976         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
17977         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
17978         REPLACE_WCSWIDTH.
17979         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
17980         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
17981         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
17982         * doc/posix-functions/wcswidth.texi: Mention the new module.
17983
17984 2011-02-06  Bruno Haible  <bruno@clisp.org>
17985
17986         New module 'wcstok'.
17987         * modules/wcstok: New file.
17988         * lib/wchar.in.h (wcstok): New declaration.
17989         * lib/wcstok.c: New file.
17990         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
17991         * m4/wcstok.m4: New file.
17992         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
17993         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
17994         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
17995         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
17996         * doc/posix-functions/wcstok.texi: Mention the new module.
17997
17998 2011-02-06  Bruno Haible  <bruno@clisp.org>
17999
18000         New module 'wcsstr'.
18001         * modules/wcsstr: New file.
18002         * lib/wchar.in.h (wcsstr): New declaration.
18003         * lib/wcsstr.c: New file.
18004         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18005         * m4/wcsstr.m4: New file.
18006         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18007         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18008         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18009         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18010         * doc/posix-functions/wcsstr.texi: Mention the new module.
18011
18012 2011-02-06  Bruno Haible  <bruno@clisp.org>
18013
18014         New module 'wcspbrk'.
18015         * modules/wcspbrk: New file.
18016         * lib/wchar.in.h (wcspbrk): New declaration.
18017         * lib/wcspbrk.c: New file.
18018         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18019         * m4/wcspbrk.m4: New file.
18020         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18021         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18022         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18023         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18024         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18025
18026 2011-02-06  Bruno Haible  <bruno@clisp.org>
18027
18028         New module 'wcsspn'.
18029         * modules/wcsspn: New file.
18030         * lib/wchar.in.h (wcsspn): New declaration.
18031         * lib/wcsspn.c: New file.
18032         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18033         * m4/wcsspn.m4: New file.
18034         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18035         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18036         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18037         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18038         * doc/posix-functions/wcsspn.texi: Mention the new module.
18039
18040 2011-02-06  Bruno Haible  <bruno@clisp.org>
18041
18042         New module 'wcscspn'.
18043         * modules/wcscspn: New file.
18044         * lib/wchar.in.h (wcscspn): New declaration.
18045         * lib/wcscspn.c: New file.
18046         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18047         * m4/wcscspn.m4: New file.
18048         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18049         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18050         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18051         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18052         * doc/posix-functions/wcscspn.texi: Mention the new module.
18053
18054 2011-02-06  Bruno Haible  <bruno@clisp.org>
18055
18056         New module 'wcsrchr'.
18057         * modules/wcsrchr: New file.
18058         * lib/wchar.in.h (wcsrchr): New declaration.
18059         * lib/wcsrchr.c: New file.
18060         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18061         * m4/wcsrchr.m4: New file.
18062         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18063         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18064         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18065         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18066         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18067
18068 2011-02-06  Bruno Haible  <bruno@clisp.org>
18069
18070         New module 'wcschr'.
18071         * modules/wcschr: New file.
18072         * lib/wchar.in.h (wcschr): New declaration.
18073         * lib/wcschr.c: New file.
18074         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18075         * m4/wcschr.m4: New file.
18076         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18077         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18078         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18079         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18080         * doc/posix-functions/wcschr.texi: Mention the new module.
18081
18082 2011-02-06  Bruno Haible  <bruno@clisp.org>
18083
18084         New module 'wcsdup'.
18085         * modules/wcsdup: New file.
18086         * lib/wchar.in.h (wcsdup): New declaration.
18087         * lib/wcsdup.c: New file.
18088         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18089         * m4/wcsdup.m4: New file.
18090         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18091         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18092         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18093         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18094         * doc/posix-functions/wcsdup.texi: Mention the new module.
18095
18096 2011-02-06  Bruno Haible  <bruno@clisp.org>
18097
18098         New module 'wcsxfrm'.
18099         * modules/wcsxfrm: New file.
18100         * lib/wchar.in.h (wcsxfrm): New declaration.
18101         * lib/wcsxfrm.c: New file.
18102         * lib/wcsxfrm-impl.h: New file.
18103         * m4/wcsxfrm.m4: New file.
18104         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18105         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18106         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18107         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18108         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18109
18110 2011-02-06  Bruno Haible  <bruno@clisp.org>
18111
18112         New module 'wcscoll'.
18113         * modules/wcscoll: New file.
18114         * lib/wchar.in.h (wcscoll): New declaration.
18115         * lib/wcscoll.c: New file.
18116         * lib/wcscoll-impl.h: New file.
18117         * m4/wcscoll.m4: New file.
18118         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18119         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18120         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18121         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18122         * doc/posix-functions/wcscoll.texi: Mention the new module.
18123
18124 2011-02-06  Bruno Haible  <bruno@clisp.org>
18125
18126         New module 'wcsncasecmp'.
18127         * modules/wcsncasecmp: New file.
18128         * lib/wchar.in.h (wcsncasecmp): New declaration.
18129         * lib/wcsncasecmp.c: New file.
18130         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18131         * m4/wcsncasecmp.m4: New file.
18132         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18133         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18134         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18135         HAVE_WCSNCASECMP.
18136         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18137         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18138
18139 2011-02-06  Bruno Haible  <bruno@clisp.org>
18140
18141         New module 'wcscasecmp'.
18142         * modules/wcscasecmp: New file.
18143         * lib/wchar.in.h (wcscasecmp): New declaration.
18144         * lib/wcscasecmp.c: New file.
18145         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18146         * m4/wcscasecmp.m4: New file.
18147         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18148         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18149         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18150         HAVE_WCSCASECMP.
18151         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18152         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18153
18154 2011-02-05  Bruno Haible  <bruno@clisp.org>
18155
18156         New module 'wcsncmp'.
18157         * modules/wcsncmp: New file.
18158         * lib/wchar.in.h (wcsncmp): New declaration.
18159         * lib/wcsncmp.c: New file.
18160         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
18161         * m4/wcsncmp.m4: New file.
18162         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
18163         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
18164         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
18165         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
18166         * doc/posix-functions/wcsncmp.texi: Mention the new module.
18167
18168 2011-02-05  Bruno Haible  <bruno@clisp.org>
18169
18170         New module 'wcscmp'.
18171         * modules/wcscmp: New file.
18172         * lib/wchar.in.h (wcscmp): New declaration.
18173         * lib/wcscmp.c: New file.
18174         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18175         * m4/wcscmp.m4: New file.
18176         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18177         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18178         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18179         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18180         * doc/posix-functions/wcscmp.texi: Mention the new module.
18181
18182 2011-02-05  Bruno Haible  <bruno@clisp.org>
18183
18184         New module 'wcsncat'.
18185         * modules/wcsncat: New file.
18186         * lib/wchar.in.h (wcsncat): New declaration.
18187         * lib/wcsncat.c: New file.
18188         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
18189         * m4/wcsncat.m4: New file.
18190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
18191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
18192         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
18193         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
18194         * doc/posix-functions/wcsncat.texi: Mention the new module.
18195
18196 2011-02-05  Bruno Haible  <bruno@clisp.org>
18197
18198         New module 'wcscat'.
18199         * modules/wcscat: New file.
18200         * lib/wchar.in.h (wcscat): New declaration.
18201         * lib/wcscat.c: New file.
18202         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
18203         * m4/wcscat.m4: New file.
18204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
18205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
18206         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
18207         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
18208         * doc/posix-functions/wcscat.texi: Mention the new module.
18209
18210 2011-02-05  Bruno Haible  <bruno@clisp.org>
18211
18212         New module 'wcpncpy'.
18213         * modules/wcpncpy: New file.
18214         * lib/wchar.in.h (wcpncpy): New declaration.
18215         * lib/wcpncpy.c: New file.
18216         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
18217         * m4/wcpncpy.m4: New file.
18218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
18219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
18220         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
18221         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
18222         * doc/posix-functions/wcpncpy.texi: Mention the new module.
18223
18224 2011-02-05  Bruno Haible  <bruno@clisp.org>
18225
18226         New module 'wcsncpy'.
18227         * modules/wcsncpy: New file.
18228         * lib/wchar.in.h (wcsncpy): New declaration.
18229         * lib/wcsncpy.c: New file.
18230         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
18231         * m4/wcsncpy.m4: New file.
18232         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
18233         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
18234         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
18235         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
18236         * doc/posix-functions/wcsncpy.texi: Mention the new module.
18237
18238 2011-02-05  Bruno Haible  <bruno@clisp.org>
18239
18240         New module 'wcpcpy'.
18241         * modules/wcpcpy: New file.
18242         * lib/wchar.in.h (wcpcpy): New declaration.
18243         * lib/wcpcpy.c: New file.
18244         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
18245         * m4/wcpcpy.m4: New file.
18246         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
18247         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
18248         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
18249         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
18250         * doc/posix-functions/wcpcpy.texi: Mention the new module.
18251
18252 2011-02-05  Bruno Haible  <bruno@clisp.org>
18253
18254         New module 'wcscpy'.
18255         * modules/wcscpy: New file.
18256         * lib/wchar.in.h (wcscpy): New declaration.
18257         * lib/wcscpy.c: New file.
18258         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
18259         * m4/wcscpy.m4: New file.
18260         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
18261         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
18262         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
18263         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
18264         * doc/posix-functions/wcscpy.texi: Mention the new module.
18265
18266 2011-02-05  Bruno Haible  <bruno@clisp.org>
18267
18268         New module 'wcsnlen'.
18269         * modules/wcsnlen: New file.
18270         * lib/wchar.in.h (wcsnlen): New declaration.
18271         * lib/wcsnlen.c: New file.
18272         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
18273         * m4/wcsnlen.m4: New file.
18274         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
18275         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
18276         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
18277         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
18278         * doc/posix-functions/wcsnlen.texi: Mention the new module.
18279
18280 2011-02-05  Bruno Haible  <bruno@clisp.org>
18281
18282         New module 'wcslen'.
18283         * modules/wcslen: New file.
18284         * lib/wchar.in.h (wcslen): New declaration.
18285         * lib/wcslen.c: New file.
18286         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
18287         * m4/wcslen.m4: New file.
18288         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
18289         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
18290         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
18291         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
18292         * doc/posix-functions/wcslen.texi: Mention the new module.
18293
18294 2011-02-05  Bruno Haible  <bruno@clisp.org>
18295
18296         New module 'wmemset'.
18297         * modules/wmemset: New file.
18298         * lib/wchar.in.h (wmemset): New declaration.
18299         * lib/wmemset.c: New file.
18300         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
18301         * m4/wmemset.m4: New file.
18302         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
18303         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
18304         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
18305         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
18306         * doc/posix-functions/wmemset.texi: Mention the new module.
18307
18308 2011-02-05  Bruno Haible  <bruno@clisp.org>
18309
18310         New module 'wmemmove'.
18311         * modules/wmemmove: New file.
18312         * lib/wchar.in.h (wmemmove): New declaration.
18313         * lib/wmemmove.c: New file.
18314         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
18315         * m4/wmemmove.m4: New file.
18316         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
18317         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
18318         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
18319         HAVE_WMEMMOVE.
18320         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
18321         * doc/posix-functions/wmemmove.texi: Mention the new module.
18322
18323 2011-02-05  Bruno Haible  <bruno@clisp.org>
18324
18325         New module 'wmemcpy'.
18326         * modules/wmemcpy: New file.
18327         * lib/wchar.in.h (wmemcpy): New declaration.
18328         * lib/wmemcpy.c: New file.
18329         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
18330         * m4/wmemcpy.m4: New file.
18331         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
18332         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
18333         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
18334         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
18335         * doc/posix-functions/wmemcpy.texi: Mention the new module.
18336
18337 2011-02-05  Bruno Haible  <bruno@clisp.org>
18338
18339         New module 'wmemcmp'.
18340         * modules/wmemcmp: New file.
18341         * lib/wchar.in.h (wmemcmp): New declaration.
18342         * lib/wmemcmp.c: New file.
18343         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
18344         * m4/wmemcmp.m4: New file.
18345         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
18346         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
18347         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
18348         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
18349         * doc/posix-functions/wmemcmp.texi: Mention the new module.
18350
18351 2011-02-07  Jim Meyering  <meyering@redhat.com>
18352
18353         di-set, ino-map: new modules, from coreutils
18354         * lib/di-set.c: New file.
18355         * lib/di-set.h: Likewise.
18356         * lib/ino-map.c: Likewise.
18357         * lib/ino-map.h: Likewise.
18358         * modules/di-set: Likewise.
18359         * modules/di-set-tests: Likewise.
18360         * modules/ino-map: Likewise.
18361         * modules/ino-map-tests: Likewise.
18362         * tests/test-di-set.c: Likewise.
18363         * tests/test-ino-map.c: Likewise.
18364
18365 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18366
18367         getloadavg: merge minor changes from Emacs
18368
18369         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
18370         (getloadavg): Use memset, not bzero.
18371
18372         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
18373         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
18374         clash (bug#86).
18375
18376 2010-11-14  Bruno Haible  <bruno@clisp.org>
18377
18378         Allow multiple gnulib generated replacements to coexist.
18379         * lib/getopt.in.h (struct option): Avoid identical redefinition.
18380         * lib/inttypes.in.h (imaxdiv_t): Likewise.
18381         * lib/langinfo.in.h (nl_item): Likewise.
18382         * lib/math.in.h (_NaN, NAN): Likewise.
18383         * lib/netdb.in.h (struct addrinfo): Likewise.
18384         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
18385         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
18386         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
18387         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
18388         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
18389         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
18390         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
18391         pthread_mutexattr_init, pthread_mutexattr_settype,
18392         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
18393         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
18394         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
18395         pthread_spin_trylock, pthread_spin_unlock): Likewise.
18396         * lib/sched.in.h (struct sched_param): Likewise.
18397         * lib/se-selinux.in.h (security_class_t, security_context_t,
18398         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
18399         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
18400         lsetfilecon, fsetfilecon, security_check_context,
18401         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
18402         Likewise.
18403         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
18404         Likewise.
18405         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
18406         _gl_function_taking_int_returning_void_t, union sigval,
18407         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
18408         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
18409         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18410         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
18411         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
18412         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
18413         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
18414         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
18415         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
18416         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
18417         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
18418         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
18419         socklen_t, rpl_fd_isset): Likewise.
18420         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
18421         * lib/sys_time.in.h (struct timeval): Likewise.
18422         * lib/sys_times.in.h (struct tms): Likewise.
18423         * lib/sys_utsname.in.h (struct utsname):
18424         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
18425         * lib/unistd.in.h (getpagesize): Likewise.
18426         * lib/wchar.in.h (mbstate_t): Likewise.
18427         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
18428         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
18429         towlower, towupper): Likewise.
18430         Reported by Sam Steingold <sds@gnu.org>.
18431
18432 2011-02-05  Eric Blake  <eblake@redhat.com>
18433
18434         unsetenv: work around Haiku issues
18435         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
18436         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
18437
18438 2010-12-30  Bruce Korb  <bkorb@gnu.org>
18439
18440         libposix: avoid calling error() within libposix
18441         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
18442         is defined.
18443
18444 2011-02-05  Eric Blake  <eblake@redhat.com>
18445
18446         strerror_r-posix: port to cygwin
18447         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
18448         implementation.
18449         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
18450         * tests/test-strerror_r.c (main): Fix test.
18451         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18452         issue.
18453
18454 2011-02-05  Bruno Haible  <bruno@clisp.org>
18455
18456         New module 'wmemchr'.
18457         * modules/wmemchr: New file.
18458         * lib/wchar.in.h (wmemchr): New declaration.
18459         * lib/wmemchr.c: New file.
18460         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
18461         * m4/wmemchr.m4: New file.
18462         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
18463         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
18464         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
18465         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
18466         * doc/posix-functions/wmemchr.texi: Mention the new module.
18467
18468 2011-02-04  Eric Blake  <eblake@redhat.com>
18469
18470         fdopendir: detect FreeBSD bug
18471         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
18472         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
18473
18474 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18475
18476         stdbool: do not define HAVE_STDBOOL_H
18477         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
18478         AC_HEADER_STDBOOL.  All uses changed.  Do not define
18479         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
18480         imported from the latest Autoconf git.  It was motivated by Emacs,
18481         which uses gnulib but does not need HAVE_STDBOOL_H.
18482
18483 2011-02-04  Bruno Haible  <bruno@clisp.org>
18484
18485         wcsnrtombs: Prepare for new module wwcsnrtombs.
18486         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
18487         * lib/wcsnrtombs.c: Include it.
18488         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
18489
18490         wcsrtombs: Prepare for new module wwcsrtombs.
18491         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
18492         * lib/wcsrtombs.c: Include it.
18493         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
18494
18495         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
18496         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
18497         * lib/mbsnrtowcs.c: Include it.
18498         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
18499
18500         mbsrtowcs: Prepare for new module mbsrtowwcs.
18501         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
18502         * lib/mbsrtowcs.c: Include it.
18503         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
18504
18505 2011-02-04  Bruno Haible  <bruno@clisp.org>
18506
18507         vasnprintf: Reduce use of malloc for small format strings.
18508         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
18509         (arguments): Add room for the first 7 arguments.
18510         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
18511         (char_directives, u8_directives, u16_directives, u32_directives): Add
18512         room for the first 7 directives.
18513         * lib/printf-parse.c: Include <string.h>.
18514         (PRINTF_PARSE): Change memory handling code so that it uses the first
18515         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
18516         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
18517         Reported by Pádraig Brady <P@draigbrady.com>.
18518
18519 2011-01-31  Eric Blake  <eblake@redhat.com>
18520
18521         dup2: work around Haiku bug
18522         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
18523         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
18524         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18525         * tests/test-dup2.c (main): Enhance test.
18526
18527 2011-01-31  Simon Josefsson  <simon@josefsson.org>
18528
18529         doc: off_t is not available in eglibc 2.11.2 stdio.h.
18530         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
18531         declared by eglibc 2.11.2.
18532         * lib/stdio.in.h: Likewise.
18533
18534 2011-01-31  Eric Blake  <eblake@redhat.com>
18535
18536         ignore-value: add missing test dependency
18537         * tests/test-ignore-value.c: Revert previous change; stdio.h
18538         provides off_t.
18539         * modules/ignore-value-tests (Depends-on): Add missing dependency.
18540
18541 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18542
18543         mktime: clarify long_int width checking
18544         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
18545         the top level, to make it clearer that the assumption about
18546         long_int width is being checked.  See
18547         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
18548
18549 2011-01-30  Simon Josefsson  <simon@josefsson.org>
18550
18551         ignore-value: Fix self-test.
18552         * tests/test-ignore-value.c: Include sys/types.h for off_t.
18553
18554 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
18555
18556         TYPE_MAXIMUM: avoid theoretically undefined behavior
18557         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
18558         negative number, which the C Standard says has undefined behavior.
18559         In practice this is not a problem, but might as well do it by the book.
18560         Reported by Rich Felker and Eric Blake; see
18561         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
18562         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
18563         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
18564         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18565         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
18566         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18567         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
18568
18569         mktime: #undef mktime before #defining it
18570         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
18571
18572         mktime: systematically normalize tm_isdst comparisons
18573         * lib/mktime.c (isdst_differ): New function.
18574         (__mktime_internal): Use it systematically for all isdst comparisons.
18575         This completes the fix for libc BZ #6723, and removes the need for
18576         normalizing tm_isdst.  See
18577         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
18578         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
18579
18580         mktime: fix some integer overflow issues and sidestep the rest
18581
18582         This was prompted by a bug report by Benjamin Lindner for MinGW
18583         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
18584         His bug is due to signed integer overflow (0 - INT_MIN), and I
18585         I scanned through mktime.c looking for other integer overflow
18586         problems, fixing all the bugs I found.
18587
18588         Although the C Standard says the resulting code is still not safe
18589         in the presence of integer overflow, in practice it should be good
18590         enough for all real-world two's-complement implementations, except
18591         for debugging environments that deliberately trap on integer
18592         overflow (e.g., gcc -ftrapv).
18593
18594         * lib/mktime.c (WRAPV): New macro.
18595         (SHR): Also check that long_int and time_t shift right in the
18596         usual way, before using the fast-but-unportable method.
18597         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
18598         used.  The code already assumed two's complement, so there's
18599         no need to test for alternatives.  All uses removed.
18600         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
18601         the C standard.  Problem reported by Rich Felker in
18602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
18603         (twos_complement_arithmetic): Also check long_int and time_t.
18604         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
18605         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
18606         (__mktime_internal): Avoid integer overflow with unary subtraction
18607         in two instances where -1 - X is an adequate replacement for -X,
18608         since the calculations are approximate.
18609
18610 2011-01-29  Eric Blake  <eblake@redhat.com>
18611
18612         mktime: avoid infinite loop
18613         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
18614         type; behavior is still undefined but portable to all known targets.
18615         Reported by Rich Felker.
18616
18617 2011-01-29  Simon Josefsson  <simon@josefsson.org>
18618
18619         rename, unlink, same-inode: Relicense.
18620         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
18621         * modules/unlink (License): Likewise.
18622         * modules/same-inode (License): Likewise.
18623
18624 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
18625
18626         mktime: avoid problems on NetBSD 5 / i386
18627         * lib/mktime.c (long_int): New type.  This works around a problem
18628         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
18629         but time_t is 64 bits, and where I expect the existing code is
18630         wrong in some cases.
18631         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
18632         (ydhms_diff): Bring back the compile-time check for wide-enough
18633         year and yday.
18634
18635         mktime: fix misspelling in comment
18636         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
18637         This merges all recent glibc changes of importance.
18638
18639 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18640
18641         move-if-change: cope with concurrent mv of identical file.
18642         * build-aux/move-if-change (CMPPROG): Accept environment
18643         variable as an override for `cmp'.
18644         (usage): Document CMPPROG.
18645         Adjust comparison to drop stdout.  Cope with failure of mv if
18646         the target file exists and is identical to the source, for
18647         parallel builds.
18648         Report from H.J. Lu against binutils in PR binutils/12283.
18649
18650 2011-01-28  Bruce Korb  <bkorb@gnu.org>
18651
18652         * users.txt: Mention sharutils.
18653
18654 2011-01-28  Simon Josefsson  <simon@josefsson.org>
18655
18656         * users.txt: Mention OATH Toolkit.
18657
18658 2011-01-27  Bruno Haible  <bruno@clisp.org>
18659
18660         Prepare for supporting FreeBSD 10.
18661         * build-aux/config.libpath: Remove handling of freebsd1*.
18662
18663 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
18664
18665         Prepare for supporting FreeBSD 10.
18666         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
18667         match FreeBSD 10.0.
18668
18669 2011-01-27  Bruno Haible  <bruno@clisp.org>
18670
18671         vma-iter, get-rusage-as: Add OpenBSD support.
18672         * modules/vma-iter (configure.ac): Test for mquery.
18673         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
18674         * lib/vma-iter.c: Include <sys/mman.h>.
18675         (vma_iterate): Add an implementation based on mquery().
18676         * lib/resource-ext.h (get_rusage_as): Update comments.
18677         * lib/get-rusage-as.c: Likewise.
18678         * lib/get-rusage-data.c: Likewise.
18679
18680 2011-01-26  Karl Berry  <karl@gnu.org>
18681
18682         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
18683         variables to make it easier to override the makeinfo program used.
18684
18685 2011-01-26  Eric Blake  <eblake@redhat.com>
18686
18687         fcntl: work around Haiku F_DUPFD bugs
18688         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
18689         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
18690         cloexec bit on duplication.
18691         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
18692
18693 2011-01-26  Bruno Haible  <bruno@clisp.org>
18694
18695         Enable memory leak tests on AIX.
18696         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
18697         * tests/test-fprintf-posix3.c (main): Likewise.
18698
18699 2011-01-26  Bruno Haible  <bruno@clisp.org>
18700
18701         Tests for module 'get-rusage-data'.
18702         * modules/get-rusage-data-tests: New file.
18703         * tests/test-get-rusage-data.c: New file.
18704
18705         New module 'get-rusage-data'.
18706         * lib/resource-ext.h (get_rusage_data): New declaration.
18707         * lib/get-rusage-data.c: New file.
18708         * modules/get-rusage-data: New file.
18709
18710 2011-01-25  Bruno Haible  <bruno@clisp.org>
18711
18712         get-rusage-as: Allow for easier testing.
18713         * lib/resource-ext.h (get_rusage_as): Add comment.
18714         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
18715         (main): New function for interactive testing.
18716
18717 2011-01-25  Bruno Haible  <bruno@clisp.org>
18718
18719         vma-iter: Treat Haiku like BeOS.
18720         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
18721         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
18722
18723 2011-01-25  Eric Blake  <eblake@redhat.com>
18724
18725         c-stack: fix regression on cygwin when libsigsegv is present
18726         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
18727
18728 2011-01-24  Bruno Haible  <bruno@clisp.org>
18729
18730         vma-iter: Avoid empty intervals.
18731         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
18732         on an empty interval.
18733
18734 2011-01-24  Jim Meyering  <meyering@redhat.com>
18735
18736         u64: remove unnecessary #include
18737         * lib/u64.h: Don't include <stddef.h>.  It was not used.
18738
18739 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18740
18741         Allow the user to avoid the HAVE_RAW_DECL_* macros.
18742         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
18743
18744 2011-01-23  Bruno Haible  <bruno@clisp.org>
18745
18746         New module 'vma-iter'.
18747         * lib/vma-iter.h: New file.
18748         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
18749         * modules/vma-iter: New file.
18750         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
18751         for get_rusage_as_via_iterator.
18752         (vma_iterate_callback): New function.
18753         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
18754         * modules/get-rusage-as (Depends-on): Add vma-iter.
18755
18756 2011-01-23  Bruno Haible  <bruno@clisp.org>
18757
18758         uninorm: Tweak includes.
18759         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
18760         Reported by Jim Meyering.
18761
18762 2011-01-23  Bruno Haible  <bruno@clisp.org>
18763
18764         get-rusage-as: Improve on NetBSD.
18765         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
18766         /proc, like on FreeBSD.
18767
18768 2011-01-23  Jim Meyering  <meyering@redhat.com>
18769
18770         xreadlink.h: remove unnecessary #include
18771         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
18772
18773         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
18774         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
18775
18776 2011-01-23  Bruno Haible  <bruno@clisp.org>
18777
18778         get-rusage-as: Fix bug.
18779         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
18780         original limit when aborting the first loop.
18781
18782 2011-01-23  Bruno Haible  <bruno@clisp.org>
18783
18784         wctype: Ensure valid C syntax.
18785         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
18786         unconditionally, instead of gl_NEXT_HEADERS conditionally.
18787
18788 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
18789
18790         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
18791         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
18792         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
18793         as they are needed only for configure's test case.
18794         This removes two unnecessary symbols from config.h.
18795
18796         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
18797         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
18798         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
18799         AC_CHECK_HEADERS_ONCE on a header that we also invoke
18800         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
18801         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
18802         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
18803         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
18804         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18805         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18806         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18807         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18808         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18809         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18810         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
18811         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18812         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18813         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18814
18815 2011-01-21  Eric Blake  <eblake@redhat.com>
18816
18817         maintainer-makefile: work with older git for submodule check
18818         * top/maint.mk (public-submodule-commit): Rewrite to avoid
18819         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
18820         Reported by Matthias Bolte.
18821
18822         bootstrap: minor portability fixes
18823         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
18824         (usage): Omit leading capital and trailing . on help phrases, per
18825         GNU Coding Standards.
18826         (check_versions, top level): Prefix messages with script name.
18827
18828 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
18829
18830         bootstrap: support --no-git option
18831         * build-aux/bootstrap: Add --no-git option, to be used when
18832         --gnulib-srcdir points to the exact desired checkout.
18833
18834 2011-01-21  Eric Blake  <eblake@redhat.com>
18835
18836         strerror_r-posix: work with glibc 2.13
18837         * lib/strerror_r.c (strerror_r): Fix return type.
18838
18839 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18840             Bruno Haible  <bruno@clisp.org>
18841
18842         uN_strstr: New unit tests.
18843         * modules/unistr/u8-strstr-tests: New file.
18844         * modules/unistr/u16-strstr-tests: New file.
18845         * modules/unistr/u32-strstr-tests: New file.
18846         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
18847         * tests/unistr/test-u8-strstr.c: New file.
18848         * tests/unistr/test-u16-strstr.c: New file.
18849         * tests/unistr/test-u32-strstr.c: New file.
18850
18851 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18852             Bruno Haible  <bruno@clisp.org>
18853
18854         Make uN_strstr functions O(n) worst-case.
18855         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
18856         16-bit and 32-bit unit cases, use the unibyte algorithm from
18857         lib/mbsstr.c.
18858         * lib/unistr/u8-strstr.c: Include <string.h>.
18859         (UNIT_IS_UINT8_T): New macro.
18860         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
18861         (U_STRLEN, U_STRNLEN): New macros.
18862         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
18863         (U_STRLEN, U_STRNLEN): New macros.
18864         * modules/unistr/u8-strstr (Depends-on): Add strstr.
18865         (configure.ac): Update required libunistring version.
18866         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
18867         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
18868         malloca.
18869         (configure.ac): Update required libunistring version.
18870         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
18871         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
18872         malloca.
18873         (configure.ac): Update required libunistring version.
18874
18875 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18876             Bruno Haible  <bruno@clisp.org>
18877
18878         Prepare for faster uN_strstr functions.
18879         * lib/str-kmp.h: Support definable UNITs.
18880         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
18881         needle_len argument.
18882         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
18883         * lib/mbscasestr.c (mbscasestr): Likewise.
18884
18885 2011-01-21  Pádraig Brady <P@draigBrady.com>
18886
18887         malloca-tests: make faster by unsetting MALLOC_PERTURB_
18888         * tests/test-malloca.c (main): Unset the environment variable
18889         to greatly speed up the test.
18890         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
18891         * modules/malloca-tests: Depend on unsetenv.
18892
18893 2011-01-21  Pádraig Brady <P@draigBrady.com>
18894
18895         ignore-value: remove stdint dependency
18896         * lib/ignore-value.h: Remove <stdint.h>
18897         * modules/ignore-value: Remove stdint dependency.
18898
18899 2011-01-21  Jim Meyering  <meyering@redhat.com>
18900
18901         maint.mk: adjust variable name to be consistent with other gl_ vars
18902         * top/maint.mk (gl_public_submodule_commit): Rename the variable
18903         to be lower case.
18904
18905 2011-01-20  Jim Meyering  <meyering@redhat.com>
18906
18907         maint.mk: make "check" depend on public-submodule-commit by default
18908         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
18909
18910 2011-01-20  Bruno Haible  <bruno@clisp.org>
18911
18912         mbfile, mbiter: Complete change from 2008-12-21.
18913         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
18914         * m4/mbiter.m4 (gl_MBITER): Likewise.
18915
18916 2011-01-20  Jim Meyering  <meyering@redhat.com>
18917
18918         init.sh: insert space between each function name and "()"
18919         * tests/init.sh: Make it a little easier to see that a function's
18920         name is "warn_", and not "warn" when looking at the first part of
18921         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
18922
18923 2011-01-20  Jim Meyering  <meyering@redhat.com>
18924
18925         mountlist: clean up code formatting
18926         * lib/mountlist.c (read_file_system_list): Split a long line,
18927         correct bracing style, use NULL in place of "(struct statfs *)0",
18928         don't parenthesize return value, add spaces around "=" and after
18929         ";-in-for-stmt".
18930
18931 2011-01-14  Markus Duft <mduft@gentoo.org>
18932
18933         mountlist: add support for Interix
18934         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
18935         Apply statvfs to all entries of /dev/fs.
18936         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
18937         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
18938
18939 2011-01-20  Jim Meyering  <meyering@redhat.com>
18940
18941         maint.mk: improve the public-submodule-commit rule
18942         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
18943         to suppress printing of its commands... unless V=1.
18944         Add git submodule's --quiet option to suppress printing of e.g.,
18945         "Entering gnulib" output.
18946         "cd" into $(srcdir) before running git submodule.
18947
18948 2011-01-20  Bruno Haible  <bruno@clisp.org>
18949
18950         include_next: Fix bug introduced on 2011-01-18.
18951         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
18952         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
18953         ac_cv_header_... variable if the second argument is not 'check'.
18954         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
18955         gl_NEXT_HEADERS_INTERNAL.
18956
18957 2011-01-20  Bruno Haible  <bruno@clisp.org>
18958
18959         Allow the user to avoid the GNULIB_TEST_* macros.
18960         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
18961         Suggested by Paul Eggert.
18962
18963 2011-01-14  Jim Meyering  <meyering@redhat.com>
18964
18965         bootstrap: avoid failure when there is no .gitmodules file
18966         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
18967         has been assigned to, even when its value is the empty string.
18968         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
18969         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
18970         Reported by John W. Eaton <jwe@gnu.org>.
18971
18972 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
18973
18974         assume <ctype.h>, ..., <time.h> exist
18975         For years gnulib has been assuming the existence of the headers
18976         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
18977         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
18978         them, since they don't appear to be needed.
18979         * README (Portability guidelines): Document this.
18980         * lib/flock.c: Assume <fcntl.h> exists.
18981         * lib/regex_internal.h: Assume <locale.h> exists.
18982         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
18983         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
18984         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
18985         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
18986         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
18987         * m4/regex.m4 (gl_REGEX): Likewise.
18988         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
18989         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
18990         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
18991         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
18992         * tests/test-argp.c: Likewise.
18993         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
18994
18995         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
18996         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
18997         AA_APPLE_UNIVERSAL_BUILD.  See
18998         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
18999         * NEWS: Document this.
19000
19001 2011-01-19  Eric Blake  <eblake@redhat.com>
19002
19003         c-stack: assume stack overflow if SA_SIGINFO unsupported
19004         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19005         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19006         sigaction will work.
19007         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19008         behavior match Linux.
19009         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19010
19011         stdbool-tests: accomodate Haiku
19012         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19013
19014         binary-io: fix O_TEXT on Haiku
19015         * modules/binary-io (Depends-on): Add fcntl-h.
19016         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19017         than blindly undefining O_TEXT.
19018         Reported by Scott McCreary.
19019
19020 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19021
19022         include_next: do not check for standard headers like stddef.h
19023
19024         I found this problem when modifying Emacs to use gnulib.
19025         I noticed that it added HAVE_STDDEF_H to config.h, even though
19026         gnulib always assumes <stddef.h> exists as per README and this
19027         symbol is unnecessary.
19028         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19029         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19030         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19031         faster for headers like stddef.h that are known to exist.
19032         (gl_CHECK_NEXT_HEADERS): Use it.
19033         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19034         rather than gl_CHECK_NEXT_HEADERS.
19035         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19036         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19037
19038 2011-01-18  Eric Blake  <eblake@redhat.com>
19039
19040         ansi-c++-opt: skip C++ dependency style if C++ is unused
19041         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19042         tests when we know C++ compilation is not desired.
19043         Reported by Scott McCreary.
19044
19045 2011-01-18  Bruno Haible  <bruno@clisp.org>
19046
19047         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19048         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19049         (main): Perform test also when getrlimit and setrlimit don't exist or
19050         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19051         limiting the address space size using setrlimit, compare the address
19052         space size before and after the the test.
19053         * tests/test-dprintf-posix2.c: Likewise.
19054         * tests/test-fprintf-posix3.sh: Update skip messages.
19055         * tests/test-dprintf-posix2.sh: Likewise.
19056         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19057         * modules/dprintf-posix-tests (Depends-on): Likewise.
19058         Reported by Bruce Korb <bkorb@gnu.org> and
19059         Gary V. Vaughan <gary@gnu.org>.
19060
19061 2011-01-18  Bruno Haible  <bruno@clisp.org>
19062
19063         get-rusage-as: Improvement for Cygwin.
19064         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19065         areas that are merely reserved.
19066
19067 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19068
19069         strftime: remove dependencies on multibyte modules
19070
19071         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19072         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19073         only if __osf__ is defined, and I suspect OSF doesn't need these
19074         other modules.  If my guess is wrong, we'll need to come up with a
19075         variant of strftime that doesn't need the multibyte modules.
19076
19077         I discovered this problem when attempting modify Emacs to use the
19078         strftime module.  With the previous gnulib, this caused Emacs to
19079         need 31 new files, ranging from lib/config.charset to
19080         m4/wint_t.m4.  This was overkill and I expect would be offputting
19081         to the Emacs maintainers.  After this change, only 6 new files are
19082         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19083         stdbool.m4, and tm_gmtoff.m4.
19084
19085         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19086         Suggested by Bruno Haible in
19087         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19088         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19089         and do not check for wchar.h.
19090         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19091         (Depends-on): Remove mbrlen, mbsinit, wchar.
19092
19093 2011-01-18  Bruno Haible  <bruno@clisp.org>
19094
19095         Tests for module 'get-rusage-as'.
19096         * modules/get-rusage-as-tests: New file.
19097         * tests/test-get-rusage-as.c: New file.
19098
19099         New module 'get-rusage-as'.
19100         * modules/get-rusage-as: New file.
19101         * lib/resource-ext.h: New file.
19102         * lib/get-rusage-as.c: New file.
19103
19104 2011-01-17  Eric Blake  <eblake@redhat.com>
19105
19106         sigaction: relax license from LGPLv3+ to LGPLv2+
19107         * modules/sigaction (License): Relax to LGPLv2+.
19108
19109 2011-01-14  Bruno Haible  <bruno@clisp.org>
19110
19111         filemode: Make function declarations usable in C++ mode.
19112         * lib/filemode.h: Enclose function declarations in extern "C" block.
19113         Reported by John W. Eaton <jwe@gnu.org>.
19114
19115 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19116
19117         save-cwd: no longer include "xgetcwd.h"
19118         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19119         This avoids a compilation failure in projects that use save-cwd
19120         without also using the xgetcwd module.
19121
19122 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19123
19124         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19125         This is so that a program like Emacs, which needs only dtoastr,
19126         does not have to bother with distributing and compiling ftoastr
19127         and ldtoastr.
19128         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19129         * modules/dtoastr, modules/ldtoastr: New files.
19130         * modules/ftoastr: Now works just for 'float'.
19131         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19132         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19133         dtoastr.c, ldtoastr.c.
19134
19135 2011-01-11  Jim Meyering  <meyering@redhat.com>
19136
19137         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19138         There is no need to work around the lack of the fchdir function,
19139         since gnulib can now provide a replacement when required.
19140         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19141         * modules/save-cwd (Depends-on): Add fchdir.
19142
19143 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19144
19145         openat, save-cwd: avoid xmalloc
19146
19147         This removes a direct (but undocumented) dependency of openat on
19148         xalloc, along with an indirect dependency via save-cwd.  It also
19149         removes a dependency of save-cwd on xgetcwd, and thereby
19150         indirectly on xalloc.  This change causes the openat substitute
19151         to fall back on save_cwd when memory is tight, and for save_cwd to
19152         fail instead of dying when memory is tight, but that's good enough.
19153         Problem and initial idea for fix reported by Bastien Roucaries in
19154         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
19155
19156         * lib/openat-proc.c: Include stdlib.h (for malloc), not
19157         xalloc.h (for xmalloc).
19158         (openat_proc_name): Use malloc, not xmalloc.
19159         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
19160         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
19161
19162         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
19163         This avoids heap allocation for file names whose lengths are in
19164         the range 512..1023, with the upper bound increasing to at most
19165         4031 depending on the platform's PATH_MAX.  (We do not want
19166         pathmax.h here as it might supply a non-constant PATH_MAX.)
19167         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
19168         Perhaps they should be moved to malloca.h?
19169         (OPENAT_BUFFER_SIZE): Use them.
19170
19171 2011-01-10  Bruno Haible  <bruno@clisp.org>
19172
19173         doc: Update users.txt.
19174         * users.txt: Add recutils.
19175
19176 2011-01-09  Karl Berry  <karl@gnu.org>
19177
19178         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19179
19180         * doc/configmake.texi: New file.
19181         * doc/gnulib.texi: Include it.
19182         * modules/configmake: Move documentation from here.
19183
19184 2011-01-09  Bruno Haible  <bruno@clisp.org>
19185
19186         Update to Unicode 6.0.0.
19187         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
19188         (get_lbp): Update for Unicode 6.0.0.
19189         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
19190         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
19191         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
19192         U+11001, U+11038..U+11046. Remove U+06DE.
19193         (uc_width): Fix bounds of planes.
19194         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19195         lib/uniwidth/width.c.
19196         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
19197         trailing whitespace removed.
19198         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
19199         without comments, but with the original copyright notice.
19200         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
19201         * lib/unicase/ignorable.h: Likewise.
19202         * lib/unicase/tocasefold.h: Likewise.
19203         * lib/unicase/tolower.h: Likewise.
19204         * lib/unicase/totitle.h: Likewise.
19205         * lib/unicase/toupper.h: Likewise.
19206         * lib/unictype/bidi_of.h: Likewise.
19207         * lib/unictype/blocks.h: Likewise.
19208         * lib/unictype/categ_C.h: Likewise.
19209         * lib/unictype/categ_Cn.h: Likewise.
19210         * lib/unictype/categ_L.h: Likewise.
19211         * lib/unictype/categ_Ll.h: Likewise.
19212         * lib/unictype/categ_Lm.h: Likewise.
19213         * lib/unictype/categ_Lo.h: Likewise.
19214         * lib/unictype/categ_Lu.h: Likewise.
19215         * lib/unictype/categ_M.h: Likewise.
19216         * lib/unictype/categ_Mc.h: Likewise.
19217         * lib/unictype/categ_Me.h: Likewise.
19218         * lib/unictype/categ_Mn.h: Likewise.
19219         * lib/unictype/categ_N.h: Likewise.
19220         * lib/unictype/categ_Nd.h: Likewise.
19221         * lib/unictype/categ_No.h: Likewise.
19222         * lib/unictype/categ_P.h: Likewise.
19223         * lib/unictype/categ_Po.h: Likewise.
19224         * lib/unictype/categ_S.h: Likewise.
19225         * lib/unictype/categ_Sc.h: Likewise.
19226         * lib/unictype/categ_Sk.h: Likewise.
19227         * lib/unictype/categ_Sm.h: Likewise.
19228         * lib/unictype/categ_So.h: Likewise.
19229         * lib/unictype/categ_of.h: Likewise.
19230         * lib/unictype/combining.h: Likewise.
19231         * lib/unictype/ctype_alnum.h: Likewise.
19232         * lib/unictype/ctype_alpha.h: Likewise.
19233         * lib/unictype/ctype_graph.h: Likewise.
19234         * lib/unictype/ctype_lower.h: Likewise.
19235         * lib/unictype/ctype_print.h: Likewise.
19236         * lib/unictype/ctype_punct.h: Likewise.
19237         * lib/unictype/ctype_upper.h: Likewise.
19238         * lib/unictype/decdigit.h: Likewise.
19239         * lib/unictype/digit.h: Likewise.
19240         * lib/unictype/numeric.h: Likewise.
19241         * lib/unictype/pr_alphabetic.h: Likewise.
19242         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19243         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19244         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19245         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19246         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19247         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19248         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19249         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19250         * lib/unictype/pr_case_ignorable.h: Likewise.
19251         * lib/unictype/pr_cased.h: Likewise.
19252         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
19253         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
19254         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
19255         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
19256         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
19257         * lib/unictype/pr_combining.h: Likewise.
19258         * lib/unictype/pr_composite.h: Likewise.
19259         * lib/unictype/pr_currency_symbol.h: Likewise.
19260         * lib/unictype/pr_decimal_digit.h: Likewise.
19261         * lib/unictype/pr_deprecated.h: Likewise.
19262         * lib/unictype/pr_format_control.h: Likewise.
19263         * lib/unictype/pr_grapheme_base.h: Likewise.
19264         * lib/unictype/pr_grapheme_extend.h: Likewise.
19265         * lib/unictype/pr_grapheme_link.h: Likewise.
19266         * lib/unictype/pr_id_continue.h: Likewise.
19267         * lib/unictype/pr_id_start.h: Likewise.
19268         * lib/unictype/pr_ideographic.h: Likewise.
19269         * lib/unictype/pr_lowercase.h: Likewise.
19270         * lib/unictype/pr_math.h: Likewise.
19271         * lib/unictype/pr_numeric.h: Likewise.
19272         * lib/unictype/pr_other_alphabetic.h: Likewise.
19273         * lib/unictype/pr_other_id_continue.h: Likewise.
19274         * lib/unictype/pr_other_math.h: Likewise.
19275         * lib/unictype/pr_punctuation.h: Likewise.
19276         * lib/unictype/pr_sentence_terminal.h: Likewise.
19277         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19278         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19279         * lib/unictype/pr_unified_ideograph.h: Likewise.
19280         * lib/unictype/pr_uppercase.h: Likewise.
19281         * lib/unictype/pr_xid_continue.h: Likewise.
19282         * lib/unictype/pr_xid_start.h: Likewise.
19283         * lib/unictype/scripts.h: Likewise.
19284         * lib/unictype/scripts_byname.gperf: Likewise.
19285         * lib/unictype/sy_java_ident.h: Likewise.
19286         * lib/unigbrk/gbrkprop.h: Likewise.
19287         * lib/unilbrk/lbrkprop1.h: Likewise.
19288         * lib/unilbrk/lbrkprop2.h: Likewise.
19289         * lib/uninorm/decomposition-table2.h: Likewise.
19290         * lib/uniwbrk/wbrkprop.h: Likewise.
19291         * tests/unicase/test-cased.c: Likewise.
19292         * tests/unicase/test-ignorable.c: Likewise.
19293         * tests/unicase/test-uc_tolower.c: Likewise.
19294         * tests/unicase/test-uc_totitle.c: Likewise.
19295         * tests/unicase/test-uc_toupper.c: Likewise.
19296         * tests/unictype/test-categ_C.c: Likewise.
19297         * tests/unictype/test-categ_Cn.c: Likewise.
19298         * tests/unictype/test-categ_L.c: Likewise.
19299         * tests/unictype/test-categ_Ll.c: Likewise.
19300         * tests/unictype/test-categ_Lm.c: Likewise.
19301         * tests/unictype/test-categ_Lo.c: Likewise.
19302         * tests/unictype/test-categ_Lu.c: Likewise.
19303         * tests/unictype/test-categ_M.c: Likewise.
19304         * tests/unictype/test-categ_Mc.c: Likewise.
19305         * tests/unictype/test-categ_Me.c: Likewise.
19306         * tests/unictype/test-categ_Mn.c: Likewise.
19307         * tests/unictype/test-categ_N.c: Likewise.
19308         * tests/unictype/test-categ_Nd.c: Likewise.
19309         * tests/unictype/test-categ_No.c: Likewise.
19310         * tests/unictype/test-categ_P.c: Likewise.
19311         * tests/unictype/test-categ_Po.c: Likewise.
19312         * tests/unictype/test-categ_S.c: Likewise.
19313         * tests/unictype/test-categ_Sc.c: Likewise.
19314         * tests/unictype/test-categ_Sk.c: Likewise.
19315         * tests/unictype/test-categ_Sm.c: Likewise.
19316         * tests/unictype/test-categ_So.c: Likewise.
19317         * tests/unictype/test-ctype_alnum.c: Likewise.
19318         * tests/unictype/test-ctype_alpha.c: Likewise.
19319         * tests/unictype/test-ctype_graph.c: Likewise.
19320         * tests/unictype/test-ctype_lower.c: Likewise.
19321         * tests/unictype/test-ctype_print.c: Likewise.
19322         * tests/unictype/test-ctype_punct.c: Likewise.
19323         * tests/unictype/test-ctype_upper.c: Likewise.
19324         * tests/unictype/test-decdigit.h: Likewise.
19325         * tests/unictype/test-digit.h: Likewise.
19326         * tests/unictype/test-numeric.h: Likewise.
19327         * tests/unictype/test-pr_alphabetic.c: Likewise.
19328         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19329         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
19330         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
19331         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19332         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19333         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19334         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19335         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19336         * tests/unictype/test-pr_case_ignorable.c: Likewise.
19337         * tests/unictype/test-pr_cased.c: Likewise.
19338         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
19339         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
19340         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
19341         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
19342         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
19343         * tests/unictype/test-pr_combining.c: Likewise.
19344         * tests/unictype/test-pr_composite.c: Likewise.
19345         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19346         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19347         * tests/unictype/test-pr_deprecated.c: Likewise.
19348         * tests/unictype/test-pr_format_control.c: Likewise.
19349         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19350         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19351         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19352         * tests/unictype/test-pr_id_continue.c: Likewise.
19353         * tests/unictype/test-pr_id_start.c: Likewise.
19354         * tests/unictype/test-pr_ideographic.c: Likewise.
19355         * tests/unictype/test-pr_lowercase.c: Likewise.
19356         * tests/unictype/test-pr_math.c: Likewise.
19357         * tests/unictype/test-pr_numeric.c: Likewise.
19358         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19359         * tests/unictype/test-pr_other_id_continue.c: Likewise.
19360         * tests/unictype/test-pr_other_math.c: Likewise.
19361         * tests/unictype/test-pr_punctuation.c: Likewise.
19362         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19363         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19364         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19365         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19366         * tests/unictype/test-pr_uppercase.c: Likewise.
19367         * tests/unictype/test-pr_xid_continue.c: Likewise.
19368         * tests/unictype/test-pr_xid_start.c: Likewise.
19369         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19370         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19371         changes.
19372         * lib/unictype/categ_Cc.h: Likewise.
19373         * lib/unictype/categ_Cf.h: Likewise.
19374         * lib/unictype/categ_Co.h: Likewise.
19375         * lib/unictype/categ_Cs.h: Likewise.
19376         * lib/unictype/categ_Lt.h: Likewise.
19377         * lib/unictype/categ_Nl.h: Likewise.
19378         * lib/unictype/categ_Pc.h: Likewise.
19379         * lib/unictype/categ_Pd.h: Likewise.
19380         * lib/unictype/categ_Pe.h: Likewise.
19381         * lib/unictype/categ_Pf.h: Likewise.
19382         * lib/unictype/categ_Pi.h: Likewise.
19383         * lib/unictype/categ_Ps.h: Likewise.
19384         * lib/unictype/categ_Z.h: Likewise.
19385         * lib/unictype/categ_Zl.h: Likewise.
19386         * lib/unictype/categ_Zp.h: Likewise.
19387         * lib/unictype/categ_Zs.h: Likewise.
19388         * lib/unictype/ctype_blank.h: Likewise.
19389         * lib/unictype/ctype_cntrl.h: Likewise.
19390         * lib/unictype/ctype_digit.h: Likewise.
19391         * lib/unictype/ctype_space.h: Likewise.
19392         * lib/unictype/ctype_xdigit.h: Likewise.
19393         * lib/unictype/mirror.h: Likewise.
19394         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19395         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19396         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19397         * lib/unictype/pr_bidi_control.h: Likewise.
19398         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19399         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19400         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19401         * lib/unictype/pr_bidi_pdf.h: Likewise.
19402         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19403         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19404         * lib/unictype/pr_dash.h: Likewise.
19405         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19406         * lib/unictype/pr_diacritic.h: Likewise.
19407         * lib/unictype/pr_extender.h: Likewise.
19408         * lib/unictype/pr_hex_digit.h: Likewise.
19409         * lib/unictype/pr_hyphen.h: Likewise.
19410         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19411         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19412         * lib/unictype/pr_ignorable_control.h: Likewise.
19413         * lib/unictype/pr_iso_control.h: Likewise.
19414         * lib/unictype/pr_join_control.h: Likewise.
19415         * lib/unictype/pr_left_of_pair.h: Likewise.
19416         * lib/unictype/pr_line_separator.h: Likewise.
19417         * lib/unictype/pr_logical_order_exception.h: Likewise.
19418         * lib/unictype/pr_non_break.h: Likewise.
19419         * lib/unictype/pr_not_a_character.h: Likewise.
19420         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19421         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19422         * lib/unictype/pr_other_id_start.h: Likewise.
19423         * lib/unictype/pr_other_lowercase.h: Likewise.
19424         * lib/unictype/pr_other_uppercase.h: Likewise.
19425         * lib/unictype/pr_paired_punctuation.h: Likewise.
19426         * lib/unictype/pr_paragraph_separator.h: Likewise.
19427         * lib/unictype/pr_pattern_syntax.h: Likewise.
19428         * lib/unictype/pr_pattern_white_space.h: Likewise.
19429         * lib/unictype/pr_private_use.h: Likewise.
19430         * lib/unictype/pr_quotation_mark.h: Likewise.
19431         * lib/unictype/pr_radical.h: Likewise.
19432         * lib/unictype/pr_soft_dotted.h: Likewise.
19433         * lib/unictype/pr_space.h: Likewise.
19434         * lib/unictype/pr_titlecase.h: Likewise.
19435         * lib/unictype/pr_variation_selector.h: Likewise.
19436         * lib/unictype/pr_white_space.h: Likewise.
19437         * lib/unictype/pr_zero_width.h: Likewise.
19438         * lib/unictype/sy_c_ident.h: Likewise.
19439         * lib/unictype/sy_c_whitespace.h: Likewise.
19440         * lib/unictype/sy_java_whitespace.h: Likewise.
19441         * lib/uninorm/composition-table.gperf: Likewise.
19442         * lib/uninorm/decomposition-table1.h: Likewise.
19443         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
19444         LB8.
19445         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19446         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19447         * modules/unictype/*: Bump version number of expected libunistring
19448         version.
19449
19450 2011-01-09  Bruno Haible  <bruno@clisp.org>
19451
19452         Update to Unicode 5.2.0.
19453         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
19454         trailing whitespace removed.
19455
19456 2011-01-09  Bruno Haible  <bruno@clisp.org>
19457
19458         New Unicode character properties, from Unicode 5.2.0.
19459         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
19460         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
19461         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
19462         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
19463         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
19464         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
19465         uc_is_property_cased, uc_is_property_case_ignorable,
19466         uc_is_property_changes_when_lowercased,
19467         uc_is_property_changes_when_uppercased,
19468         uc_is_property_changes_when_titlecased,
19469         uc_is_property_changes_when_casefolded,
19470         uc_is_property_changes_when_casemapped): New declarations.
19471         * lib/unictype/pr_byname.gperf: Add the new properties.
19472         * modules/unictype/property-byname (Depends-on): Depend on the new
19473         properties modules.
19474         * modules/unictype/property-all (Depends-on): Likewise.
19475         * MODULES.html.sh (Unicode string functions): Add
19476         unictype/property-case-ignorable, unictype/property-cased,
19477         unictype/property-changes-when-casefolded,
19478         unictype/property-changes-when-casemapped,
19479         unictype/property-changes-when-lowercased,
19480         unictype/property-changes-when-titlecased,
19481         unictype/property-changes-when-uppercased.
19482
19483         New module 'unictype/property-changes-when-casemapped'.
19484         * modules/unictype/property-changes-when-casemapped: New file.
19485         * lib/unictype/pr_changes_when_casemapped.c: New file.
19486         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
19487         generated by gen-uni-tables.
19488         * modules/unictype/property-changes-when-casemapped-tests: New file.
19489         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
19490         automatically generated by gen-uni-tables.
19491
19492         New module 'unictype/property-changes-when-casefolded'.
19493         * modules/unictype/property-changes-when-casefolded: New file.
19494         * lib/unictype/pr_changes_when_casefolded.c: New file.
19495         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
19496         generated by gen-uni-tables.
19497         * modules/unictype/property-changes-when-casefolded-tests: New file.
19498         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
19499         automatically generated by gen-uni-tables.
19500
19501         New module 'unictype/property-changes-when-titlecased'.
19502         * modules/unictype/property-changes-when-titlecased: New file.
19503         * lib/unictype/pr_changes_when_titlecased.c: New file.
19504         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
19505         generated by gen-uni-tables.
19506         * modules/unictype/property-changes-when-titlecased-tests: New file.
19507         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
19508         automatically generated by gen-uni-tables.
19509
19510         New module 'unictype/property-changes-when-uppercased'.
19511         * modules/unictype/property-changes-when-uppercased: New file.
19512         * lib/unictype/pr_changes_when_uppercased.c: New file.
19513         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
19514         generated by gen-uni-tables.
19515         * modules/unictype/property-changes-when-uppercased-tests: New file.
19516         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
19517         automatically generated by gen-uni-tables.
19518
19519         New module 'unictype/property-changes-when-lowercased'.
19520         * modules/unictype/property-changes-when-lowercased: New file.
19521         * lib/unictype/pr_changes_when_lowercased.c: New file.
19522         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
19523         generated by gen-uni-tables.
19524         * modules/unictype/property-changes-when-lowercased-tests: New file.
19525         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
19526         automatically generated by gen-uni-tables.
19527
19528         New module 'unictype/property-case-ignorable'.
19529         * modules/unictype/property-case-ignorable: New file.
19530         * lib/unictype/pr_case_ignorable.c: New file.
19531         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
19532         by gen-uni-tables.
19533         * modules/unictype/property-case-ignorable-tests: New file.
19534         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
19535         generated by gen-uni-tables.
19536
19537         New module 'unictype/property-cased'.
19538         * modules/unictype/property-cased: New file.
19539         * lib/unictype/pr_cased.c: New file.
19540         * lib/unictype/pr_cased.h: New file, automatically generated by
19541         gen-uni-tables.
19542         * modules/unictype/property-cased-tests: New file.
19543         * tests/unictype/test-pr_cased.c: New file, automatically generated by
19544         gen-uni-tables.
19545
19546 2011-01-09  Bruno Haible  <bruno@clisp.org>
19547
19548         Update to Unicode 5.2.0.
19549         * lib/gen-uni-tables.c (output_predicate, output_category,
19550         output_combclass, output_bidi_category, output_decimal_digit_test,
19551         output_decimal_digit, output_digit_test, output_digit,
19552         output_numeric_test, output_numeric, output_mirror, output_scripts,
19553         output_scripts_byname, output_blocks, output_ident_category): Fix
19554         comment header.
19555         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
19556         get_wbp.
19557         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
19558         items.
19559         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
19560         Changes_When_Lowercased, Changes_When_Uppercased,
19561         Changes_When_Titlecased, Changes_When_Casefolded,
19562         Changes_When_Casemapped.
19563         (is_property_alphabetic, is_property_default_ignorable_code_point):
19564         Update for Unicode 5.2.0.
19565         (is_property_cased, is_property_case_ignorable,
19566         is_property_changes_when_lowercased,
19567         is_property_changes_when_uppercased,
19568         is_property_changes_when_titlecased,
19569         is_property_changes_when_casefolded,
19570         is_property_changes_when_casemapped): New functions.
19571         (output_properties): Output also the properties cased, case_ignorable,
19572         changes_when_lowercased, changes_when_uppercased,
19573         changes_when_titlecased, changes_when_casefolded,
19574         changes_when_casemapped.
19575         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
19576         Unicode TR#11 revision 17 -> 19.
19577         (LBP_CP): New enumeration value.
19578         (LBP_*): Adjust values accordingly.
19579         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19580         TR#14 revision 22 -> 24.
19581         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
19582         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
19583         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19584         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
19585         is_WBP_MIDLETTER.
19586         (output_composition_tables): Allow for 24 bits instead of 16 bits in
19587         the code1 and code2 of each composition rule.
19588         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
19589         * lib/unicase/ignorable.h: Likewise.
19590         * lib/unicase/tocasefold.h: Likewise.
19591         * lib/unicase/tolower.h: Likewise.
19592         * lib/unicase/totitle.h: Likewise.
19593         * lib/unicase/toupper.h: Likewise.
19594         * lib/unictype/bidi_of.h: Likewise.
19595         * lib/unictype/blocks.h: Likewise.
19596         * lib/unictype/categ_C.h: Likewise.
19597         * lib/unictype/categ_Cf.h: Likewise.
19598         * lib/unictype/categ_Cn.h: Likewise.
19599         * lib/unictype/categ_L.h: Likewise.
19600         * lib/unictype/categ_Ll.h: Likewise.
19601         * lib/unictype/categ_Lm.h: Likewise.
19602         * lib/unictype/categ_Lo.h: Likewise.
19603         * lib/unictype/categ_Lu.h: Likewise.
19604         * lib/unictype/categ_M.h: Likewise.
19605         * lib/unictype/categ_Mc.h: Likewise.
19606         * lib/unictype/categ_Mn.h: Likewise.
19607         * lib/unictype/categ_N.h: Likewise.
19608         * lib/unictype/categ_Nd.h: Likewise.
19609         * lib/unictype/categ_Nl.h: Likewise.
19610         * lib/unictype/categ_No.h: Likewise.
19611         * lib/unictype/categ_P.h: Likewise.
19612         * lib/unictype/categ_Pd.h: Likewise.
19613         * lib/unictype/categ_Po.h: Likewise.
19614         * lib/unictype/categ_S.h: Likewise.
19615         * lib/unictype/categ_Sc.h: Likewise.
19616         * lib/unictype/categ_So.h: Likewise.
19617         * lib/unictype/categ_of.h: Likewise.
19618         * lib/unictype/combining.h: Likewise.
19619         * lib/unictype/ctype_alnum.h: Likewise.
19620         * lib/unictype/ctype_alpha.h: Likewise.
19621         * lib/unictype/ctype_graph.h: Likewise.
19622         * lib/unictype/ctype_lower.h: Likewise.
19623         * lib/unictype/ctype_print.h: Likewise.
19624         * lib/unictype/ctype_punct.h: Likewise.
19625         * lib/unictype/ctype_upper.h: Likewise.
19626         * lib/unictype/decdigit.h: Likewise.
19627         * lib/unictype/digit.h: Likewise.
19628         * lib/unictype/numeric.h: Likewise.
19629         * lib/unictype/pr_alphabetic.h: Likewise.
19630         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19631         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19632         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19633         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19634         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19635         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19636         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19637         * lib/unictype/pr_combining.h: Likewise.
19638         * lib/unictype/pr_composite.h: Likewise.
19639         * lib/unictype/pr_currency_symbol.h: Likewise.
19640         * lib/unictype/pr_dash.h: Likewise.
19641         * lib/unictype/pr_decimal_digit.h: Likewise.
19642         * lib/unictype/pr_deprecated.h: Likewise.
19643         * lib/unictype/pr_diacritic.h: Likewise.
19644         * lib/unictype/pr_extender.h: Likewise.
19645         * lib/unictype/pr_grapheme_base.h: Likewise.
19646         * lib/unictype/pr_grapheme_extend.h: Likewise.
19647         * lib/unictype/pr_grapheme_link.h: Likewise.
19648         * lib/unictype/pr_id_continue.h: Likewise.
19649         * lib/unictype/pr_id_start.h: Likewise.
19650         * lib/unictype/pr_ideographic.h: Likewise.
19651         * lib/unictype/pr_ignorable_control.h: Likewise.
19652         * lib/unictype/pr_logical_order_exception.h: Likewise.
19653         * lib/unictype/pr_lowercase.h: Likewise.
19654         * lib/unictype/pr_numeric.h: Likewise.
19655         * lib/unictype/pr_other_alphabetic.h: Likewise.
19656         * lib/unictype/pr_punctuation.h: Likewise.
19657         * lib/unictype/pr_sentence_terminal.h: Likewise.
19658         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19659         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19660         * lib/unictype/pr_unified_ideograph.h: Likewise.
19661         * lib/unictype/pr_uppercase.h: Likewise.
19662         * lib/unictype/pr_xid_continue.h: Likewise.
19663         * lib/unictype/pr_xid_start.h: Likewise.
19664         * lib/unictype/pr_zero_width.h: Likewise.
19665         * lib/unictype/scripts.h: Likewise.
19666         * lib/unictype/scripts_byname.gperf: Likewise.
19667         * lib/unictype/sy_java_ident.h: Likewise.
19668         * lib/unigbrk/gbrkprop.h: Likewise.
19669         * lib/unilbrk/lbrkprop1.h: Likewise.
19670         * lib/unilbrk/lbrkprop2.h: Likewise.
19671         * lib/unilbrk/lbrktables.h: Likewise.
19672         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
19673         LBP_CP. Implement rule LB30.
19674         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
19675         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
19676         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
19677         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
19678         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
19679         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
19680         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
19681         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
19682         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
19683         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
19684         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
19685         bits instead of 16 bits in the code1 and code2 of each composition
19686         rule.
19687         (uc_composition): Update for Unicode 5.2.0.
19688         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
19689         * lib/uninorm/decomposition-table2.h: Likewise.
19690         * lib/uniwbrk/wbrkprop.h: Likewise.
19691         * tests/unicase/test-cased.c: Likewise.
19692         * tests/unicase/test-ignorable.c: Likewise.
19693         * tests/unicase/test-uc_tolower.c: Likewise.
19694         * tests/unicase/test-uc_totitle.c: Likewise.
19695         * tests/unicase/test-uc_toupper.c: Likewise.
19696         * tests/unictype/test-categ_C.c: Likewise.
19697         * tests/unictype/test-categ_Cf.c: Likewise.
19698         * tests/unictype/test-categ_Cn.c: Likewise.
19699         * tests/unictype/test-categ_L.c: Likewise.
19700         * tests/unictype/test-categ_Ll.c: Likewise.
19701         * tests/unictype/test-categ_Lm.c: Likewise.
19702         * tests/unictype/test-categ_Lo.c: Likewise.
19703         * tests/unictype/test-categ_Lu.c: Likewise.
19704         * tests/unictype/test-categ_M.c: Likewise.
19705         * tests/unictype/test-categ_Mc.c: Likewise.
19706         * tests/unictype/test-categ_Mn.c: Likewise.
19707         * tests/unictype/test-categ_N.c: Likewise.
19708         * tests/unictype/test-categ_Nd.c: Likewise.
19709         * tests/unictype/test-categ_Nl.c: Likewise.
19710         * tests/unictype/test-categ_No.c: Likewise.
19711         * tests/unictype/test-categ_P.c: Likewise.
19712         * tests/unictype/test-categ_Pd.c: Likewise.
19713         * tests/unictype/test-categ_Po.c: Likewise.
19714         * tests/unictype/test-categ_S.c: Likewise.
19715         * tests/unictype/test-categ_Sc.c: Likewise.
19716         * tests/unictype/test-categ_So.c: Likewise.
19717         * tests/unictype/test-ctype_alnum.c: Likewise.
19718         * tests/unictype/test-ctype_alpha.c: Likewise.
19719         * tests/unictype/test-ctype_graph.c: Likewise.
19720         * tests/unictype/test-ctype_lower.c: Likewise.
19721         * tests/unictype/test-ctype_print.c: Likewise.
19722         * tests/unictype/test-ctype_punct.c: Likewise.
19723         * tests/unictype/test-ctype_upper.c: Likewise.
19724         * tests/unictype/test-decdigit.h: Likewise.
19725         * tests/unictype/test-digit.h: Likewise.
19726         * tests/unictype/test-numeric.h: Likewise.
19727         * tests/unictype/test-pr_alphabetic.c: Likewise.
19728         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19729         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19730         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
19731         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19732         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19733         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19734         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19735         * tests/unictype/test-pr_combining.c: Likewise.
19736         * tests/unictype/test-pr_composite.c: Likewise.
19737         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19738         * tests/unictype/test-pr_dash.c: Likewise.
19739         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19740         * tests/unictype/test-pr_deprecated.c: Likewise.
19741         * tests/unictype/test-pr_diacritic.c: Likewise.
19742         * tests/unictype/test-pr_extender.c: Likewise.
19743         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19744         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19745         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19746         * tests/unictype/test-pr_id_continue.c: Likewise.
19747         * tests/unictype/test-pr_id_start.c: Likewise.
19748         * tests/unictype/test-pr_ideographic.c: Likewise.
19749         * tests/unictype/test-pr_ignorable_control.c: Likewise.
19750         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
19751         * tests/unictype/test-pr_lowercase.c: Likewise.
19752         * tests/unictype/test-pr_numeric.c: Likewise.
19753         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19754         * tests/unictype/test-pr_punctuation.c: Likewise.
19755         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19756         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19757         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19758         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19759         * tests/unictype/test-pr_uppercase.c: Likewise.
19760         * tests/unictype/test-pr_xid_continue.c: Likewise.
19761         * tests/unictype/test-pr_xid_start.c: Likewise.
19762         * tests/unictype/test-pr_zero_width.c: Likewise.
19763         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19764         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
19765         changed behaviour: line breaking is now disallowed between a letter
19766         or '=' and '('.
19767         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19768         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19769         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
19770         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
19771         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19772         lib/uniwidth/width.c.
19773         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
19774         without comments, but with the original copyright notice.
19775         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19776         changes.
19777         * lib/unictype/categ_Cc.h: Likewise.
19778         * lib/unictype/categ_Co.h: Likewise.
19779         * lib/unictype/categ_Cs.h: Likewise.
19780         * lib/unictype/categ_Lt.h: Likewise.
19781         * lib/unictype/categ_Me.h: Likewise.
19782         * lib/unictype/categ_Pc.h: Likewise.
19783         * lib/unictype/categ_Pe.h: Likewise.
19784         * lib/unictype/categ_Pf.h: Likewise.
19785         * lib/unictype/categ_Pi.h: Likewise.
19786         * lib/unictype/categ_Ps.h: Likewise.
19787         * lib/unictype/categ_Sk.h: Likewise.
19788         * lib/unictype/categ_Sm.h: Likewise.
19789         * lib/unictype/categ_Z.h: Likewise.
19790         * lib/unictype/categ_Zl.h: Likewise.
19791         * lib/unictype/categ_Zp.h: Likewise.
19792         * lib/unictype/categ_Zs.h: Likewise.
19793         * lib/unictype/ctype_blank.h: Likewise.
19794         * lib/unictype/ctype_cntrl.h: Likewise.
19795         * lib/unictype/ctype_digit.h: Likewise.
19796         * lib/unictype/ctype_space.h: Likewise.
19797         * lib/unictype/ctype_xdigit.h: Likewise.
19798         * lib/unictype/mirror.h: Likewise.
19799         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19800         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19801         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19802         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19803         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19804         * lib/unictype/pr_bidi_control.h: Likewise.
19805         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19806         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19807         * lib/unictype/pr_bidi_pdf.h: Likewise.
19808         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19809         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19810         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19811         * lib/unictype/pr_format_control.h: Likewise.
19812         * lib/unictype/pr_hex_digit.h: Likewise.
19813         * lib/unictype/pr_hyphen.h: Likewise.
19814         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19815         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19816         * lib/unictype/pr_iso_control.h: Likewise.
19817         * lib/unictype/pr_join_control.h: Likewise.
19818         * lib/unictype/pr_left_of_pair.h: Likewise.
19819         * lib/unictype/pr_line_separator.h: Likewise.
19820         * lib/unictype/pr_math.h: Likewise.
19821         * lib/unictype/pr_non_break.h: Likewise.
19822         * lib/unictype/pr_not_a_character.h: Likewise.
19823         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19824         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19825         * lib/unictype/pr_other_id_continue.h: Likewise.
19826         * lib/unictype/pr_other_id_start.h: Likewise.
19827         * lib/unictype/pr_other_lowercase.h: Likewise.
19828         * lib/unictype/pr_other_math.h: Likewise.
19829         * lib/unictype/pr_other_uppercase.h: Likewise.
19830         * lib/unictype/pr_paired_punctuation.h: Likewise.
19831         * lib/unictype/pr_paragraph_separator.h: Likewise.
19832         * lib/unictype/pr_pattern_syntax.h: Likewise.
19833         * lib/unictype/pr_pattern_white_space.h: Likewise.
19834         * lib/unictype/pr_private_use.h: Likewise.
19835         * lib/unictype/pr_quotation_mark.h: Likewise.
19836         * lib/unictype/pr_radical.h: Likewise.
19837         * lib/unictype/pr_soft_dotted.h: Likewise.
19838         * lib/unictype/pr_space.h: Likewise.
19839         * lib/unictype/pr_titlecase.h: Likewise.
19840         * lib/unictype/pr_variation_selector.h: Likewise.
19841         * lib/unictype/pr_white_space.h: Likewise.
19842         * lib/unictype/sy_c_ident.h: Likewise.
19843         * lib/unictype/sy_c_whitespace.h: Likewise.
19844         * lib/unictype/sy_java_whitespace.h: Likewise.
19845         * modules/uni*/*: Bump version number of expected libunistring version.
19846         Reported by Simon Josefsson.
19847
19848 2011-01-09  Karl Heuer  <kwzh@gnu.org>
19849
19850         useless-if-before-free: fix typo in --help and make the internal,
19851         automatic version date update process work once again.
19852         --help output contained a NUL character instead of the
19853         backslash-zero that was intended.  Also, the "must lie within
19854         the first 8 lines" line is on line 9, and hence not getting
19855         automatically updated.
19856         * build-aux/useless-if-before-free: Fix the former by adding a
19857         backslash, and the latter by condensing the three lines of what-it-does
19858         to a single line, leaving one line of slack for the future.
19859
19860 2011-01-09  Bruno Haible  <bruno@clisp.org>
19861
19862         uniwidth/width: Fix width of U+1D173..U+1D17A.
19863         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
19864         symbolic_width, output_width_property_test): New functions.
19865         (main): Invoke output_nonspacing_property, output_width_property_test.
19866         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
19867         U+1D173..U+1D17A.
19868         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
19869         1.
19870         * modules/uniwidth/*: Bump version number of expected libunistring
19871         version.
19872         * modules/unilbrk/*: Likewise.
19873
19874 2011-01-08  Bruno Haible  <bruno@clisp.org>
19875
19876         uninorm tests: Preserve copyright of Unicode data file.
19877         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
19878         Mention modifications.
19879
19880 2011-01-08  Bruno Haible  <bruno@clisp.org>
19881
19882         gen-uni-tables: Prepare for Unicode 5.2.0.
19883         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
19884         (debug_output_lbp, output_lbp): Update.
19885
19886 2011-01-08  Bruno Haible  <bruno@clisp.org>
19887
19888         unilbrk: Clarify gen-uni-tables.c code.
19889         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
19890         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
19891         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
19892
19893 2011-01-07  Bruno Haible  <bruno@clisp.org>
19894
19895         strtod: Restore errno when successfully parsing Infinity or NaN.
19896         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
19897         restore the original errno.
19898
19899 2011-01-07  Bruno Haible  <bruno@clisp.org>
19900
19901         remove test: Avoid failure on HP-UX 11.
19902         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
19903
19904 2011-01-07  Bruno Haible  <bruno@clisp.org>
19905
19906         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
19907         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
19908         error code.
19909
19910 2011-01-07  Pádraig Brady <P@draigBrady.com>
19911
19912         ignore-value: fixup comments, and add Eric Blake
19913         as an author since he rewrote the macros.
19914         * lib/ignore-value.h (ignore_value):  State that
19915         we now support aggregates.  Also specify exactly
19916         when the GCC warn_unused_result feature was added.
19917
19918 2011-01-06  Eric Blake  <eblake@redhat.com>
19919
19920         ignore-value: support aggregate types
19921         * lib/ignore-value.h (ignore_value): Provide separate gcc
19922         definition.
19923         * modules/ignore-value-tests: New test module.
19924         * tests/test-ignore-value.c: New test.
19925
19926         maint.mk: improve sc_prohibit_strcmp regex
19927         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
19928         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
19929         definition of STRNEQ.
19930
19931         signal: work around Haiku issue with SIGBUS
19932         * lib/siglist.h: Add comment.
19933         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
19934         strsignal's favoring of SIGSEGV.
19935         * tests/test-signal.c (main): Avoid test failure.
19936         * doc/posix-headers/signal.texi (signal.h): Document the issue.
19937         Reported by Scott McCreary.
19938
19939         maint.mk: add pre-release check to ensure submodule commits are public
19940         * top/maint.mk (public-submodule-commit): New rule.
19941         (submodule-checks): New variable.
19942         (alpha beta stable): Depend on the variable.
19943
19944 2011-01-05  Pádraig Brady <P@draigBrady.com>
19945         and Jim Meyering  <meyering@redhat.com>
19946
19947         ignore-value: make ignore_value more generic; deprecate ignore_ptr
19948         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
19949         (ATTRIBUTE_DEPRECATED): Define.
19950         (_ignore_case): New function.
19951         (ignore_value): New macro, to replace the old function.
19952         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
19953         * modules/ignore-value (Depends-on): Add stdint.
19954
19955 2011-01-04  Eric Blake  <eblake@redhat.com>
19956
19957         doc: regenerate INSTALL
19958         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
19959         @firstparagraphindent support, now that autoconf dropped it.
19960         (INSTALL_PRELUDE): Reinstate old macro.
19961         * doc/install.texi: Resync from autoconf.
19962         * doc/INSTALL: Reflect recent autoconf update.
19963         * doc/INSTALL.ISO: Likewise.
19964         * doc/INSTALL.UTF-8: Likewise.
19965         Reported by Karl Berry.
19966
19967 2011-01-04  Bruce Korb  <address@hidden>
19968
19969         git-version-gen: avoid a sub-shell
19970         * build-aux/git-version-gen: Redirect stderr in `...` via
19971         "exec 2>...", rather than via an added sub-shell.
19972
19973 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
19974
19975         git-version-gen: use (...) rather than sh -c '...'
19976         * build-aux/git-version-gen: Rather than hard-coding a shell's name
19977         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
19978
19979 2011-01-03  Jim Meyering  <meyering@redhat.com>
19980
19981         git-version-gen: convert leading TABs to spaces
19982         * build-aux/git-version-gen: Expand leading TABs.
19983
19984         git-version-gen: handle failed "git rev-list"
19985         * build-aux/git-version-gen: Rather than leaking a "fatal" error
19986         from git and proceeding as if it had succeeded but printed no SHA1
19987         checksums, suppress the diagnostic and handle the failure.
19988         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
19989
19990         git-version-gen: include command name in one more diagnostic
19991         * build-aux/git-version-gen: When the required .tarball-version file
19992         was missing or unreadable, you might see the diagnostic from "cat",
19993         but no trace of the name of the invoking script.  Now, you still see
19994         the diagnostic from cat, but also get one from "git-version-gen: ".
19995         Inspired by a patch from Bruce Korb.
19996
19997         update-copyright: adjust test to match changed code
19998         * tests/test-update-copyright.sh: Change test's expected output
19999         to match new actual output.
20000
20001 2011-01-02  Bruno Haible  <bruno@clisp.org>
20002
20003         getlogin_r: Avoid test failure on HP-UX 11.
20004         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20005         ERANGE when the second argument is zero.
20006         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20007         portability problem.
20008
20009 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20010
20011         * build-aux/update-copyright: doc Simon's changes
20012
20013 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20014
20015         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20016         environment variable.
20017
20018 2011-01-02  Bruno Haible  <bruno@clisp.org>
20019
20020         unigbrk: Avoid gcc warnings.
20021         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20022         unused variable.
20023         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20024         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20025         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20026         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20027         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20028         Change type of first argument to 'const char *'.
20029         (main): Remove unused variable.
20030         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20031         type of first argument to 'const char *'.
20032         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20033         Likewise.
20034         (main): Change type of variable 's'.
20035         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20036         to 'int'.
20037
20038 2011-01-02  Bruno Haible  <bruno@clisp.org>
20039
20040         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20041         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20042         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20043         bug.
20044         * lib/pwrite.c: Undo 2010-12-31 patch.
20045         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20046
20047 2011-01-02  Bruno Haible  <bruno@clisp.org>
20048
20049         pread: Fix test whether it works.
20050         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20051
20052 2011-01-02  Bruno Haible  <bruno@clisp.org>
20053
20054         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20055         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20056         ends in "6". Don't require a specific month name. Try also the locale
20057         names found on HP-UX 11 and Solaris 7.
20058
20059 2011-01-02  Bruno Haible  <bruno@clisp.org>
20060
20061         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20062         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20063         C linkage.
20064         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20065
20066 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20067
20068         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20069         for consistency, since the "cluster" term is not used elsewhere.
20070         * lib/unigbrk.in.h: Update name.
20071         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20072         * lib/unigbrk/u16-grapheme-next.c: Update name.
20073         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20074         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20075         * lib/unigbrk/u32-grapheme-next.c: Update name.
20076         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20077         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20078         * lib/unigbrk/u8-grapheme-next.c: Update name.
20079         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20080         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20081         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20082         Suggested by Bruno Haible.
20083
20084 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20085
20086         Remove module 'u8-grapheme-len' as too redundant with
20087         'u8-grapheme-next'.
20088         * modules/unigbrk/u8-grapheme-len: Delete file.
20089         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20090         * lib/unigbrk.in.h: Remove prototype for deleted function.
20091         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20092         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20093
20094         Remove module 'u16-grapheme-len' as too redundant with
20095         'u16-grapheme-next'.
20096         * modules/unigbrk/u16-grapheme-len: Delete file.
20097         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20098         * lib/unigbrk.in.h: Remove prototype for deleted function.
20099         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20100         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20101
20102         Remove module 'u32-grapheme-len' as too redundant with
20103         'u32-grapheme-next'.
20104         * modules/unigbrk/u32-grapheme-len: Delete file.
20105         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20106         * lib/unigbrk.in.h: Remove prototype for deleted function.
20107         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20108         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20109
20110         Suggested by Bruno Haible.
20111
20112 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20113
20114         * unigbrk.in.h: Fix typo: "ben" => "been".
20115         Reported by Bruno Haible.
20116
20117 2011-01-01  Jim Meyering  <meyering@redhat.com>
20118
20119         maint: update almost all copyright ranges to include 2011
20120         Run the new "make update-copyright" rule.
20121
20122 2011-01-01  Jim Meyering  <meyering@redhat.com>
20123
20124         maint: update-copyright: exempt doc/INSTALL*
20125         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20126         since they are generated.  Suggested by Bruno Haible.
20127
20128 2011-01-01  Jim Meyering  <meyering@redhat.com>
20129
20130         maint: refine the update-copyright rule
20131         * Makefile (update-copyright): Also exclude any file that includes
20132         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20133         code that merely generates the comment.
20134
20135 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20136
20137         New module 'u8-grapheme-len'.
20138         * modules/unigbrk/u8-grapheme-len: New file.
20139         * modules/unigbrk/u8-grapheme-len-tests: New file.
20140         * lib/unigbrk.in.h: Add prototype for new function.
20141         * lib/unigbrk/u8-grapheme-len.c: New file.
20142         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20143
20144         New module 'u16-grapheme-len'.
20145         * modules/unigbrk/u16-grapheme-len: New file.
20146         * modules/unigbrk/u16-grapheme-len-tests: New file.
20147         * lib/unigbrk.in.h: Add prototype for new function.
20148         * lib/unigbrk/u16-grapheme-len.c: New file.
20149         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20150
20151         New module 'u32-grapheme-len'.
20152         * modules/unigbrk/u32-grapheme-len: New file.
20153         * modules/unigbrk/u32-grapheme-len-tests: New file.
20154         * lib/unigbrk.in.h: Add prototype for new function.
20155         * lib/unigbrk/u32-grapheme-len.c: New file.
20156         * tests/unigbrk/test-u32-grapheme-len.c: New file.
20157
20158         New module 'u8-grapheme-next'.
20159         * modules/unigbrk/u8-grapheme-next: New file.
20160         * modules/unigbrk/u8-grapheme-next-tests: New file.
20161         * lib/unigbrk.in.h: Add prototype for new function.
20162         * lib/unigbrk/u8-grapheme-next.c: New file.
20163         * tests/unigbrk/test-u8-grapheme-next.c: New file.
20164
20165         New module 'u16-grapheme-next'.
20166         * modules/unigbrk/u16-grapheme-next: New file.
20167         * modules/unigbrk/u16-grapheme-next-tests: New file.
20168         * lib/unigbrk.in.h: Add prototype for new function.
20169         * lib/unigbrk/u16-grapheme-next.c: New file.
20170         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20171
20172         New module 'u32-grapheme-next'.
20173         * modules/unigbrk/u32-grapheme-next: New file.
20174         * modules/unigbrk/u32-grapheme-next-tests: New file.
20175         * lib/unigbrk.in.h: Add prototype for new function.
20176         * lib/unigbrk/u32-grapheme-next.c: New file.
20177         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20178
20179         New module 'u8-grapheme-prev'.
20180         * modules/unigbrk/u8-grapheme-prev: New file.
20181         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20182         * lib/unigbrk.in.h: Add prototype for new function.
20183         * lib/unigbrk/u8-grapheme-prev.c: New file.
20184         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20185
20186         New module 'u16-grapheme-prev'.
20187         * modules/unigbrk/u16-grapheme-prev: New file.
20188         * modules/unigbrk/u16-grapheme-prev-tests: New file.
20189         * lib/unigbrk.in.h: Add prototype for new function.
20190         * lib/unigbrk/u16-grapheme-prev.c: New file.
20191         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
20192
20193         New module 'u32-grapheme-prev'.
20194         * modules/unigbrk/u32-grapheme-prev: New file.
20195         * modules/unigbrk/u32-grapheme-prev-tests: New file.
20196         * lib/unigbrk.in.h: Add prototype for new function.
20197         * lib/unigbrk/u32-grapheme-prev.c: New file.
20198         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
20199
20200         New module 'u8-grapheme-breaks'.
20201         * modules/unigbrk/u8-grapheme-breaks: New file.
20202         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
20203         * lib/unigbrk.in.h: Add prototype for new function.
20204         * lib/unigbrk/u8-grapheme-breaks.c: New file.
20205         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
20206
20207         New module 'u16-grapheme-breaks'.
20208         * modules/unigbrk/u16-grapheme-breaks: New file.
20209         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
20210         * lib/unigbrk.in.h: Add prototype for new function.
20211         * lib/unigbrk/u16-grapheme-breaks.c: New file.
20212         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
20213
20214         New module 'u32-grapheme-breaks'.
20215         * modules/unigbrk/u32-grapheme-breaks: New file.
20216         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
20217         * lib/unigbrk.in.h: Add prototype for new function.
20218         * lib/unigbrk/u32-grapheme-breaks.c: New file.
20219         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
20220
20221         New module 'ulc-grapheme-breaks'.
20222         * modules/unigbrk/ulc-grapheme-breaks: New file.
20223         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
20224         * m4/locale-ar.m4: New file.
20225         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
20226         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
20227         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
20228
20229 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20230
20231         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
20232         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
20233         modified how this file was generated before I initially submitted
20234         the module, but failed to regenerate it.  This meant that several
20235         of the level2 entries were wrong.
20236         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
20237         Remove the division-by-2 that is folded into the table now that
20238         gbrkprop.h has been regenerated properly.  Now -1 entries are
20239         handled correctly.
20240
20241         New module 'unigbrk/uc-gbrk-prop-tests'.
20242         * modules/unigbrk/uc-gbrk-prop-tests: New file.
20243         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
20244         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
20245         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
20246
20247 2011-01-01  Bruno Haible  <bruno@clisp.org>
20248
20249         Avoid use of hexadecimal escapes.
20250         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
20251         instead of hexadecimal escapes.
20252
20253 2011-01-01  Jim Meyering  <meyering@redhat.com>
20254
20255         maint: new rule to update copyright year ranges
20256         * Makefile (update-copyright): New rule.
20257
20258         maint: indent with TABs in Makefile
20259         * Makefile: Expand leading sequences of spaces to TABs
20260
20261         version-etc: update the copyright year it reports
20262         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
20263
20264 2010-12-31  Bruno Haible  <bruno@clisp.org>
20265
20266         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
20267         * lib/isfinite.c (zerof, zerod, zerol): New variables.
20268         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
20269         zero.
20270
20271 2010-12-31  Bruno Haible  <bruno@clisp.org>
20272
20273         pwrite: Work around HP-UX 11.11 bug.
20274         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
20275         works and set REPLACE_PWRITE if not.
20276         * lib/pwrite.c (pwrite): Add an implementation that uses the system
20277         function.
20278         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
20279
20280 2010-12-31  Bruno Haible  <bruno@clisp.org>
20281
20282         pread: Work around HP-UX 11 bugs.
20283         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
20284         and set REPLACE_PREAD if not.
20285         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
20286
20287 2010-12-31  Eric Blake  <eblake@redhat.com>
20288
20289         nl_langinfo: fix YESEXPR on Irix 6.5
20290         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
20291         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
20292         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
20293         it.
20294
20295 2010-12-31  Bruno Haible  <bruno@clisp.org>
20296
20297         iconv: Document HP-UX 11 bug.
20298         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
20299
20300 2010-12-31  Bruno Haible  <bruno@clisp.org>
20301
20302         ldexpl: Fix link error on HP-UX 11.
20303         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
20304         LDEXPL_LIBM, using $ISNANL_LIBM.
20305
20306 2010-12-31  Eric Blake  <eblake@redhat.com>
20307
20308         ftello: avoid compilation failure with SunStudio c89
20309         * lib/ftello.c (ftello): Use lseek, not llseek.
20310
20311         tests: avoid failing coreutils tests on cygwin
20312         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
20313         (create_exe_shims_): Return 0 when skipping.
20314
20315 2010-12-31  Bruno Haible  <bruno@clisp.org>
20316
20317         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
20318         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
20319
20320 2010-12-31  Bruno Haible  <bruno@clisp.org>
20321
20322         waitpid: Fix link error in C++ mode.
20323         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
20324
20325 2010-12-31  Bruno Haible  <bruno@clisp.org>
20326
20327         isnan: Use GCC built-ins when possible.
20328         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
20329         __builtin_isnan.
20330         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
20331         (isnan): Define using GCC built-ins for GCC >= 4.0.
20332
20333 2010-12-31  Bruno Haible  <bruno@clisp.org>
20334
20335         isnand: Fix mistake.
20336         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
20337         __builtin_isnand.
20338
20339 2010-12-31  Bruno Haible  <bruno@clisp.org>
20340
20341         open: Avoid C++ error on HP-UX 11.
20342         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
20343
20344 2010-12-31  Bruno Haible  <bruno@clisp.org>
20345
20346         time_r: Add missing declarations on HP-UX 11.
20347         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
20348         instead of HAVE_LOCALTIME_R.
20349         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
20350         HAVE_LOCALTIME_R always.
20351         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
20352         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
20353         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
20354         HAVE_LOCALTIME_R.
20355         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
20356         * doc/posix-functions/localtime_r.texi: Likewise.
20357
20358 2010-12-29  Eric Blake  <eblake@redhat.com>
20359
20360         mountlist: tweak previous commit
20361         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
20362         Reported by Paul Eggert.
20363
20364         mountlist: fix local drive detection on cygwin
20365         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
20366         that works for cygwin.
20367
20368 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20369
20370         ftoastr, snprintf: ftoastr + snprintf module
20371         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
20372         since the snprintf module now should be good enough here.
20373         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
20374         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
20375         and gl_MODULE_INDICATOR([snprintf]), but the former enables
20376         GNULIB_SNPRINTF only for the test directory, and the latter
20377         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
20378         seems to suffice by itself.
20379
20380 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20381
20382         alloca: one step towards thread-safety
20383         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
20384         need for a static variable.  All callers changed.  This does not
20385         make the alloca replacement thread-safe, but it's one step.
20386
20387         tests: minor indenting change
20388         * tests/init.sh: Sync from coreutils housekeeping patch
20389         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
20390         to keep lines within 80 columns.
20391
20392 2010-12-28  Jim Meyering  <meyering@redhat.com>
20393
20394         regex: don't infloop on persistent failing calloc
20395         * lib/regexec.c (build_trtable): Return failure indication upon
20396         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
20397         In glibc, this was fixed for version 2.13:
20398         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
20399
20400 2010-12-28  Bruno Haible  <bruno@clisp.org>
20401             Paul Eggert <eggert@cs.ucla.edu>
20402
20403         linkat: Make implementation robust against system behaviour variations.
20404         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
20405         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
20406         way, and to -2 if it needs a generic runtime test.
20407         * lib/linkat.c (solaris_optimized_link_immediate,
20408         solaris_optimized_link_follow): New functions.
20409         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
20410         (check_same_link): Use it.
20411
20412 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
20413
20414         New module 'unigbrk/base'.
20415         * modules/unigbrk/base: New file.
20416         * lib/unigbrk.in.h: New file.
20417
20418         New module 'unigbrk/uc-gbrk-prop'.
20419         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
20420         * modules/unigbrk/uc-gbrk-prop: New file.
20421         * lib/unigbrk/gbrkprop.h: New file.
20422         * lib/unigbrk/uc-gbrk-prop.c: New file.
20423
20424         New module 'unigbrk/uc-is-grapheme-break'.
20425         * modules/unigbrk/uc-is-grapheme-break: New file.
20426         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
20427         * lib/unigbrk/uc-is-grapheme-break.c: New file.
20428         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
20429         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
20430         * tests/unigbrk/GraphemeBreakTest.txt: New file.
20431
20432         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
20433
20434 2010-12-27  Bruno Haible  <bruno@clisp.org>
20435
20436         linkat test: Avoid failure on Solaris 11 2010-11.
20437         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
20438
20439 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20440
20441         utimens: work around glibc rounding bug on more platforms
20442         * lib/utimens.c (fdutimens): Work around rounding bug even if
20443         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
20444         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
20445
20446 2010-12-27  Bruno Haible  <bruno@clisp.org>
20447
20448         select tests: Improve comments.
20449         * tests/test-select.c (do_select): Add comments.
20450
20451 2010-12-27  Bruno Haible  <bruno@clisp.org>
20452
20453         select tests: Safer way of handling timeout.
20454         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
20455         at every invocation.
20456
20457 2010-12-27  Bruno Haible  <bruno@clisp.org>
20458
20459         select tests: Use 'bool' where appropriate.
20460         * tests/test-select.c (connect_to_socket): Change argument type to
20461         'bool'.
20462
20463 2010-12-27  Bruno Haible  <bruno@clisp.org>
20464
20465         select tests: Use existing modules.
20466         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
20467         (configure.ac): Don't test for unistd.h.
20468         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
20469         declared in <unistd.h>.
20470
20471 2010-12-27  Bruno Haible  <bruno@clisp.org>
20472
20473         mbrtowc: Work around a Solaris 7 bug.
20474         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
20475         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
20476         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
20477         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
20478         MBRTOWC_NULL_ARG1_BUG.
20479         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
20480         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
20481         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
20482         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
20483
20484 2010-12-27  Jim Meyering  <meyering@redhat.com>
20485
20486         read-file.c: tweak syntax
20487         * lib/read-file.c (fread_file): Remove space after "*" in function
20488         definitions.
20489
20490 2010-12-27  Bruno Haible  <bruno@clisp.org>
20491
20492         times test: Avoid gcc warnings on OSF/1.
20493         * tests/test-times.c (main): Cast printf arguments from clock_t to
20494         'long int'.
20495
20496 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20497
20498         utimens: work around glibc rounding bug on older Linux kernels
20499         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
20500         on Linux with a glibc whose utimes might not work, then work
20501         around a longstanding glibc bug involving rounding rather than
20502         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
20503         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20504
20505 2010-12-26  Bruno Haible  <bruno@clisp.org>
20506
20507         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
20508         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
20509         _GL_CXXALIAS_SYS.
20510         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20511
20512 2010-12-26  Bruno Haible  <bruno@clisp.org>
20513
20514         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
20515         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
20516         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20517         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
20518         looking for the declaration.
20519         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
20520         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
20521         problem.
20522         * doc/posix-functions/inet_pton.texi: Likewise.
20523
20524 2010-12-26  Bruno Haible  <bruno@clisp.org>
20525
20526         arpa_inet: Use the common idioms with C++ support.
20527         * lib/arpa_inet.in.h: Include c++defs.h.
20528         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
20529         support.
20530         * modules/arpa_inet (Depends-on): Add c++defs.
20531         (Makefile.am): Substitute the contents of c++defs.h.
20532         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
20533         * modules/arpa_inet-c++-tests: New file.
20534         * tests/test-arpa_inet-c++.cc: New file.
20535
20536 2010-12-25  Bruno Haible  <bruno@clisp.org>
20537
20538         Fix more C++ link errors on Solaris 8.
20539         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
20540         $(LIB_EACCESS).
20541         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
20542         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
20543         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
20544         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
20545         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
20546
20547 2010-12-25  Bruno Haible  <bruno@clisp.org>
20548
20549         printf-posix: Fix link error when a non-GCC compiler is used.
20550         * lib/stdio.in.h (printf): When not using GCC, override printf
20551         correctly.
20552         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20553
20554 2010-12-25  Bruno Haible  <bruno@clisp.org>
20555
20556         strerror_r-posix: Update doc.
20557         * doc/posix-functions/strerror_r.texi: Update doc about the return
20558         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
20559
20560 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
20561
20562         utimens: simplify the logic of the previous change
20563         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
20564         This should not affect whether the test succeeds or fails.
20565
20566         utimens: configure better on hosts with NFS clock skew
20567         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
20568         uses the clock of the local host.  It might use the clock of the
20569         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
20570         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20571
20572 2010-12-25  Bruno Haible  <bruno@clisp.org>
20573
20574         ptsname test: Avoid failure on Solaris.
20575         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
20576         open a pseudo-terminal; don't use BSD-style ptys.
20577         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
20578
20579 2010-12-25  Bruno Haible  <bruno@clisp.org>
20580
20581         ptsname: Avoid ERANGE failure on some systems.
20582         * lib/ptsname.c (buffer): Increase size.
20583
20584 2010-12-25  Bruno Haible  <bruno@clisp.org>
20585
20586         rename, renameat: Avoid test failures at NFS mounted locations.
20587         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
20588         so that subsequent mkdir calls succeed.
20589
20590 2010-12-25  Bruno Haible  <bruno@clisp.org>
20591
20592         iswblank: Fix C++ link error on Solaris 8.
20593         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
20594         _GL_FUNCDECL_SYS.
20595
20596 2010-12-25  Bruno Haible  <bruno@clisp.org>
20597
20598         unistd: Fix C++ link error on Solaris 8.
20599         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
20600
20601 2010-12-25  Bruno Haible  <bruno@clisp.org>
20602
20603         readlink doc: Mention an old glibc bug.
20604         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
20605
20606 2010-12-25  Bruno Haible  <bruno@clisp.org>
20607
20608         fcntl-h: Fix for use of C++ on glibc systems.
20609         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
20610         also on glibc systems in C++ mode.
20611         Reported by Gary V. Vaughan <gary@gnu.org>.
20612
20613 2010-12-25  Bruno Haible  <bruno@clisp.org>
20614
20615         roundl-ieee: Make it work on OSF/1 5.1 with cc.
20616         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
20617
20618 2010-12-25  Bruno Haible  <bruno@clisp.org>
20619
20620         truncl-ieee: Make it work on OSF/1 5.1 with cc.
20621         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
20622         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
20623         test whether truncl works according to ISO C 99 with IEC 60559.
20624         * m4/truncl-ieee.m4: New file.
20625         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
20626         m4/signbit.m4.
20627         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
20628
20629 2010-12-25  Bruno Haible  <bruno@clisp.org>
20630
20631         ceill-ieee: Make it work on OSF/1 5.1 with cc.
20632         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
20633         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
20634         test whether ceill works according to ISO C 99 with IEC 60559.
20635         * m4/ceill-ieee.m4: New file.
20636         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
20637         m4/signbit.m4.
20638         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
20639
20640 2010-12-25  Bruno Haible  <bruno@clisp.org>
20641
20642         Ensure all prerequisites of <wchar.h> are included.
20643         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
20644         before <wchar.h>.
20645         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20646         gl_MBRLEN_NUL_RETVAL): Likewise.
20647         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20648         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
20649         AC_FUNC_MBRTOWC): Likewise.
20650         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20651         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
20652         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20653         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
20654         Likewise.
20655         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20656         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
20657         (gl_WCHAR_H): Improve comments.
20658         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
20659
20660 2010-12-25  Bruno Haible  <bruno@clisp.org>
20661
20662         strtok_r: Fix C syntax error in autoconf macro.
20663         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
20664         characters in test program.
20665
20666 2010-12-24  Bruno Haible  <bruno@clisp.org>
20667
20668         ceil, trunc, round: Fix gcc warnings.
20669         * lib/ceil.c (MIN): Undefine before redefining.
20670         * lib/trunc.c (MIN): Likewise.
20671         * lib/round.c (MIN): Likewise.
20672         Include <math.h> first.
20673
20674 2010-12-24  Bruno Haible  <bruno@clisp.org>
20675
20676         select tests: Avoid failures on OSF/1 5.1.
20677         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
20678         failure of closing the last socket; it may fail with ECONNRESET.
20679
20680 2010-12-24  Eric Blake  <eblake@redhat.com>
20681
20682         stdint: avoid HP-UX 10.20 preprocessor bug
20683         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
20684         than #if.
20685         * tests/test-floor2.c (main): Likewise.
20686         Reported by Peter O'Gorman.
20687
20688         pipe: make obsoletion transition easier
20689         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
20690         * modules/pipe (Files): Include revived file.
20691         (Include): Drop reference, to mirror getdate's behavior.
20692
20693 2010-12-24  Bruno Haible  <bruno@clisp.org>
20694
20695         sys_socket: Hide mismatch of declarations on NonStop Kernel.
20696         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
20697         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
20698         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20699
20700 2010-12-24  Bruno Haible  <bruno@clisp.org>
20701
20702         gethostname: Ensure declaration on NonStop Kernel.
20703         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
20704         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20705
20706 2010-12-24  Bruno Haible  <bruno@clisp.org>
20707
20708         sys_select: Ensure all necessary types on NonStop Kernel.
20709         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
20710         include <sys/time.h>.
20711         * doc/posix-headers/sys_select.texi: Mention that it's missing on
20712         NonStop Kernel.
20713         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20714
20715 2010-12-24  Bruno Haible  <bruno@clisp.org>
20716
20717         sys_select: Remove unneeded include.
20718         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
20719         have <sys/select.h>.
20720
20721 2010-12-24  Bruno Haible  <bruno@clisp.org>
20722
20723         gethostname: Provide a fallback for HOST_NAME_MAX.
20724         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
20725         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
20726         instead.
20727         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20728
20729 2010-12-24  Bruno Haible  <bruno@clisp.org>
20730
20731         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
20732         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
20733         (SA_RESTART): Likewise.
20734         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20735
20736 2010-12-24  Bruno Haible  <bruno@clisp.org>
20737
20738         signal: Define NSIG.
20739         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
20740         * tests/test-signal.c (nsig): New variable.
20741         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20742
20743 2010-12-24  Bruno Haible  <bruno@clisp.org>
20744
20745         rename, renameat: Avoid test failures on OSF/1 5.1.
20746         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
20747         alternative error codes.
20748         * tests/test-renameat.c (main): Likewise.
20749
20750 2010-12-24  Bruno Haible  <bruno@clisp.org>
20751
20752         *printf: Detect large precisions bug on Solaris 10/SPARC.
20753         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
20754         by Paul Eggert.
20755         * tests/test-snprintf-posix.h (test_function): Add this test code here
20756         too.
20757         * tests/test-sprintf-posix.h (test_function): Likewise.
20758         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20759         * tests/test-vasprintf-posix.c (test_function): Likewise.
20760         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
20761         around by gnulib.
20762         * doc/posix-functions/printf.texi: Likewise.
20763         * doc/posix-functions/snprintf.texi: Likewise.
20764         * doc/posix-functions/sprintf.texi: Likewise.
20765         * doc/posix-functions/vfprintf.texi: Likewise.
20766         * doc/posix-functions/vprintf.texi: Likewise.
20767         * doc/posix-functions/vsnprintf.texi: Likewise.
20768         * doc/posix-functions/vsprintf.texi: Likewise.
20769         * doc/posix-functions/dprintf.texi: Undo last commit.
20770         * doc/posix-functions/vdprintf.texi: Likewise.
20771
20772 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20773
20774         tests: port test-fdutimensat.c to Solaris 8
20775         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
20776         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
20777         On Solaris 8, it fails with errno == ENOSYS, because there is no
20778         futimens (so it can't use the fd), and there is no lutimens (so it
20779         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
20780
20781         vsnprintf: make more consistent with snprintf; doc fixes
20782
20783         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
20784         the byte count return problem was promoted from the snprintf-posix
20785         to the snprintf module.
20786         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20787         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
20788         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
20789         * tests/test-snprintf.c (main): Check the byte count returned.
20790         * tests/test-vsnprintf.c (main): Likewise.
20791
20792 2010-12-23  Eric Blake  <eblake@redhat.com>
20793
20794         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
20795         * modules/sigpipe (License): Relax license.
20796
20797 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20798
20799         doc: document Solaris printf bug with large float precisions
20800         * doc/posix-functions/dprintf.texi (dprintf):
20801         * doc/posix-functions/fprintf.texi (fprintf):
20802         * doc/posix-functions/printf.texi (printf):
20803         * doc/posix-functions/snprintf.texi (snprintf):
20804         * doc/posix-functions/sprintf.texi (sprintf):
20805         * doc/posix-functions/vdprintf.texi (vdprintf):
20806         * doc/posix-functions/vfprintf.texi (vfprintf):
20807         * doc/posix-functions/vprintf.texi (vprintf):
20808         * doc/posix-functions/vsnprintf.texi (vsnprintf):
20809         * doc/posix-functions/vsprintf.texi (vsprintf):
20810         Mention that these functions mishandle large floating point
20811         precisions on Solaris 10.  The same bug is also present in Solaris
20812         8, and I assume earlier.  This causes "cd gnulib-tests; make
20813         check" to fail on Solaris 8 (and I assume, later) when building
20814         the latest coreutils, in test-vasprintf-posix's call to
20815         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
20816         the wide flavors (e.g., wprintf) so this patch just updates the
20817         documentation for the narrow ones.
20818
20819         test-posixtm.c: add two tests
20820         * tests/test-posixtm.c: Add two tests, to highlight the
20821         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
20822         around this bug; this is merely to document it.
20823
20824 2010-12-22  Bruno Haible  <bruno@clisp.org>
20825
20826         getlogin_r: Work around portability problem on OSF/1.
20827         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
20828         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
20829         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
20830         test for a truncated result.
20831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
20832         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
20833         * modules/getlogin_r (Depends-on): Add memchr.
20834         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
20835
20836 2010-12-22  Bruno Haible  <bruno@clisp.org>
20837
20838         ptsname: Avoid test failure on OSF/1 5.1.
20839         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
20840         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
20841         (same_slave): New function.
20842         (main): Use it to compare ptsname's result with the expected file name.
20843
20844 2010-12-22  Bruno Haible  <bruno@clisp.org>
20845
20846         Port extended stdio modules to HP NonStop Kernel.
20847         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
20848         macros.
20849         * lib/fbufmode.c: Update comments.
20850         * lib/fflush.c: Likewise.
20851         * lib/fpurge.c: Likewise.
20852         * lib/freadable.c: Likewise.
20853         * lib/freadahead.c: Likewise.
20854         * lib/freading.c: Likewise.
20855         * lib/freadptr.c: Likewise.
20856         * lib/freadseek.c: Likewise.
20857         * lib/fseeko.c: Likewise.
20858         * lib/fseterr.c: Likewise.
20859         * lib/fwritable.c: Likewise.
20860         * lib/fwriting.c: Likewise.
20861         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20862
20863 2010-12-22  Bruno Haible  <bruno@clisp.org>
20864
20865         ttyname_r: Work around bug on OSF/1 5.1.
20866         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
20867         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
20868         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
20869         present.
20870         * lib/ttyname_r.c (ttyname_r): Update comments.
20871
20872 2010-12-22  Bruno Haible  <bruno@clisp.org>
20873
20874         round: Implement result sign according to IEEE 754.
20875         * lib/round.c (MIN, MINUS_ZERO): New macros.
20876         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
20877         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
20878         * tests/test-round-ieee.c (main): Likewise.
20879         * tests/test-roundl-ieee.c (main): Likewise.
20880
20881         trunc: Implement result sign according to IEEE 754.
20882         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
20883         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
20884         * tests/test-trunc2.c: Include minus-zero.h.
20885         (MINUS_ZERO): New macro.
20886         (trunc_reference): Keep in sync with lib/trunc.c.
20887         * tests/test-truncf2.c: Include minus-zero.h.
20888         (MINUS_ZERO): New macro.
20889         (truncf_reference): Keep in sync with lib/trunc.c.
20890         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
20891         * tests/test-trunc-ieee.c (main): Likewise.
20892         * tests/test-truncl-ieee.c (main): Likewise.
20893
20894         ceil: Implement result sign according to IEEE 754.
20895         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
20896         (FUNC): Return -0.0 for -1 < x < 0.
20897         * tests/test-ceil2.c: Include minus-zero.h.
20898         (MINUS_ZERO): New macro.
20899         (ceil_reference): Keep in sync with lib/ceil.c.
20900         * tests/test-ceilf2.c: Include minus-zero.h.
20901         (MINUS_ZERO): New macro.
20902         (ceilf_reference): Keep in sync with lib/ceil.c.
20903         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
20904         * tests/test-ceil-ieee.c (main): Likewise.
20905         * tests/test-ceill-ieee.c (main): Likewise.
20906
20907         floor: Implement result sign according to IEEE 754.
20908         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
20909         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
20910         * tests/test-floorf2.c (floorf_reference): Likewise.
20911         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
20912         * tests/test-floor-ieee.c (main): Likewise.
20913         * tests/test-floorl-ieee.c (main): Likewise.
20914
20915 2010-12-22  Bruno Haible  <bruno@clisp.org>
20916
20917         getaddrinfo: Update doc.
20918         * doc/posix-functions/gai_strerror.texi: Return type is also different
20919         on AIX and HP-UX.
20920
20921 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20922
20923         getaddrinfo, inet_ntop: Update doc for Solaris.
20924         * doc/posix-functions/gai_strerror.texi: Return type is also an
20925         issue on Solaris 9 and earlier.
20926         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
20927         on Solaris 10 and earlier.
20928
20929 2010-12-21  Bruno Haible  <bruno@clisp.org>
20930
20931         New module 'roundl-ieee'.
20932         * modules/roundl-ieee: New file.
20933         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
20934         test whether roundl works according to ISO C 99 with IEC 60559.
20935         * m4/roundl-ieee.m4: New file.
20936         * modules/roundl-ieee-tests: New file.
20937         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
20938         * tests/test-roundl.c (main): Remove signbit tests.
20939         * modules/roundl-tests (Depends-on): Remove signbit.
20940         * doc/posix-functions/roundl.texi: Mention the new module.
20941
20942 2010-12-21  Bruno Haible  <bruno@clisp.org>
20943
20944         New module 'truncl-ieee'.
20945         * modules/truncl-ieee: New file.
20946         * modules/truncl-ieee-tests: New file.
20947         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
20948         * tests/test-truncl.c (main): Remove signbit tests.
20949         * modules/truncl-tests (Depends-on): Remove signbit.
20950         * doc/posix-functions/truncl.texi: Mention the new module.
20951
20952 2010-12-21  Bruno Haible  <bruno@clisp.org>
20953
20954         New module 'ceill-ieee'.
20955         * modules/ceill-ieee: New file.
20956         * modules/ceill-ieee-tests: New file.
20957         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
20958         * tests/test-ceill.c (main): Remove signbit tests.
20959         * modules/ceill-tests (Depends-on): Remove signbit.
20960         * doc/posix-functions/ceill.texi: Mention the new module.
20961
20962 2010-12-21  Bruno Haible  <bruno@clisp.org>
20963
20964         New module 'floorl-ieee'.
20965         * modules/floorl-ieee: New file.
20966         * modules/floorl-ieee-tests: New file.
20967         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
20968         * tests/test-floorl.c (main): Remove signbit tests.
20969         * modules/floorl-tests (Depends-on): Remove signbit.
20970         * doc/posix-functions/floorl.texi: Mention the new module.
20971
20972 2010-12-21  Bruno Haible  <bruno@clisp.org>
20973
20974         New module 'round-ieee'.
20975         * modules/round-ieee: New file.
20976         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
20977         whether round works according to ISO C 99 with IEC 60559.
20978         * m4/round-ieee.m4: New file.
20979         * modules/round-ieee-tests: New file.
20980         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
20981         * tests/test-round1.c (main): Remove signbit tests.
20982         * modules/round-tests (Depends-on): Remove 'signbit'.
20983         * doc/posix-functions/round.texi: Mention the new module.
20984
20985 2010-12-21  Bruno Haible  <bruno@clisp.org>
20986
20987         New module 'trunc-ieee'.
20988         * modules/trunc-ieee: New file.
20989         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
20990         whether trunc works according to ISO C 99 with IEC 60559.
20991         * m4/trunc-ieee.m4: New file.
20992         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
20993         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
20994         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
20995         * modules/trunc-ieee-tests: New file.
20996         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
20997         * tests/test-trunc1.c (main): Remove signbit tests.
20998         * modules/trunc-tests (Depends-on): Remove 'signbit'.
20999         * doc/posix-functions/trunc.texi: Mention the new module.
21000
21001 2010-12-21  Bruno Haible  <bruno@clisp.org>
21002
21003         New module 'ceil-ieee'.
21004         * modules/ceil-ieee: New file.
21005         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21006         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21007         ISO C 99 with IEC 60559.
21008         * m4/ceil-ieee.m4: New file.
21009         * modules/ceil (Files): Add lib/ceil.c.
21010         (Depends-on): Add 'float'.
21011         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21012         * lib/math.in.h (ceil): New declaration.
21013         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21014         REPLACE_CEIL.
21015         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21016         * modules/ceil-ieee-tests: New file.
21017         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21018         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21019         * doc/posix-functions/ceil.texi: Mention the new module.
21020
21021 2010-12-21  Bruno Haible  <bruno@clisp.org>
21022
21023         New module 'floor-ieee'.
21024         * modules/floor-ieee: New file.
21025         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21026         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21027         ISO C 99 with IEC 60559.
21028         * m4/floor-ieee.m4: New file.
21029         * modules/floor (Files): Add lib/floor.c.
21030         (Depends-on): Add 'float'.
21031         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21032         * lib/math.in.h (floor): New declaration.
21033         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21034         REPLACE_FLOOR.
21035         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21036         * modules/floor-ieee-tests: New file.
21037         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21038         * tests/test-math-c++.cc: Check the signature of 'floor'.
21039         * doc/posix-functions/floor.texi: Mention the new module.
21040
21041 2010-12-21  Bruno Haible  <bruno@clisp.org>
21042
21043         New module 'roundf-ieee'.
21044         * modules/roundf-ieee: New file.
21045         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21046         test whether roundf works according to ISO C 99 with IEC 60559.
21047         * m4/roundf-ieee.m4: New file.
21048         * modules/roundf-ieee-tests: New file.
21049         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21050         * tests/test-roundf1.c (main): Remove signbit tests.
21051         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21052         * doc/posix-functions/roundf.texi: Mention the new module.
21053
21054 2010-12-21  Bruno Haible  <bruno@clisp.org>
21055
21056         New module 'truncf-ieee'.
21057         * modules/truncf-ieee: New file.
21058         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21059         test whether truncf works according to ISO C 99 with IEC 60559.
21060         * m4/truncf-ieee.m4: New file.
21061         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21063         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21064         * modules/truncf-ieee-tests: New file.
21065         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21066         * tests/test-truncf1.c (main): Remove signbit tests.
21067         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21068         * doc/posix-functions/truncf.texi: Mention the new module.
21069
21070 2010-12-21  Bruno Haible  <bruno@clisp.org>
21071
21072         New module 'ceilf-ieee'.
21073         * modules/ceilf-ieee: New file.
21074         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21075         test whether ceilf works according to ISO C 99 with IEC 60559.
21076         * m4/ceilf-ieee.m4: New file.
21077         * modules/ceilf-ieee-tests: New file.
21078         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21079         * tests/test-ceilf1.c (main): Remove signbit tests.
21080         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21081         * doc/posix-functions/ceilf.texi: Mention the new module.
21082
21083 2010-12-21  Bruno Haible  <bruno@clisp.org>
21084
21085         New module 'floorf-ieee'.
21086         * modules/floorf-ieee: New file.
21087         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21088         test whether floorf works according to ISO C 99 with IEC 60559.
21089         * m4/floorf-ieee.m4: New file.
21090         * modules/floorf-ieee-tests: New file.
21091         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21092         * tests/test-floorf1.c (main): Remove signbit tests.
21093         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21094         * doc/posix-functions/floorf.texi: Mention the new module.
21095
21096 2010-12-21  Bruno Haible  <bruno@clisp.org>
21097
21098         Support for minus zero in autoconf macros.
21099         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21100         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21101         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21102         * tests/minus-zero.h: Update comments.
21103
21104 2010-12-21  Bruno Haible  <bruno@clisp.org>
21105
21106         Tests for module 'ceil'.
21107         * modules/ceil-tests: New file.
21108         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21109         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21110
21111 2010-12-21  Bruno Haible  <bruno@clisp.org>
21112
21113         Tests for module 'floor'.
21114         * modules/floor-tests: New file.
21115         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21116         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21117
21118 2010-12-21  Bruno Haible  <bruno@clisp.org>
21119
21120         math: Fix indentation.
21121         * lib/math.in.h (floorf): Fix indentation.
21122
21123 2010-12-21  Bruno Haible  <bruno@clisp.org>
21124
21125         Fix cross-compilation guesses on Solaris.
21126         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21127         not match "solaris2.10".
21128         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21129         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21130         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21131
21132 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21133
21134         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21135         This fixes a problem observed with the latest coreutils snapshot
21136         that caused a test to fail on Solaris 8.  src/csplit.c's call
21137         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21138         earlier, instead of returning the number of bytes that would have
21139         been generated; this causes csplit to incorrectly report memory
21140         exhaustion.
21141         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21142         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21143         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21144         comments to match.
21145         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21146         Fix typo in matching older versions of Solaris: "solaris2.10"
21147         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21148         only for guessing while cross-compiling.
21149         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21150
21151 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21152
21153         ftoastr: fix comment again
21154         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21155         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
21156         Also, simplify example a bit by using flags = 0.
21157
21158 2010-12-20  Bruno Haible  <bruno@clisp.org>
21159
21160         round*, trunc*: Update documentation regarding glibc.
21161         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
21162         * doc/posix-functions/round.texi: Likewise.
21163         * doc/posix-functions/roundl.texi: Likewise.
21164         * doc/posix-functions/truncf.texi: Likewise.
21165         * doc/posix-functions/trunc.texi: Likewise.
21166         * doc/posix-functions/truncl.texi: Likewise.
21167
21168 2010-12-20  Bruno Haible  <bruno@clisp.org>
21169
21170         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21171         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21172         * doc/posix-functions/round.texi: Likewise.
21173         * doc/posix-functions/roundl.texi: Likewise.
21174
21175 2010-12-20  Bruno Haible  <bruno@clisp.org>
21176
21177         ttyname_r: Add missing declaration on HP-UX 11.
21178         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21179         HAVE_TTYNAME_R.
21180         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21181         declared. Set HAVE_TTYNAME_R always.
21182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21183         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21184         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21185         HAVE_TTYNAME_R.
21186         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21187
21188 2010-12-20  Bruno Haible  <bruno@clisp.org>
21189
21190         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
21191         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
21192         * doc/posix-functions/getlogin_r.texi: Likewise.
21193         * tests/test-getlogin.c: Include <errno.h>.
21194         (main): Avoid test failure on HP-UX 11.11.
21195         * tests/test-getlogin_r.c (main): Likewise.
21196
21197 2010-12-20  Bruno Haible  <bruno@clisp.org>
21198
21199         getlogin_r: Add missing declaration on HP-UX 11.
21200         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
21201         declared also when it exists as a function.
21202         * doc/posix-functions/getlogin_r.texi: Document this workaround.
21203
21204 2010-12-20  Bruno Haible  <bruno@clisp.org>
21205
21206         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
21207         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
21208         through wcrtomb.
21209
21210 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21211
21212         ftoastr: fix comment
21213         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21214         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
21215
21216 2010-12-19  Bruno Haible  <bruno@clisp.org>
21217
21218         isnan: Ensure it is a macro.
21219         * lib/math.in.h (isnan): Define as a macro if not already a macro.
21220         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
21221         Solaris.
21222
21223 2010-12-19  Bruno Haible  <bruno@clisp.org>
21224
21225         ldexpl test: Fix link error on OSF/1 5.1.
21226         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
21227
21228 2010-12-19  Bruno Haible  <bruno@clisp.org>
21229
21230         wctype: Make it work in C++ mode on OSF/1 5.1.
21231         * lib/wctype.in.h (iswblank): Declare but not define here.
21232         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
21233         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
21234         * modules/wctype (Files): Add lib/iswblank.c.
21235
21236 2010-12-19  Bruno Haible  <bruno@clisp.org>
21237
21238         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
21239         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
21240         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
21241
21242 2010-12-19  Bruno Haible  <bruno@clisp.org>
21243
21244         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
21245         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
21246         _POSIX_PII_SOCKET.
21247         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
21248         * doc/posix-functions/recvfrom.texi: Likewise.
21249         * doc/posix-functions/send.texi: Likewise.
21250         * doc/posix-functions/sendto.texi: Likewise.
21251
21252 2010-12-19  Bruno Haible  <bruno@clisp.org>
21253
21254         tcgetsid: Add missing declaration on OSF/1 5.1.
21255         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
21256         HAVE_TCGETSID.
21257         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
21258         Don't set HAVE_TCGETSID.
21259         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
21260         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
21261         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
21262         HAVE_TCGETSID.
21263         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
21264
21265 2010-12-19  Bruno Haible  <bruno@clisp.org>
21266
21267         stdio: Fix problem with popen() declaration on OSF/1 5.1.
21268         * lib/stdio.in.h: During the include_next statement, let recursive
21269         includes of this file include only the system header file.
21270
21271 2010-12-19  Bruno Haible  <bruno@clisp.org>
21272
21273         iconv_open: Fix regression from 2010-12-04.
21274         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
21275         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
21276
21277 2010-12-19  Bruno Haible  <bruno@clisp.org>
21278
21279         stdbool test: Avoid a gcc warning.
21280         * tests/test-stdbool.c (main): Fail if e1 is false.
21281         Reported by Jim Meyering.
21282
21283 2010-12-19  Jim Meyering  <meyering@redhat.com>
21284
21285         setenv: restore to working order
21286         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
21287         mistakenly removed.
21288         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
21289         HAVE_SETENV.
21290         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
21291         HAVE_SETENV.
21292
21293 2010-12-19  Bruno Haible  <bruno@clisp.org>
21294
21295         Document some different function declarations on OSF/1 5.1.
21296         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
21297         * doc/posix-functions/inet_ntop.texi: Likewise.
21298         * doc/posix-functions/gethostname.texi: Likewise.
21299         * lib/unistd.in.h (gethostname): Update comment.
21300
21301 2010-12-19  Bruno Haible  <bruno@clisp.org>
21302
21303         doc: Mention vasprintf-posix module.
21304         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
21305         the 'vasprintf-posix' module.
21306         * doc/glibc-functions/vasprintf.texi: Likewise.
21307
21308 2010-12-19  Bruno Haible  <bruno@clisp.org>
21309
21310         unsetenv: Add missing declaration on OSF/1 5.1.
21311         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
21312         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
21313         Don't set HAVE_UNSETENV. In the test program, set _BSD.
21314         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
21315         not HAVE_UNSETENV.
21316         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
21317         HAVE_UNSETENV.
21318         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
21319
21320 2010-12-19  Bruno Haible  <bruno@clisp.org>
21321
21322         setenv: Add missing declaration on OSF/1 5.1.
21323         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
21324         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
21325         declared. Don't set HAVE_SETENV.
21326         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
21327         not HAVE_SETENV.
21328         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
21329         HAVE_SETENV.
21330         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
21331
21332 2010-12-19  Bruno Haible  <bruno@clisp.org>
21333
21334         nl_langinfo tests: Avoid gcc warning.
21335         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
21336
21337 2010-12-19  Bruno Haible  <bruno@clisp.org>
21338
21339         mknod: Avoid error in C++ mode on OSF/1 with GCC.
21340         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
21341         _GL_CXXALIAS_SYS.
21342
21343 2010-12-19  Bruno Haible  <bruno@clisp.org>
21344
21345         stdbool: Relax test.
21346         * tests/test-stdbool.c (e): Don't require that casts from a variable's
21347         address to 'bool' work in static initializer, for compilers other than
21348         GCC.
21349
21350 2010-12-19  Bruno Haible  <bruno@clisp.org>
21351
21352         ftello: Add missing declaration on OSF/1 5.1.
21353         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
21354         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
21355         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
21356         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
21357         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
21358
21359 2010-12-19  Bruno Haible  <bruno@clisp.org>
21360
21361         fseeko: Add missing declaration on OSF/1 5.1.
21362         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
21363         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
21364         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
21365         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
21366         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
21367
21368 2010-12-19  Bruno Haible  <bruno@clisp.org>
21369
21370         fchdir: Add missing declaration on OSF/1 5.1.
21371         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
21372         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
21373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
21374         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
21375         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
21376
21377 2010-12-19  Bruno Haible  <bruno@clisp.org>
21378
21379         relocatable-prog-wrapper: Separate from relocatable-prog.
21380         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
21381         uninstall-relocwrapper rule here.
21382         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
21383         Reported by Ian Beckwith <ianb@erislabs.net>.
21384
21385 2010-12-19  Bruno Haible  <bruno@clisp.org>
21386
21387         unistr/u8-mbsnlen: Add missing dependency.
21388         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
21389         Reported by Ian Beckwith <ianb@erislabs.net>.
21390
21391 2010-12-19  Bruno Haible  <bruno@clisp.org>
21392
21393         iconv: Make it possible again to use this module without 'iconv-h'.
21394         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
21395         if it is not defined.
21396         Reported by Ian Beckwith <ianb@erislabs.net>.
21397
21398 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
21399
21400         acl: port to Solaris 8 when copying from tmpfs to ufs
21401         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
21402         error number.  Problem observed on Solaris 8 with latest
21403         coreutils, with "mv A B", where A is on a tmpfs file system and B
21404         is on a ufs file system.  This caused coreutils' mv/part-symlink
21405         test to fail.
21406
21407         tests: set fail=0 at start
21408         * tests/init.sh (setup_): Move fail=0 initialization here ...
21409         (mktempd_): ... from here, so that tests can rely on fail being
21410         set to 0 initially.  This fixes a problem in coreutils; see:
21411         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
21412
21413 2010-12-18  Bruno Haible  <bruno@clisp.org>
21414
21415         memmem-simple: Stylistic changes.
21416         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
21417         Fix preprocessor directive indentation.
21418
21419 2010-12-15  Pádraig Brady <P@draigBrady.com>
21420
21421         memmem, memmem-simple: reorganize and expand empty needle check
21422         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
21423         functional checks to memmem-simple so that one has a fully functional
21424         memmem by using just this module.
21425         Restrict the performance only check to the memmem module.
21426         Also expand the empty needle check to ensure the correct
21427         pointer is returned, not just a non NULL pointer.
21428         * doc/glibc-functions/memmem.texi: Rearrange the portability
21429         documentation to correlate with the rearranged checks.
21430         Clarify exactly how the memmem and memmem-simple modules
21431         relate to each other.
21432
21433 2010-12-15  Pádraig Brady <P@draigBrady.com>
21434             Bruno Haible  <bruno@clisp.org>
21435
21436         Improve cross-compilation guesses for uClibc.
21437         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
21438         that uClibc does not have the glibc bug.
21439         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
21440         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
21441
21442 2010-12-14  Eric Blake  <eblake@redhat.com>
21443
21444         configmake: provide fallbacks for oldest supported autotools
21445         * m4/configmake.m4: New file.
21446         * modules/configmake (Files): Ship it.
21447         (configure.ac): Use it to guarantee fallbacks.
21448
21449 2010-12-13  Pádraig Brady <P@draigBrady.com>
21450
21451         read-file: Improve handling of large files
21452         * lib/read-file.c (fread_file): Minimize realloc()s
21453         for regular files, and better manage sizes around SIZE_MAX.
21454
21455 2010-12-13  Eric Blake  <eblake@redhat.com>
21456
21457         cloexec, fcntl: relax license
21458         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
21459         consent from all contributors.
21460         * modules/fcntl (License): Likewise.
21461
21462 2010-12-10  Bruno Haible  <bruno@clisp.org>
21463
21464         Tests for module 'pipe-posix'.
21465         * modules/pipe-posix-tests: New file.
21466         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
21467
21468 2010-12-10  Bruno Haible  <bruno@clisp.org>
21469
21470         pipe-posix: Make it work in C++ mode.
21471         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
21472         (pipe): Use common idiom, not a macro definition.
21473         * lib/pipe.c: New file.
21474         * m4/pipe.m4: New file.
21475         * modules/pipe-posix (Description): Enhance.
21476         (Files): Add lib/pipe.c, m4/pipe.m4.
21477         (configure.ac): Invoke gl_FUNC_PIPE.
21478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
21479         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
21480         * tests/test-unistd-c++.cc: Check the signature of pipe.
21481
21482 2010-12-10  Bruno Haible  <bruno@clisp.org>
21483
21484         Rename module 'pipe' to 'spawn-pipe'.
21485         * modules/spawn-pipe: New file, renamed from modules/pipe.
21486         (Files, configure.ac, Makefile.am): Update.
21487         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
21488         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
21489         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
21490         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
21491         "spawn-pipe.h" instead of "pipe.h".
21492         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
21493         to gl_SPAWN_PIPE.
21494         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
21495         (Files, Makefile.am): Update.
21496         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
21497         Update.
21498         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
21499         Include "spawn-pipe.h" instead of "pipe.h".
21500         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
21501         * lib/javacomp.c: Likewise.
21502         * lib/javaversion.c: Likewise.
21503         * lib/pipe-filter-gi.c: Likewise.
21504         * lib/pipe-filter-ii.c: Likewise.
21505         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
21506         * modules/javacomp (Depends-on): Likewise.
21507         * modules/javaversion (Depends-on): Likewise.
21508         * modules/pipe-filter-gi (Depends-on): Likewise.
21509         * modules/pipe-filter-ii (Depends-on): Likewise.
21510         * MODULES.html.sh (Executing programs): Update.
21511         * NEWS: Mention the change.
21512
21513 2010-12-10  Eric Blake  <eblake@redhat.com>
21514
21515         pipe-posix: new module
21516         * modules/pipe-posix: New file.
21517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
21518         (gl_UNISTD_H): Check for declaration.
21519         * modules/unistd (Makefile.am): Substitute it.
21520         * lib/unistd.in.h (pipe): Provide it for mingw.
21521         * doc/posix-functions/pipe.texi (pipe): Update documentation.
21522         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
21523
21524 2010-12-07  Bruno Haible  <bruno@clisp.org>
21525
21526         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
21527         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
21528         u8_strcmp_gnu.
21529         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
21530
21531 2010-12-06  Bruno Haible  <bruno@clisp.org>
21532
21533         Update internal documentation.
21534         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
21535
21536 2010-12-04  Bruno Haible  <bruno@clisp.org>
21537
21538         Put more information about failed tests into the test return codes.
21539         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
21540         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
21541         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21542         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21543         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
21544         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21545         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21546         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21547         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
21548         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21549         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
21550         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
21551         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
21552         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21553         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
21554         returns a bit mask.
21555         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
21556         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
21557         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
21558         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
21559         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21560         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21561         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
21562         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
21563         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21564         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
21565         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21566         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
21567         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21568         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
21569         * m4/link.m4 (gl_FUNC_LINK): Likewise.
21570         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
21571         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
21572         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
21573         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21574         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
21575         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21576         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21577         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
21578         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21579         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21580         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
21581         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
21582         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21583         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21584         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
21585         gl_PRINTF_PRECISION): Likewise.
21586         * m4/regex.m4 (gl_REGEX): Likewise.
21587         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
21588         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21589         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
21590         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21591         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
21592         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21593         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
21594         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
21595         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
21596         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21597         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
21598         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
21599         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
21600         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
21601         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21602         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21603         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
21604         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21605         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
21606         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
21607         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
21608         enumerated value.
21609         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
21610
21611 2010-12-04  Bruno Haible  <bruno@clisp.org>
21612
21613         Update for Solaris 11 2010-11.
21614         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
21615         Express, released in November 2010.
21616
21617 2010-12-04  Bruno Haible  <bruno@clisp.org>
21618
21619         nproc: Relax license.
21620         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
21621         and Paul Eggert.
21622         Requested by Ludovic Courtès <ludo@gnu.org>.
21623
21624 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
21625
21626         utimecmp: fine-grained src to nearby coarse-grained dest
21627
21628         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
21629         and the source is on a file system with higher-resolution time
21630         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
21631         not work, and the time stamps are close together, the algorithm to
21632         determine the exact resolution from the read-back mtime was buggy:
21633         it had a "!=" where it should have had an "==".  This bug has been
21634         in the code ever since it was introduced to gnulib.
21635         Problem reported by Dan Jacobson in
21636         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
21637
21638 2010-11-30  Bruno Haible  <bruno@clisp.org>
21639
21640         strerror_r-posix: Fix autoconf test.
21641         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
21642
21643 2010-11-28  Bruno Haible  <bruno@clisp.org>
21644             Paul Eggert  <eggert@cs.ucla.edu>
21645
21646         Tests for module 'getdomainname'.
21647         * modules/getdomainname-tests: New file.
21648         * tests/test-getdomainname.c: New file, based on
21649         tests/test-gethostname.c.
21650
21651 2010-11-28  Bruno Haible  <bruno@clisp.org>
21652             Paul Eggert  <eggert@cs.ucla.edu>
21653
21654         getdomainname: Use the system function when possible.
21655         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
21656         (getdomainname): Replace if needed. Provide the declaration if it is
21657         missing. Don't use _GL_CXXALIAS_SYS_CAST.
21658         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
21659         (getdomainname): When the system has getdomainname, call the system
21660         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
21661         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21662         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
21663         found in libnsl. Look for the declaration also in <netdb.h>. Replace
21664         the function if its second argument is of type 'int' or if it is found
21665         in libnsl.
21666         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
21667         <sys/systeminfo.h> and sysinfo().
21668         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
21669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21670         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
21671         HAVE_GETDOMAINNAME.
21672         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
21673         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
21674         * doc/glibc-functions/getdomainname.texi: Document the problems with
21675         the getdomainname declaration.
21676
21677 2010-11-28  Bruno Haible  <bruno@clisp.org>
21678
21679         sys_socket: Ensure ss_family field on AIX.
21680         * lib/sys_socket.in.h (ss_family): New macro definition.
21681         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
21682         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
21683         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21684         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
21685         * modules/sys_socket (Makefile.am): Substitute
21686         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
21687         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
21688
21689 2010-11-27  Bruno Haible  <bruno@clisp.org>
21690
21691         readline: Improve configure output.
21692         * m4/readline.m4 (gl_FUNC_READLINE): Make the
21693         "checking for readline..." result understandable.
21694
21695 2010-11-27  Bruno Haible  <bruno@clisp.org>
21696
21697         *printf-posix: Detect a bug on Solaris 10/x86.
21698         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
21699         for floating-point output.
21700         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
21701         directive.
21702         * tests/test-snprintf-posix.h (test_function): Likewise.
21703         * tests/test-sprintf-posix.h (test_function): Likewise.
21704         * tests/test-vasprintf-posix.c (test_function): Likewise.
21705         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
21706         * doc/posix-functions/printf.texi: Likewise.
21707         * doc/posix-functions/snprintf.texi: Likewise.
21708         * doc/posix-functions/sprintf.texi: Likewise.
21709         * doc/posix-functions/vfprintf.texi: Likewise.
21710         * doc/posix-functions/vprintf.texi: Likewise.
21711         * doc/posix-functions/vsnprintf.texi: Likewise.
21712         * doc/posix-functions/vsprintf.texi: Likewise.
21713         * doc/glibc-functions/obstack_printf.texi: Likewise.
21714         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
21715
21716 2010-11-27  Bruno Haible  <bruno@clisp.org>
21717
21718         Fix link error when module libunistring-optional is in use.
21719         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
21720         * modules/striconveha-tests (Makefile.am): Likewise.
21721
21722 2010-11-27  Bruno Haible  <bruno@clisp.org>
21723
21724         regex: Mention link dependencies.
21725         * modules/regex (Link): New section.
21726         * modules/rpmatch (Link): Likewise.
21727         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
21728
21729 2010-11-27  Bruno Haible  <bruno@clisp.org>
21730
21731         ftoastr: Fix compilation error on Solaris.
21732         * lib/ftoastr.c: Include <config.h>.
21733
21734 2010-11-27  Bruno Haible  <bruno@clisp.org>
21735
21736         getloadavg: Update documentation.
21737         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
21738
21739 2010-11-27  Bruno Haible  <bruno@clisp.org>
21740
21741         sys_socket: Fix test whether the functions are declared.
21742         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
21743         not <sys/select.h>.
21744
21745 2010-11-27  Bruno Haible  <bruno@clisp.org>
21746
21747         getpass: Make sure to get system declaration on some platforms.
21748         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
21749         gl_USE_SYSTEM_EXTENSIONS.
21750         * modules/getpass (Depends-on): Add extensions.
21751
21752 2010-11-26  Bruno Haible  <bruno@clisp.org>
21753
21754         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
21755         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
21756         'iconv' module is present.
21757         (ICONV_CONST): New macro.
21758         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
21759         ICONV_CONST.
21760         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
21761         set ICONV_CONST.
21762         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
21763         here.
21764         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
21765         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
21766         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
21767         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
21768         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
21769         present.
21770
21771 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
21772
21773         ftoastr: comment fix
21774         * lib/ftoastr.c: "little" -> "little or no" in comment
21775
21776 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21777
21778         stdint: port to GCC 4.3 + OSX + Octave
21779         On this platform, stdint.h is buggy and defines int64_t to long
21780         long int.  The replacement defined it to long int, causing
21781         problems with C++ style name mangling.  Instead, trust the system
21782         definition if INT64_MAX is defined, and likewise for the unsigned
21783         variant.   Problem reported by Jarno Rajahalme in
21784         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
21785         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
21786         and don't mess with int64_t and INT64_MAX in this case.
21787         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
21788
21789 2010-11-24  Bruno Haible  <bruno@clisp.org>
21790
21791         doc: Corrections regarding MacOS X 10.4 and 10.5.
21792         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
21793         MacOS X.
21794         Reported by Simon Josefsson.
21795
21796 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
21797
21798         Uninstall ".bin" files installed by relocwrapper.
21799         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
21800         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
21801         unless it is already there.
21802
21803 2010-11-21  Bruno Haible  <bruno@clisp.org>
21804
21805         Update for NetBSD 5.0.
21806         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21807         NetBSD; the test fails on NetBSD 5.0.
21808         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21809         about NetBSD.
21810
21811 2010-11-21  Bruno Haible  <bruno@clisp.org>
21812
21813         Update for HP-UX 11.23 and HP-UX 11.31.
21814         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
21815         HP-UX.
21816
21817 2010-11-21  Bruno Haible  <bruno@clisp.org>
21818
21819         Update for MacOS X 10.5.
21820         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21821         MacOS X; the test fails on MacOS X 10.5.8.
21822         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21823         about MacOS X.
21824
21825 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
21826
21827         bootstrap: add bootstrap_sync option.
21828         See discussion at
21829         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
21830         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
21831         * build-aux/bootstrap: Accept --bootstrap-sync to update
21832         bootstrap if it is not identical to the local gnulib's
21833         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
21834         enable this by default.  Accept --no-bootstrap-sync to disable
21835         it.
21836
21837 2010-11-20  Bruno Haible  <bruno@clisp.org>
21838
21839         Ensure that <features.h> is included before __GLIBC__ is tested.
21840         * lib/printf-parse.h: Include <features.h>.
21841         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
21842         Reported by Mike Frysinger <vapier@gentoo.org>.
21843
21844         Ensure that <features.h> is included before __GLIBC__ is tested.
21845         * lib/wchar.in.h: Include <features.h>.
21846         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
21847         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
21848         Reported by Mike Frysinger <vapier@gentoo.org>.
21849
21850         Ensure that <features.h> is included before __GLIBC__ is tested.
21851         * lib/arpa_inet.in.h: Include <features.h>.
21852         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
21853         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
21854         Reported by Mike Frysinger <vapier@gentoo.org>.
21855
21856         Ensure that <features.h> is included before __GLIBC__ is tested.
21857         * build-aux/link-warning.h: Include <features.h>.
21858         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
21859         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
21860         Reported by Mike Frysinger <vapier@gentoo.org>.
21861
21862         Ensure that <features.h> is included before __GLIBC__ is tested.
21863         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
21864         Reported by Mike Frysinger <vapier@gentoo.org>.
21865
21866 2010-11-20  Bruno Haible  <bruno@clisp.org>
21867
21868         memmem: Fix autoconf test.
21869         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
21870
21871 2010-11-20  Bruno Haible  <bruno@clisp.org>
21872
21873         Port to uClibc.
21874         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
21875         * lib/fcntl.in.h: Likewise.
21876         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
21877         * lib/mbrtowc.c (mbrtowc): Likewise.
21878         * lib/relocatable.c (find_shared_library_fullname): Likewise.
21879         * lib/strerror_r.c: Likewise.
21880         * lib/unistr/u8-strnlen.c: Likewise.
21881         * lib/vasnprintf.c (decimal_point_char): Likewise.
21882         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21883         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
21884         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
21885         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21886         * tests/test-sigaction.c (handler, main): Likewise.
21887         * lib/freading.h: Treat uClibc like a non-glibc platform.
21888         * lib/freading.c: Likewise.
21889         * lib/gettext.h: Likewise.
21890         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
21891         Likewise.
21892         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
21893         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
21894         * lib/propername.c (proper_name_utf8): Likewise.
21895         * lib/spawn.in.h: Likewise.
21896         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
21897         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
21898         mem_cd_iconveh_internal): Likewise.
21899         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
21900         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21901         strstr, strcasestr): Likewise.
21902         * lib/unicodeio.c (unicode_to_mb): Likewise.
21903         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
21904         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
21905         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
21906         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
21907         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
21908         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
21909         * lib/unistr/u8-stpncpy.c: Likewise.
21910         * lib/vasnprintf.c (VASNPRINTF): Likewise.
21911         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
21912         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21913         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21914         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21915         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
21916         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
21917         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
21918         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
21919         Likewise.
21920         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21921         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21922         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
21923         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21924         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21925         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21926         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21927         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21928         * tests/test-getopt.h (OPTIND_MIN): Likewise.
21929         * tests/test-striconveha.c (main): Likewise.
21930         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21931         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
21932         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
21933         * doc/posix-functions/getline.texi: Likewise.
21934         Reported by Mike Frysinger <vapier@gentoo.org>.
21935
21936 2010-11-20  Bruno Haible  <bruno@clisp.org>
21937
21938         nproc: Fix condition.
21939         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
21940         HAVE_PTHREAD_AFFINITY_NP.
21941
21942 2010-11-20  Bruno Haible  <bruno@clisp.org>
21943
21944         Fix a comment.
21945         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
21946
21947 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
21948
21949         ftoastr: don't assume snprintf
21950         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
21951         Implement a subset of snprintf here, by using sprintf safely.
21952         * modules/ftoastr (Depends-on): Remove snprintf.
21953
21954 2010-11-19  Jim Meyering  <meyering@redhat.com>
21955
21956         test-rename.h: fix compilation failure
21957         * tests/test-rename.h (test_rename): Add omitted "}".
21958
21959 2010-11-17  Jim Meyering  <meyering@redhat.com>
21960
21961         maint.mk: add a URL discussing the no-@acronym policy
21962         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
21963
21964 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
21965
21966         ftoastr: depend on snprintf, improve comments
21967         * lib/ftoastr.c: Also mention Loitsch's draft.
21968         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
21969         needed in the current implementation, but it might simplify
21970         speeding up the code later.
21971         * modules/ftoastr: Depend on snprintf; this improves portability.
21972         Suggested by Bruno Haible in the same email.
21973
21974         ftoastr: port to hosts lacking strtof and strtold
21975         Problem reported by Bruno Haible in
21976         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
21977         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
21978         environment and strtold (and presumably strtof) are not available.
21979         * modules/ftoastr (Files): Add m4/c-strtod.m4.
21980         (configure.ac): Require gl_C99_STRTOLD.
21981
21982 2010-11-18  Bruno Haible  <bruno@clisp.org>
21983
21984         c-strtold: Avoid link error on AIX 7.
21985         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
21986         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
21987         (gl_C_STRTOLD): Test whether strtold_l exists.
21988         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21989
21990 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21991
21992         intprops: new macro INT_BITS_STRLEN_BOUND
21993         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
21994         ftoastr.h.  This exposes an internal of intprops.h that was formerly
21995         not exposed.  Also, it uses a slightly tighter bound than before;
21996         though this makes no practical difference, we might as well be as
21997         tight as we easily can.
21998
21999         ftoastr: new module, for lossless conversion of floats to short strings
22000         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22001         * modules/ftoastr: New files.
22002
22003 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22004
22005         bootstrap: port to Solaris sed
22006         * build-aux/bootstrap (get_version): Port to Solaris sed.
22007         See Ralf Wildenhues's note in
22008         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22009
22010 2010-11-14  Jim Meyering  <meyering@redhat.com>
22011
22012         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22013         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22014         and move definition closer to sole use.
22015
22016 2010-11-13  Jim Meyering  <meyering@redhat.com>
22017
22018         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22019         Now we require at least autoconf-2.59, which means the work-around
22020         is no longer needed.
22021         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22022         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22023         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22024         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22025         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22026
22027 2010-11-13  Bruno Haible  <bruno@clisp.org>
22028
22029         rename, renameat: Avoid test failures at NFS mounted locations.
22030         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22031         functions.
22032         (test_rename): Use assert_nonexistent.
22033         * tests/test-rename.c: Include <dirent.h>.
22034         * tests/test-renameat.c: Likewise.
22035         Reported by Gary V. Vaughan <gary@gnu.org>.
22036
22037         rename, renameat: Document Linux bug with NFS
22038         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22039         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22040         * doc/posix-functions/renameat.texi: Likewise.
22041         Suggested by Eric Blake.
22042
22043 2010-11-13  Bruno Haible  <bruno@clisp.org>
22044
22045         rename test: Add comments.
22046         * tests/test-rename.h (test_rename): Add structure and comments.
22047
22048 2010-11-13  Eric Blake  <eblake@redhat.com>
22049
22050         maintainer-makefile: cover a few more files
22051         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22052         scripts generated within C files, for libvirt.
22053
22054 2010-11-13  Bruno Haible  <bruno@clisp.org>
22055
22056         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22057         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22058         character, return the number of bytes that belong together, not always
22059         1.
22060         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22061         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22062         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22063         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22064         number of bytes of an invalid character.
22065         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22066         (main): Invoke it.
22067         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22068         results.
22069         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22070         malformed byte sequences.
22071         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22072         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22073         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22074         Reported by Ben Pfaff and Paolo Bonzini.
22075
22076 2010-11-13  Bruno Haible  <bruno@clisp.org>
22077
22078         openat: Work around glibc bug with fchownat() and empty file names.
22079         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22080         (gl_FUNC_FCHOWNAT): Invoke it.
22081         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22082         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22083         Reported by Gary V. Vaughan <gary@gnu.org>.
22084
22085 2010-11-13  Bruno Haible  <bruno@clisp.org>
22086
22087         openat: Ensure autoconf macro ordering.
22088         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22089         gl_USE_SYSTEM_EXTENSIONS.
22090         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22091
22092 2010-11-13  Bruno Haible  <bruno@clisp.org>
22093
22094         Update comments.
22095         * lib/unistr/u8-check.c: Update file name in comments.
22096         * lib/unistr/u8-mblen.c: Likewise.
22097         * lib/unistr/u8-prev.c: Likewise.
22098         * lib/unistr/u8-strmblen.c: Likewise.
22099         * lib/unistr/u8-strmbtouc.c: Likewise.
22100
22101 2010-11-13  Jim Meyering  <meyering@redhat.com>
22102
22103         tests: avoid test failure on Solaris 10 due to lack of PATH export
22104         * tests/test-update-copyright.sh: Don't forget to export PATH.
22105
22106         init.sh: ensure that IFS is defined, just in case...
22107         * tests/init.sh (setup_): Ensure that IFS is defined,
22108         so that saving and restoring it works as expected.  This
22109         appears to be useful at least for an old version of dash
22110         from a long time ago (RH 6).  See here for details:
22111         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22112
22113         maint.mk: tighten "test a == b" check
22114         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22115         test to files that contain something like #!/bin/sh.
22116         Without this, coreutils would get two false positives in
22117         the comments of C source files.
22118
22119 2010-11-12  Eric Blake  <eblake@redhat.com>
22120
22121         bootstrap: fix typo in previous attempt
22122         * build-aux/bootstrap (buildreq): Correct the grouping.
22123         Reported by Paul Eggert.
22124
22125         maintainer-makefile: prohibit test x == x
22126         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22127         Based on a report by Matthias Bolte.
22128
22129         bootstrap: allow FreeBSD gzip
22130         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22131         which has no '.' and goes to stderr.
22132         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22133         Reported by Matthias Bolte.
22134
22135         maintainer-makefile: check for i18n setup
22136         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22137         will likely work.
22138
22139 2010-11-12  Bruno Haible  <bruno@clisp.org>
22140
22141         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22142         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22143         * lib/nanosleep.c (nanosleep): Likewise.
22144
22145 2010-11-11  Bruno Haible  <bruno@clisp.org>
22146
22147         fcntl-h: Fix for use of C++ on glibc systems.
22148         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22149         also on glibc systems in C++ mode.
22150         Reported by Gary V. Vaughan <gary@gnu.org>.
22151
22152 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22153
22154         mknod: avoid false failure with dash
22155         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
22156
22157 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22158
22159         unlink: Fix "is it should" typo in diagnostic.
22160         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
22161         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
22162
22163 2010-11-11  Bruno Haible  <bruno@clisp.org>
22164
22165         Tests for module 'strerror_r-posix'.
22166         * modules/strerror_r-posix-tests: New file.
22167         * tests/test-strerror_r.c: New file.
22168         * tests/test-string-c++.cc: Check the signature of strerror_r.
22169
22170         New module 'strerror_r-posix'.
22171         * lib/string.in.h (strerror_r): New declaration.
22172         * lib/strerror_r.c: New file.
22173         * m4/strerror_r.m4: New file.
22174         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22175         of strerror_r.
22176         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22177         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22178         * modules/strerror_r-posix: New file.
22179         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22180         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22181         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22182         portability problems.
22183
22184 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22185
22186         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22187         line is also considered for output. Quoted function name in shell
22188         command, so temporary files for functions like MyClass::operator()
22189         are removed correctly without errors.
22190
22191 2010-11-09  Bruno Haible  <bruno@clisp.org>
22192
22193         * doc/posix-functions/strerror.texi: List more failing platforms.
22194
22195         * doc/posix-functions/strerror.texi: Add a comment.
22196
22197 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
22198
22199         fdopendir: fix bug on MacOS X when low on file descriptors
22200
22201         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
22202         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
22203         All callers changed.
22204         (fdopendir): Invoke save_cwd at the top level, not after using
22205         multiple dup() calls to use up file descriptors.  Then retry
22206         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
22207         less than the maximum number of open file descriptors, because
22208         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
22209         on Mac OS X 10.6.4 for tar 1.24
22210         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
22211         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
22212         and for tar 1.25
22213         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
22214
22215 2010-11-07  Bruno Haible  <bruno@clisp.org>
22216
22217         vasnprintf: Support I flag on glibc systems.
22218         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
22219         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
22220         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
22221         snprintf function.
22222         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
22223         glibc systems.
22224         * tests/test-vasnprintf-posix3.c: New file.
22225         * modules/vasnprintf-posix-tests (Files): Add it.
22226         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
22227
22228 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22229
22230         [html] Fix copy/paste bug: Use unique name for compiler warnings.
22231         * MODULES.html.sh: For compiler warnings, use name
22232         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
22233
22234 2010-11-05  Eric Blake  <eblake@redhat.com>
22235
22236         ceil, floor: avoid spurious failure with icc
22237         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
22238         [denormals-as-zero] when optimizing without -mieee-fp option.
22239         * tests/test-floorf2.c (floorf_reference): Likewise.
22240         * tests/test-ceilf1.c (dummy): New function.
22241         (main): Use it to outsmart icc's optimization.
22242         * tests/test-floorf1.c (dummy, main): Likewise.
22243
22244         tests: require working signbit
22245         * modules/ceilf-tests (Depends-on): Add signbit.
22246         * modules/ceill-tests (Depends-on): Likewise.
22247         * modules/floorf-tests (Depends-on): Likewise.
22248         * modules/floorl-tests (Depends-on): Likewise.
22249         * modules/round-tests (Depends-on): Likewise.
22250         * modules/roundf-tests (Depends-on): Likewise.
22251         * modules/roundl-tests (Depends-on): Likewise.
22252         * modules/trunc-tests (Depends-on): Likewise.
22253         * modules/truncf-tests (Depends-on): Likewise.
22254         * modules/truncl-tests (Depends-on): Likewise.
22255
22256         strtod: work around icc bug
22257         * lib/strtod.c (minus_zero): Define to working value.
22258         (strtod): Use it to avoid icc bug.
22259
22260         copysign: enhance tests
22261         * modules/copysign-tests (Files): Add minus-zero.h.
22262         * tests/test-copysign.c (main): Also test zeros.
22263
22264 2010-11-04  Eric Blake  <eblake@redhat.com>
22265
22266         ceil, floor, round, trunc: enhance tests of -0
22267         * tests/test-ceilf1.c (main): Ensure correct sign of result.
22268         * tests/test-ceill.c (main): Likewise.
22269         * tests/test-floorf1.c (main): Likewise.
22270         * tests/test-floorl.c (main): Likewise.
22271         * tests/test-round1.c (main): Likewise.
22272         * tests/test-roundf1.c (main): Likewise.
22273         * tests/test-roundl.c (main): Likewise.
22274         * tests/test-trunc1.c (main): Likewise.
22275         * tests/test-truncf1.c (main): Likewise.
22276         * tests/test-truncl.c (main): Likewise.
22277
22278 2010-11-04  Eric Blake  <eblake@redhat.com>
22279
22280         frexp, tests: work around ICC bug with -zero
22281         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
22282         works with more compilers.
22283         * tests/minus-zero.h: New file.
22284         * modules/ceilf-tests (Files): Include it.
22285         * modules/ceill-tests (Files): Likewise.
22286         * modules/floorf-tests (Files): Likewise.
22287         * modules/floorl-tests (Files): Likewise.
22288         * modules/frexp-nolibm-tests (Files): Likewise.
22289         * modules/frexp-tests (Files): Likewise.
22290         * modules/frexpl-nolibm-tests (Files): Likewise.
22291         * modules/frexpl-tests (Files): Likewise.
22292         * modules/isnan-tests (Files): Likewise.
22293         * modules/isnand-nolibm-tests (Files): Likewise.
22294         * modules/isnand-tests (Files): Likewise.
22295         * modules/isnanf-nolibm-tests (Files): Likewise.
22296         * modules/isnanf-tests (Files): Likewise.
22297         * modules/isnanl-nolibm-tests (Files): Likewise.
22298         * modules/isnanl-tests (Files): Likewise.
22299         * modules/round-tests (Files): Likewise.
22300         * modules/roundf-tests (Files): Likewise.
22301         * modules/roundl-tests (Files): Likewise.
22302         * modules/ldexpl-tests (Files): Likewise.
22303         * modules/signbit-tests (Files): Likewise.
22304         * modules/snprintf-posix-tests (Files): Likewise.
22305         * modules/sprintf-posix-tests (Files): Likewise.
22306         * modules/strtod-tests (Files): Likewise.
22307         * modules/trunc-tests (Files): Likewise.
22308         * modules/truncf-tests (Files): Likewise.
22309         * modules/truncl-tests (Files): Likewise.
22310         * modules/vsnprintf-posix-tests (Files): Likewise.
22311         * modules/vsprintf-posix-tests (Files): Likewise.
22312         * modules/vasnprintf-posix-tests (Files): Likewise.
22313         * modules/vasprintf-posix-tests (Files): Likewise.
22314         * tests/test-ceilf1.c (main): Use it.
22315         * tests/test-ceill.c (main): Likewise.
22316         * tests/test-floorf1.c (main): Likewise.
22317         * tests/test-floorl.c (main): Likewise.
22318         * tests/test-frexp.c (main): Likewise.
22319         * tests/test-frexpl.c (main): Likewise.
22320         * tests/test-isnan.c (main): Likewise.
22321         * tests/test-isnand.h (main): Likewise.
22322         * tests/test-isnanf.h (main): Likewise.
22323         * tests/test-isnanl.h (main): Likewise.
22324         * tests/test-ldexpl.c (main): Likewise.
22325         * tests/test-round.c (main): Likewise.
22326         * tests/test-roundf.c (main): Likewise.
22327         * tests/test-roundl.c (main): Likewise.
22328         * tests/test-signbit.c (test_signbitf, test_signbitd)
22329         (test_signbitl): Likewise.
22330         * tests/test-snprintf-posix.h (test_function): Likewise.
22331         * tests/test-sprintf-posix.h (test_function): Likewise.
22332         * tests/test-strtod.c (main): Likewise.
22333         * tests/test-trunc1.c (main): Likewise.
22334         * tests/test-truncf1.c (main): Likewise.
22335         * tests/test-truncl.c (main): Likewise.
22336
22337         isnanl: work around icc bug
22338         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
22339
22340 2010-11-03  Eric Blake  <eblake@redhat.com>
22341
22342         tests: fix compiler warnings
22343         * tests/test-getopt.h (test_getopt): Fix condition.
22344         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22345         * tests/test-pipe2.c (main): Likewise.
22346         * tests/test-quotearg-simple.c (main): Avoid icc warning.
22347
22348         utimens: fix broken m4 test
22349         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
22350
22351 2010-10-28  Bruno Haible  <bruno@clisp.org>
22352
22353         posix_spawn*, getdtablesize: Relax license.
22354         * modules/posix_spawn (License): Change to LGPLv2+.
22355         * modules/posix_spawnp (License): Likewise.
22356         * modules/posix_spawn-internal (License): Likewise.
22357         * modules/posix_spawnattr_init (License): Likewise.
22358         * modules/posix_spawnattr_getflags (License): Likewise.
22359         * modules/posix_spawnattr_setflags (License): Likewise.
22360         * modules/posix_spawnattr_getpgroup (License): Likewise.
22361         * modules/posix_spawnattr_setpgroup (License): Likewise.
22362         * modules/posix_spawnattr_getschedparam (License): Likewise.
22363         * modules/posix_spawnattr_setschedparam (License): Likewise.
22364         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
22365         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
22366         * modules/posix_spawnattr_getsigdefault (License): Likewise.
22367         * modules/posix_spawnattr_setsigdefault (License): Likewise.
22368         * modules/posix_spawnattr_getsigmask (License): Likewise.
22369         * modules/posix_spawnattr_setsigmask (License): Likewise.
22370         * modules/posix_spawnattr_destroy (License): Likewise.
22371         * modules/posix_spawn_file_actions_init (License): Likewise.
22372         * modules/posix_spawn_file_actions_addclose (License): Likewise.
22373         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
22374         * modules/posix_spawn_file_actions_addopen (License): Likewise.
22375         * modules/posix_spawn_file_actions_destroy (License): Likewise.
22376         * modules/getdtablesize (License): Likewise.
22377         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
22378
22379 2010-10-26  Bruno Haible  <bruno@clisp.org>
22380
22381         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
22382         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
22383         Cygwin and mingw.
22384         Suggested by Eric Blake.
22385
22386 2010-10-26  Bruno Haible  <bruno@clisp.org>
22387
22388         stdio: Work around compilation error due to renameat() on Solaris 10.
22389         * lib/stdio.in.h: Include <unistd.h> on Solaris.
22390         * lib/renameat.c: Don't include <unistd.h> here.
22391         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
22392         Reported by Paul Eggert and Eric Blake.
22393
22394 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
22395
22396         renameat: port to Solaris 10, which declares renameat in unistd.h
22397
22398         * lib/renameat.c: Include unistd.h before stdio.h, because
22399         Solaris 10 declares renameat in unistd.h.  Problem encountered
22400         when building GNU tar 1.24 on Solaris 10.
22401
22402 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22403
22404         fdopendir: fix C89 compilation
22405         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
22406         compilers.
22407
22408 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
22409
22410         inttostr: simplify by removing unnecessary redundancy
22411         * lib/anytostr.c: Don't include verify.h.
22412         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
22413         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
22414         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
22415         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
22416         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
22417         Likewise.
22418         * modules/inttostr (Depends-on): Remove 'verify'.
22419
22420 2010-10-23  Bruno Haible  <bruno@clisp.org>
22421
22422         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
22423         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
22424         Reported by Eric Blake.
22425
22426 2010-10-23  Bruno Haible  <bruno@clisp.org>
22427
22428         Tests: Fix LOCALE_JA on MirBSD 10.
22429         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
22430         to an UTF-8 locale.
22431         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
22432         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22433         Reported by Eric Blake.
22434
22435 2010-10-21  Bruno Haible  <bruno@clisp.org>
22436
22437         nl_langinfo test: Avoid test failure on NetBSD 5.
22438         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
22439         Reported by Eric Blake.
22440
22441 2010-10-21  Eric Blake  <eblake@redhat.com>
22442
22443         c-stack: work around libsigsegv 2.8 bug
22444         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
22445         overflow on at least PowerPC64.
22446
22447 2010-10-17  Bruno Haible  <bruno@clisp.org>
22448
22449         userspec: Drop redundant file.
22450         * modules/userspec (Files): Remove lib/inttostr.h.
22451
22452 2010-10-17  Bruno Haible  <bruno@clisp.org>
22453
22454         nl_langinfo tests: Silence some warnings.
22455         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
22456         Reported by Jim Meyering.
22457
22458 2010-10-17  Bruno Haible  <bruno@clisp.org>
22459
22460         Make use of GCC's attribute __alloc_size__.
22461         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
22462         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
22463         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
22464         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
22465         __alloc_size__.
22466         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22467         Suggested by Jim Meyering.
22468
22469 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
22470
22471         bootstrap: anchor .gitignore entries.
22472         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
22473         with...
22474         (insert_vc_ignore): ... this new function, which prepends `/' to
22475         all .gitignore entries before passing them to
22476         insert_sorted_if_absent.
22477
22478 2010-10-16  Bruno Haible  <bruno@clisp.org>
22479
22480         nextafter: Fix configure check.
22481         * modules/nextafter (configure.ac): Correct expected prototype.
22482
22483 2010-10-16  Bruno Haible  <bruno@clisp.org>
22484
22485         termios: Update documentation.
22486         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
22487
22488 2010-10-16  Bruno Haible  <bruno@clisp.org>
22489
22490         tests: Make them compile with TinyCC.
22491         * tests/test-strstr.c (main): Remove parentheses around array
22492         initializer.
22493
22494 2010-10-15  Eric Blake  <eblake@redhat.com>
22495
22496         ignore-value: make header idempotent
22497         * lib/ignore-value.h: Add double-inclusion guards.
22498         Reported by Stefan Berger.
22499
22500 2010-10-15  Jim Meyering  <meyering@redhat.com>
22501
22502         GNUmakefile: handle "stable" target, not "major"
22503         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
22504         lists in maint.mk and announce-gen.  Without this, "make stable"
22505         would fail to ensure that $(VERSION) is up to date.
22506
22507 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
22508
22509         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
22510         & co.
22511
22512 2010-10-14  Bruno Haible  <bruno@clisp.org>
22513
22514         vasnprintf: Don't set errno to 0.
22515         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
22516         block that sets it to 0.
22517         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
22518
22519 2010-10-14  Bruno Haible  <bruno@clisp.org>
22520
22521         socketlib: Fix.
22522         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
22523         gl_PREREQ_SYS_H_WINSOCK2.
22524         Reported by Ian Beckwith <ianb@erislabs.net>.
22525
22526 2010-10-13  Jim Meyering  <meyering@redhat.com>
22527
22528         test-select-stdin.c: avoid warn_unused_result warnings
22529         * tests/test-select-stdin.c: Include "macros.h".
22530         ASSERT that read and fflush succeed.
22531
22532 2010-10-13  Jim Meyering  <meyering@redhat.com>
22533
22534         git-version-gen: do require git-VC'd files in cwd
22535         * build-aux/git-version-gen: Reject a git version string
22536         if there are no commits associated with the current directory.
22537         This avoids an unlikely false-positive (unrelated dir whose parent
22538         repository also contains a tag matching v*), as pointed out
22539         by Giuseppe Scrivano in
22540         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
22541
22542 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
22543
22544         argv-iter: omit nonconforming declaration
22545         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
22546         enum arg_iter_err declaration, which doesn't conform to C99.
22547         Solaris 10 cc warns about this.
22548
22549 2010-10-13  Eric Blake  <eblake@redhat.com>
22550
22551         termios: fix compilation on mingw
22552         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
22553         (gl_TERMIOS_H): Adjust it on mingw.
22554         * modules/termios (Makefile.am): Substitute new key.
22555         * lib/termios.in.h (includes): Make include_next conditional.
22556         * doc/posix-headers/termios.texi (termios.h): Update
22557         documentation.
22558         Reported by Daniel P. Berrange.
22559
22560 2010-10-13  Jim Meyering  <meyering@redhat.com>
22561
22562         git-version-gen: don't require that .git/ be in the current dir
22563         * build-aux/git-version-gen: Adjust this script so that it works
22564         when run from any working directory beneath the top-level .git/-
22565         containing directory.  Inspired by a patch from Giuseppe Scrivano,
22566         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
22567
22568         test-select: avoid warn_unused_result warnings
22569         * tests/test-select.c: Include "macros.h".
22570         ASSERT that each call to read, write, and pipe succeeds.
22571         While not technically required, also check each "close".
22572         * modules/select-tests (Files): Add tests/macros.h.
22573
22574         test-symlinkat: remove declaration of unused local
22575         * tests/test-symlinkat.c (main): Remove unused local, "buf".
22576
22577         test-inttostr: avoid shadowing warnings
22578         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
22579         and use malloc rather than the stack for the same reason as
22580         mentioned in the comment justifying the other allocation.
22581
22582 2010-10-11  Bruno Haible  <bruno@clisp.org>
22583
22584         stdlib: Allow multiple gnulib generated replacements to coexist.
22585         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
22586         Reported by Sam Steingold <sds@gnu.org>.
22587
22588 2010-10-11  Jim Meyering  <meyering@redhat.com>
22589
22590         fix a documentation typo
22591         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
22592
22593 2010-10-11  Eric Blake  <eblake@redhat.com>
22594
22595         futimens: work around Solaris 11 bug
22596         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
22597         * tests/test-futimens.h (test_futimens): Enhance, rather than
22598         weaken test.
22599         * doc/posix-functions/futimens.texi (futimens): Document the bug.
22600
22601 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22602
22603         Indentation.
22604         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
22605         higher-level operators more to the left.
22606
22607 2010-10-11  Jim Meyering  <meyering@redhat.com>
22608
22609         test-futimens: avoid unwarranted test failure on Solaris 5.11
22610         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
22611         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
22612         because it tries to dereference the NULL name argument.
22613
22614 2010-10-11  Bruno Haible  <bruno@clisp.org>
22615
22616         Indentation.
22617         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
22618         indentation.
22619
22620 2010-10-11  Jim Meyering  <meyering@redhat.com>
22621
22622         spawn.in.h: make indentation consistent with parentheses
22623         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
22624         Make indentation consistent with parentheses.
22625
22626 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
22627
22628         Fix mismatched parens in previous commit
22629         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
22630         parens.
22631
22632 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
22633
22634         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
22635
22636         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
22637         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
22638         * lib/malloca.c: Include "verify.h".
22639         (verify1): Remove, replacing with a verify call.
22640         * lib/relocwrapper.c (verify1): Likewise.
22641         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
22642         Likewise.
22643         * modules/malloca (Depends-on): Add 'verify'.
22644         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
22645         * modules/vasnprintf (Depends-on): Add 'verify'.
22646         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22647         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22648         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22649         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22650         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22651         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22652         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22653
22654         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
22655
22656         Formerly the style was sometimes 2*X - 1, because the C standard
22657         was wrongly thought to disallow ?: in integral constant expressions.
22658         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
22659         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
22660         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22661         * lib/stdint.in.h (_verify_intmax_size): Likewise.
22662         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
22663         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
22664         verify that time_t cannot be floating.
22665
22666 2010-10-08  Eric Blake  <eblake@redhat.com>
22667
22668         time: enforce recent POSIX ruling that time_t is integral
22669         * lib/time.in.h (__time_t_must_be_integral): Detect any
22670         problematic systems, allowing the rest of gnulib to assume POSIX.
22671
22672 2010-10-08  Jim Meyering  <meyering@redhat.com>
22673
22674         fdopendir: fix a bug on systems lacking openat and /proc support
22675         OpenBSD 4.7 is one such system.  The most noticeable effect was
22676         failure of any application making nontrivial use of fts: rm, du,
22677         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
22678           ./rm: traversal failed: `a': Bad file descriptor
22679         Debugging that, you see that even though FD 6 was closed just
22680         prior to the opendir call in fd_clone_opendir, its resulting
22681         dir->dd_fd was 8, rather than the expected value of 6:
22682
22683         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
22684         93                close (fd);
22685         (gdb) n
22686         94                dir = fd_clone_opendir (dupfd);
22687         (gdb) n
22688         95                saved_errno = errno;
22689         (gdb) p dir->dd_fd
22690         $11 = 8
22691
22692         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
22693         The problem is that on OpenBSD, fd_clone_opendir has to resort
22694         to using the old-style save/restore CWD mechanism, due to its
22695         lack of openat/proc support, and *that* would steal the FD (6)
22696         that opendir was supposed to use.
22697
22698         The fix is to squirrel away the desired FD so that save_cwd uses a
22699         different one, and then free the dest FD right before calling opendir.
22700         That guarantees opendir will use the required file descriptor.
22701
22702         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
22703
22704 2010-10-08  Bruno Haible  <bruno@clisp.org>
22705
22706         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
22707         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
22708
22709 2010-10-08  Bruno Haible  <bruno@clisp.org>
22710
22711         nanosleep: Make replacement POSIX compliant.
22712         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
22713         is out of range.
22714         Reported by Jim Meyering.
22715
22716 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22717
22718         bootstrap: add hook for altering gnulib.mk, for Bison
22719         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
22720         the Bison bootstrapping process can rewrite file names and variables
22721         in this file before later parts of 'bootstrap' use the file.
22722         Bison wants to include lib/gnulib.mk from the top-level makefile,
22723         so it needs the file names in this file to be relative to the top
22724         level, not relative to lib; plus it needs variable names to be
22725         rewritten.
22726         (slurp): Use the new function.
22727
22728         bootstrap: reformat for readability
22729         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
22730
22731 2010-10-08  Eric Blake  <eblake@redhat.com>
22732
22733         docs: update cygwin progress
22734         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
22735         1.7.7.
22736         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
22737         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
22738         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
22739         * doc/posix-functions/carg.texi (carg): Likewise.
22740         * doc/posix-functions/cargf.texi (cargf): Likewise.
22741         * doc/posix-functions/casin.texi (casin): Likewise.
22742         * doc/posix-functions/casinf.texi (casinf): Likewise.
22743         * doc/posix-functions/casinh.texi (casinh): Likewise.
22744         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
22745         * doc/posix-functions/catan.texi (catan): Likewise.
22746         * doc/posix-functions/catanf.texi (catanf): Likewise.
22747         * doc/posix-functions/catanh.texi (catanh): Likewise.
22748         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
22749         * doc/posix-functions/ccos.texi (ccos): Likewise.
22750         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
22751         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
22752         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
22753         * doc/posix-functions/cexp.texi (cexp): Likewise.
22754         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
22755         * doc/posix-functions/cimag.texi (cimag): Likewise.
22756         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
22757         * doc/posix-functions/clog.texi (clog): Likewise.
22758         * doc/posix-functions/clogf.texi (clogf): Likewise.
22759         * doc/posix-functions/conj.texi (conj): Likewise.
22760         * doc/posix-functions/conjf.texi (conjf): Likewise.
22761         * doc/posix-functions/cpow.texi (cpow): Likewise.
22762         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
22763         * doc/posix-functions/cproj.texi (cproj): Likewise.
22764         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
22765         * doc/posix-functions/creal.texi (creal): Likewise.
22766         * doc/posix-functions/crealf.texi (crealf): Likewise.
22767         * doc/posix-functions/csin.texi (csin): Likewise.
22768         * doc/posix-functions/csinf.texi (csinf): Likewise.
22769         * doc/posix-functions/csinh.texi (csinh): Likewise.
22770         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
22771         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
22772         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
22773         * doc/posix-functions/ctan.texi (ctan): Likewise.
22774         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
22775         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
22776         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
22777         * doc/posix-headers/complex.texi (complex.h): Likewise.
22778
22779 2010-10-07  Jim Meyering  <meyering@redhat.com>
22780
22781         parse-datetime: avoid compilation failure on OpenBSD 4.7
22782         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
22783         This works around a compilation failure on OpenBSD 4.7:
22784         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
22785
22786 2010-10-07  Eric Blake  <eblake@redhat.com>
22787
22788         docs: update cygwin progress
22789         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
22790         1.7.6.
22791         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
22792         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
22793         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
22794         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
22795         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
22796         Likewise.
22797         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
22798         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
22799         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
22800         Likewise.
22801         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
22802         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
22803         Likewise.
22804         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
22805         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
22806         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
22807         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
22808         Likewise.
22809         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
22810         Likewise.
22811         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
22812
22813         docs: update parse-datetime history
22814         * doc/parse-datetime.texi (Authors of parse_datetime): Better
22815         documentation of this function's history and alternatives.
22816
22817         cygwin: use more robust version check
22818         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
22819         exclude an eventual cygwin 1.9.1.
22820         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22821         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22822         (gl_FUNC_STRCASESTR): Likewise.
22823         Reported by Bruno Haible.
22824
22825 2010-10-06  Bruno Haible  <bruno@clisp.org>
22826
22827         string, sys_select: Avoid #including large headers unless necessary.
22828         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
22829         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
22830         OSF/1, BeOS, Haiku.
22831         Reported by Jim Meyering.
22832
22833 2010-10-05  Eric Blake  <eblake@redhat.com>
22834
22835         memmem, strstr, strcasestr: fix bug with long periodic needle
22836         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
22837         periodic needle having false positive.
22838         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
22839         and cygwin 1.7.7.
22840         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
22841         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22842         (gl_FUNC_STRCASESTR): Likewise.
22843         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22844         * tests/test-memmem.c (main): Expose the bug.
22845         * tests/test-strcasestr.c (main): Likewise.
22846         * tests/test-strstr.c (main): Likewise.
22847         * tests/test-c-strcasestr.c (main): Likewise.
22848         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
22849         * doc/posix-functions/strstr.texi (strstr): Likewise.
22850         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22851         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
22852
22853 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22854
22855         parse-datetime: do some more renaming
22856         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
22857         parse_datetime, not get_date.  Mention the renaming.
22858         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
22859         in comments.
22860         * m4/bison.m4: Likewise.
22861
22862 2010-10-05  Eric Blake  <eblake@redhat.com>
22863
22864         parse-datetime: better name than get_date
22865         * NEWS: Reword the deprecation notice.
22866         * modules/get_date: Rename to modules/parse-datetime.
22867         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
22868         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
22869         * lib/get_date.y: Rename to lib/parse-datetime.y.
22870         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
22871         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
22872         * doc/getdate.texi: Provide fallback wrapper.
22873         * lib/getdate.h: Move guts, and wrap...
22874         * lib/parse-datetime.h: ...new file.
22875         * lib/parse-datetime.y (get_date): Rename...
22876         (parse_datetime): ...to this.
22877         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
22878         (gl_PARSE_DATETIME): ...to this.
22879         * doc/posix-functions/getdate.texi (get_date): Provide fallback
22880         documentation.
22881         * modules/getdate (Files): Provide fallback docs and header.
22882         (Notice, Depends-on): Update references.
22883         * tests/test-parse-datetime.c: Likewise.
22884         * DEPENDENCIES: Likewise.
22885         * MODULES.html.sh (Date and time <time.h>): Likewise.
22886         * doc/parse-datetime.texi (Date input formats)
22887         (Authors of parse_datetime): Likewise.
22888         * modules/parse-datetime (Files, configure.ac, Makefile.am)
22889         (Include): Likewise.
22890         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
22891         * gnulib-tool: Likewise.
22892         * m4/bison.m4 (gl_BISON): Likewise.
22893         Suggested by Bruno Haible.
22894
22895 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22896
22897         more ports to Solaris tr, which needs [] around ranges
22898         * gnulib-tool: Solaris tr needs [] around ranges.
22899         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22900         * tests/test-pipe-filter-gi1.c (main): Likewise.
22901         * tests/test-pipe-filter-ii1.c (main): Likewise.
22902
22903 2010-10-05  Eric Blake  <eblake@redhat.com>
22904
22905         bootstrap: fix Solaris regression
22906         * build-aux/bootstrap (check_versions): Solaris tr still needs []
22907         around ranges.
22908         Reported by Pádraig Brady.
22909
22910         bootstrap: work with pkg-config
22911         * build-aux/bootstrap (check_versions): Also transliterate - in
22912         prerequisite name.
22913         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
22914         prerequisites that were already found, to avoid confusion.
22915         Reported by Justin Clift.
22916
22917         faccessat: remove unused wrappers
22918         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
22919         presence of these wrappers dragged in -lgen on Solaris.
22920         Reported by Clemens Brogi; fix suggested by Paul Eggert.
22921
22922 2010-10-05  Jim Meyering  <meyering@redhat.com>
22923
22924         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
22925         * Makefile (sc_pragma_columns): New syntax-check rule.
22926
22927 2010-10-04  Bruno Haible  <bruno@clisp.org>
22928
22929         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
22930         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
22931         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
22932         Reported by Bruce Korb and Eric Blake.
22933
22934 2010-10-04  Bruno Haible  <bruno@clisp.org>
22935
22936         threadlib: Make option --with-libpth-prefix work.
22937         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
22938         use $LIBPTH, not just -lpth.
22939
22940 2010-10-04  Bruno Haible  <bruno@clisp.org>
22941
22942         Avoid line length limitation from HP NonStop system header files.
22943         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
22944         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
22945         * lib/ctype.in.h: Likewise.
22946         * lib/dirent.in.h: Likewise.
22947         * lib/errno.in.h: Likewise.
22948         * lib/fcntl.in.h: Likewise.
22949         * lib/float.in.h: Likewise.
22950         * lib/getopt.in.h: Likewise.
22951         * lib/iconv.in.h: Likewise.
22952         * lib/inttypes.in.h: Likewise.
22953         * lib/langinfo.in.h: Likewise.
22954         * lib/locale.in.h: Likewise.
22955         * lib/math.in.h: Likewise.
22956         * lib/netdb.in.h: Likewise.
22957         * lib/netinet_in.in.h: Likewise.
22958         * lib/poll.in.h: Likewise.
22959         * lib/pthread.in.h: Likewise.
22960         * lib/pty.in.h: Likewise.
22961         * lib/sched.in.h: Likewise.
22962         * lib/se-selinux.in.h: Likewise.
22963         * lib/search.in.h: Likewise.
22964         * lib/signal.in.h: Likewise.
22965         * lib/spawn.in.h: Likewise.
22966         * lib/stdarg.in.h: Likewise.
22967         * lib/stddef.in.h: Likewise.
22968         * lib/stdint.in.h: Likewise.
22969         * lib/stdio.in.h: Likewise.
22970         * lib/stdlib.in.h: Likewise.
22971         * lib/string.in.h: Likewise.
22972         * lib/strings.in.h: Likewise.
22973         * lib/sys_file.in.h: Likewise.
22974         * lib/sys_ioctl.in.h: Likewise.
22975         * lib/sys_select.in.h: Likewise.
22976         * lib/sys_socket.in.h: Likewise.
22977         * lib/sys_stat.in.h: Likewise.
22978         * lib/sys_time.in.h: Likewise.
22979         * lib/sys_times.in.h: Likewise.
22980         * lib/sys_utsname.in.h: Likewise.
22981         * lib/sys_wait.in.h: Likewise.
22982         * lib/sysexits.in.h: Likewise.
22983         * lib/termios.in.h: Likewise.
22984         * lib/time.in.h: Likewise.
22985         * lib/unistd.in.h: Likewise.
22986         * lib/wchar.in.h: Likewise.
22987         * lib/wctype.in.h: Likewise.
22988         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
22989         * modules/ctype (Makefile.am): Likewise.
22990         * modules/dirent (Makefile.am): Likewise.
22991         * modules/errno (Makefile.am): Likewise.
22992         * modules/fcntl-h (Makefile.am): Likewise.
22993         * modules/float (Makefile.am): Likewise.
22994         * modules/getopt-posix (Makefile.am): Likewise.
22995         * modules/iconv-h (Makefile.am): Likewise.
22996         * modules/inttypes (Makefile.am): Likewise.
22997         * modules/langinfo (Makefile.am): Likewise.
22998         * modules/locale (Makefile.am): Likewise.
22999         * modules/math (Makefile.am): Likewise.
23000         * modules/netdb (Makefile.am): Likewise.
23001         * modules/netinet_in (Makefile.am): Likewise.
23002         * modules/poll-h (Makefile.am): Likewise.
23003         * modules/pthread (Makefile.am): Likewise.
23004         * modules/pty (Makefile.am): Likewise.
23005         * modules/sched (Makefile.am): Likewise.
23006         * modules/search (Makefile.am): Likewise.
23007         * modules/selinux-h (Makefile.am): Likewise.
23008         * modules/signal (Makefile.am): Likewise.
23009         * modules/spawn (Makefile.am): Likewise.
23010         * modules/stdarg (Makefile.am): Likewise.
23011         * modules/stddef (Makefile.am): Likewise.
23012         * modules/stdint (Makefile.am): Likewise.
23013         * modules/stdio (Makefile.am): Likewise.
23014         * modules/stdlib (Makefile.am): Likewise.
23015         * modules/string (Makefile.am): Likewise.
23016         * modules/strings (Makefile.am): Likewise.
23017         * modules/sys_file (Makefile.am): Likewise.
23018         * modules/sys_ioctl (Makefile.am): Likewise.
23019         * modules/sys_select (Makefile.am): Likewise.
23020         * modules/sys_socket (Makefile.am): Likewise.
23021         * modules/sys_stat (Makefile.am): Likewise.
23022         * modules/sys_time (Makefile.am): Likewise.
23023         * modules/sys_times (Makefile.am): Likewise.
23024         * modules/sys_utsname (Makefile.am): Likewise.
23025         * modules/sys_wait (Makefile.am): Likewise.
23026         * modules/sysexits (Makefile.am): Likewise.
23027         * modules/termios (Makefile.am): Likewise.
23028         * modules/time (Makefile.am): Likewise.
23029         * modules/unistd (Makefile.am): Likewise.
23030         * modules/wchar (Makefile.am): Likewise.
23031         * modules/wctype (Makefile.am): Likewise.
23032
23033 2010-10-04  Bruno Haible  <bruno@clisp.org>
23034
23035         read-file tests: Avoid a test failure on NonStop Kernel.
23036         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23037         a regular file.
23038         Reported by Joachim Schmitz <schmitz@hp.com>.
23039
23040 2010-10-03  Bruno Haible  <bruno@clisp.org>
23041
23042         gnulib-tool: Fixes for --create-testdir with --libtool.
23043         * gnulib-tool (func_get_automake_snippet): Don't augment
23044         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23045         an executable.
23046         (func_create_testdir): Handle module 'alloca' like func_import.
23047         Reported by Bruce Korb <bruce.korb@gmail.com>.
23048
23049 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23050
23051         Avoid some lines longer than 80 characters.
23052         * lib/stdint.in.h: Break long comment lines.
23053         * lib/math.in.h: Likewise.
23054         (_GL_NUM_UINT_WORDS): New macro, for readability.
23055         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23056         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23057         * lib/stdlib.in.h: Likewise.
23058         * lib/spawn.in.h: Likewise.
23059         * lib/sys_socket.in.h: Update an URL.
23060         * lib/sys_stat.in.h: Break long line.
23061
23062 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23063
23064         Improve pmccabe2html.
23065         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23066         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23067         when the sources change. Remove the line in the HTML about "Used
23068         ranges" (which implied that there might be other unused ranges),
23069         rename "Resume" to "Summary" (easier to understand for more users).
23070         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23071         styles, and some unnecessary blank lines.
23072
23073 2010-10-03  Bruno Haible  <bruno@clisp.org>
23074             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23075
23076         acl: Add support for ACLs on NonStop Kernel.
23077         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23078         Check whether the function aclsort() exists.
23079         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23080         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23081         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23082         (acl_nontrivial [HAVE_ACLSORT]: New function.
23083         (file_has_acl): Implement for NonStop Kernel.
23084         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23085         (qset_acl): Implement for NonStop Kernel.
23086         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23087         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23088         (main): Implement for NonStop Kernel.
23089         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23090         Kernel. Handle this flavor.
23091         * tests/test-set-mode-acl.sh: Likewise.
23092         * tests/test-copy-acl.sh: Likewise.
23093         * tests/test-copy-file.sh: Likewise.
23094
23095 2010-10-03  Bruno Haible  <bruno@clisp.org>
23096
23097         Info about ACLs on NonStop Kernel.
23098         * doc/acl-resources.txt: Add info about NonStop Kernel.
23099         References by Joachim Schmitz <schmitz@hp.com>.
23100
23101 2010-10-02  Bruno Haible  <bruno@clisp.org>
23102
23103         Define missing EDQUOT on NonStop Kernel.
23104         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23105         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23106         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23107         missing.
23108         * doc/posix-headers/errno.texi: Mention the NSK bug.
23109         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23110         Reported by Joachim Schmitz <schmitz@hp.com>.
23111
23112 2010-10-02  Bruno Haible  <bruno@clisp.org>
23113
23114         Update doc for POSIX:2008.
23115         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23116         Update URL of POSIX specification.
23117
23118 2010-10-02  Bruno Haible  <bruno@clisp.org>
23119
23120         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23121         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23122         from gnulib, not from Automake.
23123
23124 2010-10-02  Bruno Haible  <bruno@clisp.org>
23125
23126         New module 'system-posix'.
23127         * modules/system-posix: New file.
23128         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23129         module is present.
23130         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23131         GNULIB_SYSTEM_POSIX.
23132         * modules/stdlib (Depends-on): Remove sys_wait.
23133         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23134         * doc/posix-functions/system.texi: Mention the new module.
23135         * doc/posix-headers/stdlib.texi: Likewise.
23136         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23137         define test_sys_wait_macros to a no-op.
23138         Reported by Sam Steingold <sds@gnu.org>.
23139
23140 2010-09-30  Bruno Haible  <bruno@clisp.org>
23141
23142         More renaming from 'getdate' to 'get_date'.
23143         * doc/get_date.texi: Renamed from doc/getdate.texi.
23144         * modules/get_date (Files): Update.
23145         * MODULES.html.sh (Date and time <time.h>): Update.
23146         * DEPENDENCIES: Update.
23147         * gnulib-tool: Update comment.
23148         * m4/bison.m4 (gl_BISON): Likewise.
23149         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23150
23151 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23152
23153         bootstrap: support ACLOCAL_FLAGS during aclocal
23154         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
23155         can add additional -I dir for third-party .m4 files.
23156
23157 2010-09-30  Eric Blake  <eblake@redhat.com>
23158
23159         bootstrap: use glibtoolize on MacOS
23160         * build-aux/bootstrap (check_versions): Convert libtool into
23161         libtoolize.
23162         (tool search): Move libtool check earlier, and look for
23163         glibtoolize for MacOS.
23164         (gnulib_tool_options): Auto-add --libtool when appropriate.
23165         Reported by Justin Clift.
23166
23167         poll: fix typo that broke test on MacOS
23168         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23169         Reported by Justin Clift.
23170
23171         getdate: rename to get_date
23172         Note: getdate.h is not renamed, to minimize client impact.
23173         * modules/getdate: Mark obsolete.  Move old contents...
23174         * modules/get_date: ...to new module name.
23175         * modules/getdate-tests: Move...
23176         * modules/get_date-tests: ...here.
23177         * m4/getdate.m4: Move...
23178         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23179         * lib/getdate.y: Move...
23180         * lib/get_date.y: ...here.
23181         * tests/test-getdate.c: Move...
23182         * tests/test-get_date.c: ...here.
23183         * doc/posix-functions/getdate.texi (getdate): Update name.
23184         * NEWS: Mention the change.
23185
23186 2010-09-29  Bruno Haible  <bruno@clisp.org>
23187
23188         Separate the module 'waitpid' from the module 'sys_wait'.
23189         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
23190         present.
23191         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
23192         gl_MODULE_INDICATOR_FOR_TESTS.
23193         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
23194         * modules/sys_wait (Depends-on): Remove waitpid.
23195         (Makefile.am): Substitute GNULIB_WAITPID.
23196         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
23197         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
23198         signature only if the 'waitpid' module is present.
23199         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
23200         * NEWS: Mention the change.
23201         * modules/grantpt (Depends-on): Add waitpid.
23202         * modules/wait-process (Depends-on): Likewise.
23203
23204 2010-09-29  Bruno Haible  <bruno@clisp.org>
23205
23206         More tests for module 'sys_wait'.
23207         * modules/sys_wait-c++-tests: New file.
23208         * tests/test-sys_wait-c++.cc: New file.
23209         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
23210         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23211
23212 2010-09-29  Bruno Haible  <bruno@clisp.org>
23213
23214         New module 'waitpid'.
23215         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
23216         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
23217         Don't include <process.h>.
23218         (waitpid): Declare only, using modern idiom.
23219         * m4/waitpid.m4: New file.
23220         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
23221         * modules/waitpid: New file.
23222         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
23223         (Makefile.am): Update.
23224         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23225
23226 2010-09-28  Bruno Haible  <bruno@clisp.org>
23227
23228         poll: Assume ANSI C.
23229         * lib/poll.c (poll): Use an ANSI C declaration.
23230
23231 2010-09-28  Bruno Haible  <bruno@clisp.org>
23232
23233         poll-h: Create poll.h on all platforms.
23234         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
23235         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
23236         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
23237         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
23238         (gl_REPLACE_POLL_H): Don't set POLL_H.
23239         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
23240         * modules/poll-h (Depends-on): Add include_next.
23241         (Makefile.am): Create poll.h unconditionally. Substitute also
23242         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
23243
23244 2010-09-28  Bruno Haible  <bruno@clisp.org>
23245
23246         Tests for module 'poll-h'.
23247         * modules/poll-h-c++-tests: New file.
23248         * tests/test-poll-h-c++.cc: New file.
23249
23250         Tests for module 'poll-h'.
23251         * modules/poll-h-tests: New file.
23252         * tests/test-poll-h.c: New file.
23253
23254 2010-09-28  Bruno Haible  <bruno@clisp.org>
23255
23256         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
23257         * modules/poll-h (Depends-on): Add 'extensions'.
23258
23259 2010-09-28  Bruno Haible  <bruno@clisp.org>
23260
23261         New module 'poll-h'.
23262         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
23263         (poll): Use modern idiom.
23264         * modules/poll-h: New file.
23265         * modules/poll (Files): Remove lib/poll.in.h.
23266         (Depends-on): Add poll-h.
23267         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
23268         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
23269         * m4/poll_h.m4: New file.
23270         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
23271         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
23272         and invoke gl_REPLACE_POLL_H.
23273         * lib/poll.c: Use common idiom.
23274         * tests/test-poll.c: Likewise.
23275         * doc/posix-headers/poll.texi: Mention the poll-h module.
23276         Suggested by Eric Blake.
23277
23278 2010-09-26  Bruno Haible  <bruno@clisp.org>
23279
23280         sys_wait: Implement WSTOPSIG.
23281         * lib/sys_wait.in.h (WSTOPSIG): New macro.
23282         Reported by Simon Josefsson.
23283
23284 2010-09-26  Simon Josefsson  <simon@josefsson.org>
23285
23286         stdlib, sys_wait: Avoid compilation error on mingw.
23287         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
23288
23289 2010-09-26  Bruno Haible  <bruno@clisp.org>
23290
23291         stdlib tests: Avoid code duplication.
23292         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
23293         * modules/sys_wait-tests (Files): Likewise.
23294         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
23295         * tests/test-stdlib.c: Include test-sys_wait.h.
23296         (main): Invoke test_sys_wait_macros.
23297         * tests/test-sys_wait.c: Include test-sys_wait.h.
23298         (main): Invoke test_sys_wait_macros.
23299
23300 2010-09-25  Simon Josefsson  <simon@josefsson.org>
23301
23302         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
23303         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
23304         sure Windows sockets are working before calling getaddrinfo.
23305         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
23306         * doc/gnulib.texi (Windows sockets): Fix typo.
23307
23308 2010-09-25  Bruno Haible  <bruno@clisp.org>
23309
23310         Tests for module 'regex-quote'.
23311         * modules/regex-quote-tests: New file.
23312         * tests/test-regex-quote.c: New file.
23313
23314         New module 'regex-quote'.
23315         * lib/regex-quote.h: New file.
23316         * lib/regex-quote.c: New file.
23317         * modules/regex-quote: New file.
23318         Suggested by Reuben Thomas <rrt@sc3d.org>.
23319
23320 2010-09-24  Bruno Haible  <bruno@clisp.org>
23321
23322         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
23323         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
23324
23325 2010-09-23  Bruno Haible  <bruno@clisp.org>
23326
23327         setenv: Relax license.
23328         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
23329         Blake.
23330         Requested by Eric Blake.
23331
23332 2010-09-22  Bruno Haible  <bruno@clisp.org>
23333
23334         termios: Relax license.
23335         * modules/termios (License): Change to LGPLv2+.
23336         Requested by Eric Blake.
23337
23338 2010-09-22  Bruno Haible  <bruno@clisp.org>
23339
23340         threadlib: Allow the package to change the default to 'no'.
23341         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
23342         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
23343         Reported by Paul Eggert.
23344
23345 2010-09-22  Pádraig Brady  <P@draigbrady.com>
23346             Bruno Haible  <bruno@clisp.org>
23347
23348         Fix endless loop in mbmemcasecoll.
23349         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
23350         byte.
23351         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
23352
23353 2010-09-22  Bruno Haible  <bruno@clisp.org>
23354
23355         Tests for module 'memcoll'.
23356         * modules/memcoll-tests: New file.
23357         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
23358
23359         memcoll, xmemcoll: Clarify size vs. length.
23360         * modules/memcoll.c (memcoll0): Clarify specification.
23361         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
23362         passed to collate_error.
23363
23364 2010-09-22  Bruno Haible  <bruno@clisp.org>
23365
23366         Tests for module 'memcasecmp'.
23367         * modules/memcasecmp-tests: New file.
23368         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
23369
23370 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
23371
23372         * lib/pthread.in.h: Add split double-inclusion guard, and include
23373         system <pthread.h> if there is one.  Use @@-style as in other
23374         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
23375         pthread.h doesn't.
23376         (pthread_mutexattr_destroy, pthread_mutexattr_init):
23377         (pthread_mutexattr_settype, pthread_mutex_trylock):
23378         New static inline functions, if there's no system <pthread.h>.
23379         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
23380         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
23381         Approximate with mutexes if the system lacks spinlocks, as in
23382         MacOS.
23383         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
23384         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
23385         @@-style.  Check for spinlocks separately.
23386         (gl_PTHREAD_DEFAULTS): New macro.
23387         * modules/pthread: Redo to use a more typical style for in.h files.
23388
23389 2010-09-21  Eric Blake  <eblake@redhat.com>
23390
23391         net_if: enhance tests
23392         * tests/test-net_if.c (main): Move signature checks earlier.
23393         Print failures to stderr.
23394         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
23395         Document the bug that we do not yet fix.
23396
23397 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23398
23399         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
23400         about gnulib, not GSS.
23401
23402 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23403
23404         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
23405         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
23406         for Emacs.
23407         * build-aux/pmccabe2html: Make Makefile.am example code more
23408         cut-and-paste friendly.
23409
23410 2010-09-21  Simon Josefsson  <simon@josefsson.org>
23411
23412         * tests/test-net_if.c: New file.
23413         * modules/net_if-tests: New file.
23414
23415 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
23416
23417         pthread: add pthread_spin_destroy
23418         * lib/pthread.in.h (pthread_spin_destroy): New function.
23419
23420 2010-09-19  Bruno Haible  <bruno@clisp.org>
23421
23422         gnulib-tool: Fix --help output.
23423         * gnulib-tool (func_usage): Fix help message.
23424         Reported by Reuben Thomas <rrt@sc3d.org>.
23425
23426 2010-09-18  Jim Meyering  <meyering@redhat.com>
23427
23428         maint.mk: avoid unexpanded \n in two diagnostics
23429         * top/maint.mk (sc_prohibit_always_true_header_tests):
23430         Don't use a literal \n in a halt=... assignment.  It would not be
23431         expanded, and the two \n bytes would appear in the diagnostic output
23432         rather than the desired newline.  Use halt=$$(printf ... instead.
23433         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
23434
23435 2010-09-18  Bruno Haible  <bruno@clisp.org>
23436
23437         netinet_in: Doc tweak.
23438         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
23439         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23440
23441 2010-09-18  Jim Meyering  <meyering@redhat.com>
23442
23443         init.sh: correct an outdated comment
23444         * tests/init.sh (create_exe_shims_):  s/function/alias/
23445
23446         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
23447         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
23448         a file named "*.exe" is removed between the glob expansion and the
23449         processing of that oddly named file.
23450
23451 2010-09-17  Eric Blake  <eblake@redhat.com>
23452
23453         mirbsd: add some more support
23454         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
23455         in BSD family.
23456         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
23457         devices as OpenBSD.
23458         * m4/host-os.m4 (mirbsd): Add MirBSD.
23459
23460         tests: fix unportable assumption on sys/wait.h
23461         * tests/test-sys_wait.c (main): Relax test.
23462         * tests/test-stdlib.c (main): Likewise.
23463
23464         init.sh: accomodate directory with no .exes
23465         * tests/init.sh: Accomodate directory containing only scripts.
23466
23467         tests: avoid compiler warning
23468         * tests/test-stdlib.c (main): Use the variable.
23469
23470         fdutimens, fdutimensat: update signature, again
23471         * lib/utimens.h (gl_futimens): Delete, and move signature...
23472         (fdutimens): ...here.
23473         (fdutimensat): Rearrange signature.
23474         (lutimensat): Rename variable for clarity.
23475         * lib/fdutimensat.c (fdutimensat): Update signature.
23476         * lib/utimens.c (fdutimens): Likewise.
23477         (gl_futimens): Delete.
23478         (utimens, lutimens): Update callers.
23479         * lib/futimens.c (futimens): Likewise.
23480         * tests/test-fdutimensat.c: Likewise.
23481         * tests/test-utimens.c: Likewise.
23482         * tests/test-futimens.h: Update comment.
23483         * NEWS: Mention this.
23484         Suggested by Paul Eggert.
23485
23486 2010-09-17  Bruno Haible  <bruno@clisp.org>
23487
23488         Take over the maintenance of some older macros from Autoconf.
23489         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
23490         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
23491         GNU Autoconf.
23492         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
23493         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
23494
23495 2010-09-17  Eric Blake  <eblake@redhat.com>
23496
23497         fdutimensat: drop atflag validation
23498         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
23499         with valid fd, to close a race scenario where futimens is
23500         unsupported and FILE was replaced by a symlink.
23501         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
23502         accordingly.
23503         Suggested by Paul Eggert.
23504
23505 2010-09-16  Bruno Haible  <bruno@clisp.org>
23506
23507         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
23508         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
23509
23510 2010-09-16  Bruno Haible  <bruno@clisp.org>
23511
23512         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
23513         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
23514         login_tty exists.
23515         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23516
23517 2010-09-16  Bruno Haible  <bruno@clisp.org>
23518
23519         login_tty: Make the replacement code work on BSD systems.
23520         * lib/login_tty.c: Include <sys/ioctl.h>.
23521         (login_tty): Use ioctl TIOCSCTTY when available.
23522         * modules/login_tty (Depends-on): Add sys_ioctl.
23523         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23524
23525 2010-09-16  Bruno Haible  <bruno@clisp.org>
23526
23527         login_tty: Stricter unit test.
23528         * modules/login_tty-tests (Depends-on): Add tcgetsid.
23529         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
23530         and tcgetsid() after login_tty.
23531         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23532
23533 2010-09-16  Bruno Haible  <bruno@clisp.org>
23534
23535         New module 'tcgetsid'.
23536         * lib/tcgetsid.c: New file.
23537         * m4/tcgetsid.m4: New file.
23538         * modules/tcgetsid: New file.
23539         * modules/termios (Depends-on): Add c++defs, warn-on-use.
23540         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
23541         GNULIB_TCGETSID, HAVE_TCGETSID.
23542         * lib/termios.in.h: Include <sys/types.h>.
23543         (tcgetsid): New declaration.
23544         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
23545         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
23546         * doc/posix-functions/tcgetsid.texi: Mention the new module.
23547         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
23548
23549 2010-09-16  Bruno Haible  <bruno@clisp.org>
23550
23551         Tests for module 'termios'.
23552         * modules/termios-c++-tests: New file.
23553         * modules/termios-tests: New file.
23554         * tests/test-termios-c++.cc: New file.
23555         * tests/test-termios.c: New file.
23556
23557         New module 'termios'.
23558         * modules/termios: New file.
23559         * lib/termios.in.h: New file.
23560         * m4/termios_h.m4: New file.
23561         * doc/posix-headers/termios.texi: Mention the new module.
23562
23563 2010-09-16  Eric Blake  <eblake@redhat.com>
23564
23565         fdutimensat: add an atflag parameter
23566         * lib/fdutimensat.c (fdutimensat): Add new parameter.
23567         * lib/utimens.h (fdutimensat): Update prototype.
23568         * tests/test-fdutimensat.c: Adjust test to match.
23569         * NEWS: Document the change.
23570         Suggested by Paul Eggert.
23571
23572 2010-09-16  Bruno Haible  <bruno@clisp.org>
23573
23574         Fix typos in comments.
23575         * lib/striconveh.h: Fix typo in comment.
23576         * lib/login_tty.c (login_tty): Likewise.
23577
23578 2010-09-15  Bruno Haible  <bruno@clisp.org>
23579
23580         stdlib: clarify MirBSD WEXITSTATUS bug
23581         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
23582         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23583
23584 2010-09-15  Eric Blake  <eblake@redhat.com>
23585
23586         stdlib: work around MirBSD WEXITSTATUS bug
23587         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
23588         * modules/stdlib (Depends-on): Add sys_wait.
23589         * tests/test-sys_wait.c (main): Enhance test.
23590         * tests/test-stdlib.c (main): Likewise.
23591         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
23592
23593         docs: mention MacOS issue with WEXITSTATUS(constant)
23594         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
23595         issue.
23596         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23597
23598         strnlen: add tests
23599         * modules/strnlen-tests: New file.
23600         * tests/test-strnlen.c: Likewise.
23601
23602 2010-09-14  Bruno Haible  <bruno@clisp.org>
23603
23604         unistr/base: Avoid link errors when module 'libunistring' is also used.
23605         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
23606         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
23607         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
23608         Declare also when HAVE_LIBUNISTRING is set.
23609         Reported by Pádraig Brady <P@draigbrady.com>.
23610
23611 2010-09-14  Eric Blake  <eblake@redhat.com>
23612
23613         test-rawmemchr: make more robust
23614         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
23615         (Depends-on, configure.ac): Add needed prerequisites to use it.
23616         * modules/memchr-tests (Files, Depends-on, configure.ac):
23617         Likewise, to avoid implicit reliance on memchr module prereqs.
23618         * tests/test-memchr.c (main): Ensure proper masking.
23619         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
23620         reads.
23621
23622         memchr: detect glibc Alpha bug
23623         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
23624         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
23625         Alpha.
23626         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
23627         * tests/test-memchr.c (main): Enhance test.
23628         Reported by Nelson H. F. Beebe.
23629
23630 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
23631
23632         fts, getcwd, glob: audit for dirfd returning -1
23633         * lib/fts.c (opendir): Remove #define; no longer used.
23634         (opendirat): New arg PDIR_FD.  All callers changed.
23635         (fts_build, _opendir2): Use new opendirat to avoid the need for
23636         dirfd, or for checking whether dirfd returns a negative value.
23637         Don't use opendir; always use openat followed by fdopendir.
23638         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
23639         it.
23640         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
23641         returns -1 here.
23642         * modules/fts (Depends-on): Remove dirfd.
23643         * modules/getcwd (Depends-on): Likewise.
23644
23645 2010-09-13  Eric Blake  <eblake@redhat.com>
23646
23647         float: fix broken MirBSD header
23648         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
23649         * doc/posix-headers/float.texi (float.h): Document it.
23650
23651 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
23652
23653         fts: use O_NOFOLLOW to avoid race condition when opening a directory
23654         * lib/fts.c (opendirat): New arg extra_flags.
23655         (__opendir2): Use it to avoid following symlinks when opening
23656         a directory, if symlinks are not supposed to be followed.  See
23657         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
23658
23659         fdopendir: preserve argument fd before returning
23660         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
23661         (fdopendir_with_dup, fd_clone_opendir): New static functions.
23662         (fdopendir): Use them, arranging for FD to be open to the same
23663         directory that it was when it started.  (It might be temporarily
23664         closed while fdopendir is running, so this not thread- or
23665         signal-safe.)  Be careful to do the right thing even when file
23666         descriptors are scarce and dup fails with errno == EMFILE.  See
23667         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
23668
23669 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
23670
23671         regex: Pass the system regex if its only problem is 32-bit regoff_t.
23672         * NEWS: Document change.
23673         * m4/regex.m4: Disable test for regoff_t size.
23674
23675 2010-09-13  Jim Meyering  <meyering@redhat.com>
23676
23677         fts: don't operate on an invalid file descriptor after failed dup
23678         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
23679         negative file descriptor.
23680
23681 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
23682
23683         savedir: add streamsavedir, deprecate fdsavedir
23684         * NEWS: Mention deprecation of fdsavedir.
23685         * lib/savedir.c (streamsavedir): New extern function, whose name
23686         ends in "savedir" to be consistent with the others.  This differs
23687         from savedirstream in that it doesn't close its argument.  The
23688         next version of GNU tar will use this instead of fdsavedir, to
23689         avoid some race conditions and conserve file descriptors.
23690         (savedirstream): Reimplement as a wrapper around streamsavedir.
23691         (fdsavedir): Add a comment deprecating this function.  As far as
23692         I know, only GNU tar used it, and GNU tar doesn't need it any more.
23693         * lib/savedir.h (streamsavedir): New decl.
23694         (fdsavedir): Add a comment deprecating this.
23695
23696 2010-09-10  Bruno Haible  <bruno@clisp.org>
23697
23698         langinfo: Fix last commit.
23699         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
23700         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
23701         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23702
23703 2010-09-10  Bruno Haible  <bruno@clisp.org>
23704
23705         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
23706         * lib/progreloc.c (O_EXEC): Define fallback.
23707
23708 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
23709
23710         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
23711         * NEWS: Document recent changes to fcntl-h.
23712         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
23713         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
23714         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
23715         Similarly for O_SEARCH; this last was already true, but not documented.
23716         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
23717         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
23718         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
23719         Likewise.
23720         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
23721         is zero, not whether it is defined.
23722         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
23723         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
23724         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
23725
23726 2010-09-10  Bruno Haible  <bruno@clisp.org>
23727
23728         langinfo, nl_langinfo: Fix for IRIX 5.3.
23729         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
23730         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
23731         HAVE_LANGINFO_YESEXPR.
23732         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
23733         HAVE_LANGINFO_YESEXPR.
23734         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
23735         HAVE_LANGINFO_T_FMT_AMPM is 0.
23736         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
23737         HAVE_LANGINFO_YESEXPR is 0.
23738         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
23739         NOEXPR.
23740         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
23741         * doc/posix-functions/nl_langinfo.texi: Likewise.
23742         Reported by Eric Blake.
23743
23744 2010-09-10  Bruno Haible  <bruno@clisp.org>
23745
23746         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
23747         * doc/glibc-functions/login_tty.texi: Mention the include file problem
23748         on FreeBSD 8.0 and OpenBSD 4.6.
23749         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
23750         * m4/pty_h.m4 (gl_PTY_H): Likewise.
23751         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
23752         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
23753         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
23754         ac_includes_default.
23755         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23756
23757 2010-09-09  Eric Blake  <eblake@redhat.com>
23758
23759         strsignal: work around NetBSD bug
23760         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
23761         * lib/string.in.h (includes): Likewise.
23762         * doc/posix-functions/strsignal.texi (strsignal): Document the
23763         bug.
23764         Reported by Nelson H. F. Beebe.
23765
23766         gnulib-tool: work with NetBSD /bin/sh
23767         * gnulib-tool (func_cache_var, func_cache_lookup_module)
23768         (func_get_description, func_get_comment, func_get_status)
23769         (func_get_notice, func_get_applicability, func_get_filelist)
23770         (func_get_dependencies, func_get_autoconf_early_snippet)
23771         (func_get_autoconf_snippet, func_get_automake_snippet)
23772         (func_get_include_directive, func_get_link_directive)
23773         (func_get_license, func_get_maintainer, func_import): Avoid
23774         shell syntax errors from parsing syntax extensions.
23775
23776 2010-09-09  Bruno Haible  <bruno@clisp.org>
23777
23778         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23779         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
23780         a reliable way to determine whether the 'alias' command works.
23781
23782 2010-09-08  Jim Meyering  <meyering@redhat.com>
23783
23784         init.sh: penalize a set-x-impaired shell; don't disqualify it
23785         * tests/init.sh: Too many shells corrupt application stderr when
23786         you set -x, so we can't afford to disqualify them, since at least
23787         on Irix-6.5, that would disqualify all bourne shells.
23788         Instead, use a two-pass approach.
23789         On the first pass, try to find a shell that meets the stricter
23790         condition that set -x does not corrupt stderr.
23791         If no shell meets the stricter condition, retest each candidate
23792         shell, but without that extra condition.  Finally, when
23793         VERBOSE=yes is requested and set -x might cause trouble, simply
23794         issue a warning and refrain from enabling debug output.
23795
23796 2010-09-08  Eric Blake  <eblake@redhat.com>
23797
23798         unsetenv: fix OpenBSD bug
23799         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
23800         * doc/posix-functions/unsetenv.texi (unsetenv): Update
23801         documentation.
23802         Reported by Jim Meyering.
23803
23804         strtod: work around IRIX 6.5 bug
23805         * lib/strtod.c (strtod): Reparse number on shorter string if
23806         exponent parse was invalid.
23807         * tests/test-strtod.c (main): Add check for "0x1p 2".
23808         Reported by Tom G. Christensen.
23809
23810         getopt: optimize previous patch
23811         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
23812         empty variable.  Speed up awk script.
23813         Reported by Paolo Bonzini.
23814
23815 2010-09-08  Jim Meyering  <meyering@redhat.com>
23816
23817         test.sh: disqualify shells for which set -x corrupts stderr
23818         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
23819         and OpenBSD 4.7.  They make it so with "set -x", environment settings
23820         appear in stderr output.  For example, this command:
23821             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
23822         prints "P=1" on those two systems:
23823
23824 2010-09-08  Bruno Haible  <bruno@clisp.org>
23825
23826         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23827         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
23828         commands, because some shells ignore redirections when there is an
23829         error in the command lookup.
23830         Reported by Eric Blake.
23831
23832 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
23833
23834         * lib/regex.h: Fix a mention of `regex_compile' (should be
23835         `re_compile_pattern').
23836         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
23837         (re_set_registers): Correct name of parameter in comment.
23838
23839         * doc/regex.texi: Add documentation for missing syntax flags.
23840         Remove commented-out documentation of defunct syntax option
23841         RE_NO_EMPTY_ALTS.
23842         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
23843         Add documentation of re_set_registers.
23844         Document trick to re-use a pattern buffer by setting fastmap manually.
23845         Update documentation of struct re_pattern_buffer per public members.
23846         Uncomment documentation of equivalence class operators and
23847         collating symbol operators, since they are now implemented,
23848         Explain leftmost-longest matching in relation to alternatives.
23849         Tidy documentation of substring matching.
23850         Remove POSIX documentation, which is done better in
23851         glibc, and refer the reader there. Keep BSD API documentation, as
23852         that is not readily available elsewhere.
23853
23854 2010-09-07  Eric Blake  <eblake@redhat.com>
23855
23856         getopt: handle POSIXLY_CORRECT set but not exported
23857         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
23858         export state of POSIXLY_CORRECT, due to bash set -o posix.
23859         Reported by Dustin J. Mitchell.
23860
23861 2010-09-05  Bruno Haible  <bruno@clisp.org>
23862
23863         gnulib-tool: Highlight the changed options.
23864         * gnulib-tool (func_usage): Display the --import, --add-import,
23865         --remove-import explanations in bold font.
23866
23867 2010-09-06  Karl Berry  <karl@gnu.org>
23868
23869         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
23870
23871 2010-09-05  Bruno Haible  <bruno@clisp.org>
23872
23873         uniwidth/width: Update comment.
23874         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
23875         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
23876
23877 2010-09-05  Bruno Haible  <bruno@clisp.org>
23878
23879         isinf, isnan: Relax license.
23880         * modules/isinf (License): Change from GPL to LGPL, with consent from
23881         Ben Pfaff.
23882         * modules/isnan (License): Likewise.
23883         Requested by Ludovic Courtès.
23884
23885 2010-09-04  Bruno Haible  <bruno@clisp.org>
23886
23887         gnulib-tool: Help migration from --import to --add-import or --update.
23888         * gnulib-tool: Emit a verbose error message when --import is used
23889         without any module name.
23890
23891 2010-09-04  Bruno Haible  <bruno@clisp.org>
23892
23893         Update doc about gnulib-tool.
23894         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
23895         'gnulib-tool --update' in more detail.
23896         Reported by Eric Blake.
23897
23898 2010-09-04  Bruno Haible  <bruno@clisp.org>
23899
23900         gnulib-tool: Change --import. New options --add/remove-import.
23901         * gnulib-tool: New options --add-import, --remove-import.
23902         (func_usage): Document them.
23903         (have_associative): Define always.
23904         (func_import): In import mode, don't merge the specified settings with
23905         the cached settings. Implement remove-import mode.
23906         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
23907         Explain when to use them versus --import.
23908         (Simple update): Use --add-import instead of --import.
23909         * NEWS: Mention the change.
23910
23911 2010-09-04  Bruno Haible  <bruno@clisp.org>
23912
23913         * doc/gnulib-tool.texi (Initial import): Update paragraph about
23914         separate gnulib.mk.
23915
23916 2010-09-04  Bruno Haible  <bruno@clisp.org>
23917
23918         gnulib-tool: Don't talk about CVS any more.
23919         * gnulib-tool (func_usage, func_import): Write "version control"
23920         instead of CVS.
23921
23922 2010-09-04  Jim Meyering  <meyering@redhat.com>
23923
23924         maint.mk: avoid obscure sc_copyright_check failure in coreutils
23925         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
23926         false positives (whose names may be ill-chosen) when searching
23927         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
23928         would cause a false-positive.
23929
23930         avoid coreutils "make distcheck" failure
23931         Coreutils tests with an absolute build directory name that contains
23932         a space.  Not quoting this directory name caused a failure.
23933         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
23934         * tests/test-vc-list-files-cvs.sh: Likewise.
23935
23936 2010-09-04  Bruno Haible  <bruno@clisp.org>
23937
23938         gnulib-tool: Avoid error when run in a package without Makefile.am.
23939         * gnulib-tool: When collecting the m4dirs in a package that does not
23940         have a Makefile.am, eliminate those directories that contain no
23941         gnulib-cache.m4. Fix expression that counts these directories.
23942
23943 2010-09-04  Bruno Haible  <bruno@clisp.org>
23944
23945         update-copyright test: Improve output when perl is missing or too old.
23946         * tests/test-update-copyright.sh: Move test of Perl version down after
23947         the test whether Perl exists. Provide an explanation relating Perl's
23948         error message to Automake's SKIP: message.
23949
23950 2010-09-04  Bruno Haible  <bruno@clisp.org>
23951
23952         Don't augment PATH in TESTS_ENVIRONMENT.
23953         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
23954         set abs_aux_dir instead of augmenting PATH.
23955         * modules/vc-list-files-tests (Makefile.am): Likewise.
23956         * tests/test-update-copyright.sh: Augment PATH here.
23957         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
23958         path_prepend_.
23959         * tests/test-vc-list-files-git.sh: Likewise.
23960
23961 2010-09-04  Jim Meyering  <meyering@redhat.com>
23962
23963         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
23964         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
23965
23966 2010-09-04  Bruno Haible  <bruno@clisp.org>
23967
23968         strdup: Fix compilation error in C++ mode.
23969         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
23970         the macro.
23971
23972 2010-09-04  Bruno Haible  <bruno@clisp.org>
23973
23974         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
23975         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
23976         macro into a function.
23977         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23978
23979 2010-09-04  Bruno Haible  <bruno@clisp.org>
23980
23981         Set PATH_SEPARATOR the same way autoconf does.
23982         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
23983         the value of PATH_SEPARATOR the same way autoconf-generated configure
23984         scripts do.
23985         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
23986         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23987
23988 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23989
23990         Set PATH_SEPARATOR the same way autoconf does.
23991         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
23992         the same way autoconf-generated configure scripts do.
23993         * posix-modules: Likewise.
23994
23995 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
23996
23997         hash: fix safe_hasher const typo
23998         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
23999         const; otherwise, there is a type error later.
24000
24001 2010-09-02  Jim Meyering  <meyering@redhat.com>
24002
24003         test-update-copyright.sh: require perl 5.8.0
24004         * tests/test-update-copyright.sh: Require 5.8.0,
24005         which Tom G. Christensen has confirmed is adequate,
24006         while 5.6.1 is not.
24007
24008 2010-09-02  Eric Blake  <eblake@redhat.com>
24009
24010         tests: init.sh improvements for re-exec'ing with zsh
24011         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24012         -vx through shell re-exec.
24013         Reported by Tom G. Christensen.
24014
24015         wctype: fix typo in previous commit
24016         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24017         Reported by Ludovic Courtès.
24018
24019 2010-09-02  Jim Meyering  <meyering@redhat.com>
24020
24021         test-update-copyright.sh: skip test if Perl is too old
24022         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24023         Reported by Tom G. Christensen.
24024
24025 2010-09-02  Bruno Haible  <bruno@clisp.org>
24026
24027         wctype: Avoid compilation error on IRIX 6.5.30.
24028         * lib/wctype.in.h (iswblank): Declare with a replacement if
24029         REPLACE_ISWBLANK is set.
24030         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24031         declared. Set REPLACE_ISWBLANK.
24032         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24033         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24034         * doc/posix-headers/wctype.texi: Likewise.
24035         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24036
24037 2010-09-01  Bruno Haible  <bruno@clisp.org>
24038
24039         New module 'socketlib'.
24040         * modules/socketlib: New file.
24041         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24042         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24043         * modules/sockets (Depends-on): Add socketlib.
24044         Suggested by Sam Steingold <sds@gnu.org>.
24045
24046 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24047
24048         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24049
24050         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24051         when one needs search access to a directory but not read access.
24052         On systems where it is available, it works in some cases where
24053         O_RDONLY does not, namely on directories that are searchable but
24054         not readable, and which need only to be searchable.  If O_SEARCH
24055         is not available, fall back to the traditional method of using
24056         O_RDONLY.
24057
24058         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24059         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24060         when opening a directory that needs only to be searchable.
24061         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24062         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24063         * lib/openat-proc.c (openat_proc_name): Likewise.
24064         * lib/openat.c (openat_needs_fchdir): Likewise.
24065         * lib/save-cwd.c (save_cwd): Likewise.
24066         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24067
24068 2010-08-28  Bruno Haible  <bruno@clisp.org>
24069
24070         New module 'host-cpu-c-abi'.
24071         * modules/host-cpu-c-abi: New file.
24072         * m4/host-cpu-c-abi.m4: New file, based on part of
24073         clisp/src/m4/general.m4.
24074         Requested by Sam Steingold <sds@gnu.org>.
24075
24076 2010-08-31  Eric Blake  <eblake@redhat.com>
24077         and Jim Meyering  <meyering@redhat.com>
24078
24079         hash: factor, and guard against misbehaving hasher function
24080         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24081         of table->hasher's return value.  Also protect against a hash value
24082         so large that adding it to table->bucket results in a NULL pointer.
24083         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24084         Use it in place of open-coded check-and-abort.
24085
24086 2010-08-30  Bruno Haible  <bruno@clisp.org>
24087
24088         hash: silence spurious clang warning
24089         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24090         Reported by Eric Blake.
24091
24092 2010-08-30  Eric Blake  <eblake@redhat.com>
24093
24094         strstr, memmem, strcasestr: avoid leaked shell message
24095         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24096         FreeBSD.
24097         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24098         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24099
24100         tests: silence clang warning
24101         * tests/test-malloca.c (do_allocation): Avoid dead store.
24102
24103 2010-08-29  Bruno Haible  <bruno@clisp.org>
24104
24105         gettext: Fix recent mistake.
24106         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24107
24108 2010-08-29  Bruno Haible  <bruno@clisp.org>
24109
24110         selinux-h: Offer a --without-selinux option.
24111         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24112         --without-selinux was specified, skip all tests and define
24113         HAVE_SELINUX_SELINUX_H to 0.
24114         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24115         set LIB_SELINUX to empty.
24116         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24117         gl_LIBSELINUX. If --without-selinux was specified, replace
24118         selinux/context.h.
24119         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24120
24121 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24122             Bruno Haible  <bruno@clisp.org>
24123
24124         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24125         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24126         of HAVE_REALLOC.
24127         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24128         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24129         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24130         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24131
24132 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24133             Bruno Haible  <bruno@clisp.org>
24134
24135         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24136         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24137         HAVE_CALLOC.
24138         * lib/xmalloc.c: Update accordingly.
24139         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24140         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24141         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24142
24143 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24144             Bruno Haible  <bruno@clisp.org>
24145
24146         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24147         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24148         HAVE_MALLOC.
24149         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24150         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24151         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24152
24153 2010-08-29  Bruno Haible  <bruno@clisp.org>
24154
24155         Update modules list.
24156         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24157         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
24158         (String handling <string.h>): Add astrxfrm.
24159         (File system functions): Add readlinkat.
24160
24161 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24162
24163         Tests for module 'realloc-gnu'.
24164         * modules/realloc-gnu-tests: New file.
24165         * tests/test-realloc-gnu.c: New file.
24166
24167         Tests for module 'calloc-gnu'.
24168         * modules/calloc-gnu-tests: New file.
24169         * tests/test-calloc-gnu.c: New file.
24170
24171         Tests for module 'malloc-gnu'.
24172         * modules/malloc-gnu-tests: New file.
24173         * tests/test-malloc-gnu.c: New file.
24174
24175 2010-08-28  Bruno Haible  <bruno@clisp.org>
24176
24177         Rename module 'realloc' -> 'realloc-gnu'.
24178         * modules/realloc-gnu: New file, copied from modules/realloc.
24179         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24180         obsolete.
24181         * modules/mgetgroups (Depends-on): Update.
24182         * doc/posix-functions/realloc.texi: Update.
24183         * NEWS: Mention the change.
24184
24185         Rename module 'calloc' -> 'calloc-gnu'.
24186         * modules/calloc-gnu: New file, copied from modules/calloc.
24187         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
24188         obsolete.
24189         * doc/posix-functions/calloc.texi: Update.
24190         * NEWS: Mention the change.
24191
24192         Rename module 'malloc' -> 'malloc-gnu'.
24193         * modules/malloc-gnu: New file, copied from modules/malloc.
24194         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
24195         obsolete.
24196         * modules/argp (Depends-on): Update.
24197         * modules/regex (Depends-on): Update.
24198         * doc/posix-functions/malloc.texi: Update.
24199         * NEWS: Mention the change.
24200
24201 2010-08-28  Eric Blake  <eblake@redhat.com>
24202
24203         pread, pwrite: add missing dependency
24204         * modules/pread (Depends-on): Add extensions.
24205         * modules/pwrite (Depends-on): Likewise.
24206
24207 2010-08-28  Bruno Haible  <bruno@clisp.org>
24208
24209         unistr/u*-strchr: Fix tests dependencies.
24210         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
24211         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
24212         Reported by Ian Beckwith <ianb@erislabs.net>.
24213
24214 2010-08-28  Bruno Haible  <bruno@clisp.org>
24215
24216         read-file: Don't occupy too much unused memory.
24217         * lib/read-file.c (fread_file): Shrink the buffer at the end.
24218
24219 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
24220             Eric Blake  <eblake@redhat.com>
24221             Bruno Haible  <bruno@clisp.org>
24222
24223         read-file: Avoid memory reallocations with regular files.
24224         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
24225         (fread_file): With regular files, use the remaining length as the
24226         initial buffer size.  Check against overflow.
24227         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
24228         sys_stat.
24229
24230 2010-08-28  Bruno Haible  <bruno@clisp.org>
24231
24232         ftello: Relax license.
24233         * modules/ftello (License): Relax to LGPLv2+.
24234         Reported by Eric Blake.
24235
24236 2010-08-28  Bruno Haible  <bruno@clisp.org>
24237
24238         Avoid relocwrapper link errors due to gnulib replacement functions.
24239         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
24240         function.
24241         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24242
24243 2010-08-28  Bruno Haible  <bruno@clisp.org>
24244
24245         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
24246         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
24247         defined.
24248         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
24249         Suggested by Eric Blake.
24250
24251 2010-08-28  Bruno Haible  <bruno@clisp.org>
24252
24253         sys_socket, netdb: Ensure socklen_t gets defined.
24254         * modules/sys_socket (Depends-on): Add socklen.
24255         * modules/netdb (Depends-on): Likewise.
24256         * modules/getaddrinfo (Depends-on): Remove socklen.
24257         * modules/getsockopt (Depends-on): Likewise.
24258         * modules/setsockopt (Depends-on): Likewise.
24259         * tests/test-sys_socket.c: Check that socklen_t is defined.
24260         * tests/test-netdb.c: Likewise.
24261         * m4/socklen.m4: Update comments.
24262         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24263
24264 2010-08-27  Eric Blake  <eblake@redhat.com>
24265
24266         login_tty: add missing dependency
24267         * modules/login_tty (Depends-on): Add pty.
24268
24269 2010-08-26  Eric Blake  <eblake@redhat.com>
24270
24271         lib-symbol-versions: fix m4 quoting
24272         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
24273         format for AC_LINK_IFELSE.
24274
24275         glob: fix compile test
24276         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
24277
24278         btowc: fix missing file
24279         * modules/btowc (Files): Also ship locale-fr.m4.
24280
24281         lseek: fix link test
24282         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
24283         AC_LINK_IFELSE.
24284
24285         include_next: silence autoconf 2.68 warning
24286         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
24287         AC_COMPILE_IFELSE as special.
24288         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
24289         autoconf < 2.68.
24290
24291         acl: fix compilation test
24292         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
24293         AC_COMPILE_IFELSE.
24294
24295 2010-08-26  Bruno Haible  <bruno@clisp.org>
24296
24297         Modernize AC_TRY_RUN invocations.
24298         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
24299         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24300         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
24301         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
24302         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
24303         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24304         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24305         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24306         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24307         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24308         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24309         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24310         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24311         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24312         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24313         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24314         gl_MBRLEN_NUL_RETVAL): Likewise.
24315         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24316         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24317         Likewise.
24318         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24319         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24320         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24321         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24322         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
24323         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
24324         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
24325         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
24326         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
24327         Likewise.
24328         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
24329         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
24330         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24331         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24332         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24333         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24334         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24335         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
24336         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24337         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24338
24339 2010-08-26  Bruno Haible  <bruno@clisp.org>
24340
24341         Modernize AC_TRY_LINK invocations.
24342         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
24343         AC_TRY_LINK.
24344         * m4/argp.m4 (gl_ARGP): Likewise.
24345         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
24346         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24347         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
24348         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24349         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24350         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
24351         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
24352         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
24353         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24354         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
24355         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24356         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
24357         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
24358         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24359         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24360         * m4/hostent.m4 (gl_HOSTENT): Likewise.
24361         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24362         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
24363         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
24364         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
24365         Likewise.
24366         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
24367         Likewise.
24368         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
24369         Likewise.
24370         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
24371         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
24372         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
24373         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24374         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
24375         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24376         * m4/servent.m4 (gl_SERVENT): Likewise.
24377         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
24378         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
24379         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
24380         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
24381         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24382         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
24383         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24384         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24385         * modules/tsearch-tests (configure.ac): Likewise.
24386
24387 2010-08-26  Bruno Haible  <bruno@clisp.org>
24388
24389         Modernize AC_TRY_COMPILE invocations.
24390         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
24391         AC_TRY_COMPILE.
24392         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
24393         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
24394         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
24395         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
24396         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
24397         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
24398         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24399         * m4/lock.m4 (gl_LOCK): Likewise.
24400         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
24401         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24402         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
24403         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24404         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
24405         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
24406         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
24407         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
24408         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
24409         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
24410         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
24411         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
24412         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
24413         extraneous semicolon.
24414
24415 2010-08-26  Jim Meyering  <meyering@redhat.com>
24416
24417         stat-time: relax license LGPL
24418         * modules/stat-time (License): Change from GPL to LGPL,
24419         with consent from all contributors, for use in libguile.
24420         Requested by Ludovic Courtès.
24421
24422 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
24423
24424         poll: return immediately on POLLHUP.
24425         * lib/poll.c (poll): Always set timeout before wait_timeout is
24426         computed.
24427
24428 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24429
24430         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
24431         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
24432         rmdir ("dir/.//"), unlinkat.
24433
24434 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
24435
24436         stdbool: avoid spurious failure with modern xlc
24437         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24438
24439 2010-08-24  Bruno Haible  <bruno@clisp.org>
24440
24441         getloadavg: simplify code
24442         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
24443         gl_have_func. Update comments.
24444
24445 2010-08-24  Eric Blake  <eblake@redhat.com>
24446
24447         getloadavg: don't define SVR4 on cygwin
24448         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
24449         only define SVR4 when -lkvm is required.
24450         Reported by Yaakov Selkowitz.
24451
24452 2010-08-24  Bruno Haible  <bruno@clisp.org>
24453
24454         priv-set: fix comment
24455         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
24456
24457 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24458
24459         priv-set: fix comments
24460         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
24461         to match code, as suggested by David Bartley in:
24462         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
24463
24464 2010-08-23  Eric Blake  <eblake@redhat.com>
24465
24466         stdbool: avoid rejecting clang
24467         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24468         * tests/test-stdbool.c: Enable more tests if using the system
24469         <stdbool.h> instead of the gnulib replacement.
24470         (main): Move xlc bug test to a runtime test for all compilers.
24471         Reported by Anders Kaseorg.
24472
24473         argz: fix shell quoting issue
24474         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
24475         Reported by Charles Wilson.
24476
24477 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
24478             Erik Faye-Lund <kusmabite@gmail.com>
24479
24480         poll, select: handle ERROR_BROKEN_PIPE.
24481         * lib/poll.c (win32_compute_revents): Return POLLHUP when
24482         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24483         * lib/select.c (win32_compute_revents): Do not mark a pipe
24484         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24485
24486 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
24487
24488         fts: allow compilation with C++
24489         * lib/fts_.h: Specify extern "C" linkage with C++.
24490
24491 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24492
24493         Fix gnulib-tool sed script de-commentation for AIX sed.
24494         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
24495         sed.
24496
24497 2010-08-17  Eric Blake  <eblake@redhat.com>
24498
24499         test-stddef: test for (some) offsetof bugs
24500         * tests/test-stddef.c: Enhance test to ensure correct type of
24501         offsetof.
24502         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
24503         that we are not fixing at this time.
24504
24505 2010-08-15  Bruno Haible  <bruno@clisp.org>
24506
24507         stpncpy: Allow stpncpy to be defined as a macro.
24508         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
24509         if it's already correctly declared.
24510         * lib/string.in.h (stpncpy): Undefine before redefining.
24511         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
24512
24513 2010-08-14  Bruno Haible  <bruno@clisp.org>
24514
24515         Rename module 'memxfrm' to 'amemxfrm'.
24516         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
24517         (amemxfrm): Renamed from memxfrm.
24518         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
24519         (amemxfrm): Renamed from memxfrm.
24520         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
24521         * NEWS: Mention the change.
24522         * MODULES.html.sh (String handling <string.h>): Update.
24523         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
24524         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
24525         * lib/unicase/u16-casexfrm.c: Likewise.
24526         * lib/unicase/u32-casexfrm.c: Likewise.
24527         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
24528         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
24529         * lib/uninorm/u16-normxfrm.c: Likewise.
24530         * lib/uninorm/u32-normxfrm.c: Likewise.
24531         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
24532         memxfrm.
24533         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
24534         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
24535         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
24536         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
24537         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
24538         Suggested by Paul Eggert.
24539
24540 2010-08-14  Bruno Haible  <bruno@clisp.org>
24541
24542         Tests for module 'astrxfrm'.
24543         * modules/astrxfrm-tests: New file.
24544         * tests/test-astrxfrm.c: New file.
24545
24546         New module 'astrxfrm'.
24547         * lib/astrxfrm.h: New file.
24548         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
24549         * modules/astrxfrm: New file.
24550
24551 2010-08-14  Reuben Thomas <rrt@sc3d.org>
24552
24553         regex: Tweak doc.
24554         * doc/regex.texi (Overview): Don't mention regex.c.
24555         (GNU Regular Expression Compiling): Likewise.
24556         (Match-end-of-line Operator): Mention 'not_eol'.
24557
24558 2010-08-14  Brian Gough  <bjg@gnu.org>
24559             Bruno Haible  <bruno@clisp.org>
24560
24561         git-merge-changelog: add doc relating to use with bzr and hg.
24562         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
24563
24564 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
24565
24566         pthread: fix pthread.h creation for srcdir != builddir
24567         * modules/pthread (Makefile.am): Fix the rule to work also in a
24568         non-srcdir build.
24569
24570 2010-08-13  Karl Berry  <karl@gnu.org>
24571
24572         * doc/regex.texi (Predefined Syntaxes): @smallexample.
24573         * doc/posix-*/*: force line break before @url of POSIX
24574         specifications.
24575         Suggested by Werner Lemberg.
24576
24577 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
24578
24579         strtod: fix const diagnostic
24580         * lib/strtod.c (strtod): Don't assign const char * to char *,
24581         as this elicits a warning from GCC when warnings are enabled.
24582
24583 2010-08-10  Pádraig Brady <P@draigbrady.com>
24584         and Eric Blake  <eblake@redhat.com>
24585
24586         copy-acl: ignore ENOTSUP on HP-UX
24587         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
24588         so that it is available for HP-UX.
24589         * lib/copy-acl.c (qcopy_acl): Use it.
24590         Reported by Patrick M. Callahan.
24591
24592 2010-08-10  Eric Blake  <eblake@redhat.com>
24593
24594         open, chown: relax license
24595         * modules/open (License): Change to LGPLv2+, with consent by all
24596         authors, for use in augeas.
24597         * modules/chown (License): Likewise.
24598         * modules/lchown (Likewise): Likewise.
24599         Requested by Adam Stokes.
24600
24601 2010-08-09  Karl Berry  <karl@gnu.org>
24602
24603         * build-aux/ar-lib: new file, import from Automake.
24604         * config/srclist.txt: autocheck for updates.
24605
24606 2010-08-09  Eric Blake  <eblake@redhat.com>
24607
24608         readlinkat: adjust client modules
24609         * modules/areadlinkat (Depends-on): Use readlinkat, not
24610         symlinkat.
24611         * modules/areadlinkat-with-size (Depends-on): Likewise.
24612
24613         mknod: be more vocal about danger of running tests as root
24614         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
24615         root, since that is just asking for problems.
24616         Suggested by Bruno Haible, based on a report by Rainer Tammer.
24617
24618         readlinkat: split into its own module
24619         * modules/symlinkat: Split readlinkat...
24620         * modules/readlinkat: ...into separate module.
24621         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
24622         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
24623         * lib/symlinkat.c (readlinkat): Move...
24624         * lib/readlinkat.c: ...into new file.
24625         * modules/symlinkat-tests: Split readlinkat test...
24626         * modules/readlinkat-tests: ...into separate module.
24627         * tests/test-symlinkat.c: Split...
24628         * tests/test-readlinkat.c: ...into new file.
24629         * NEWS: Document the split.
24630         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24631         * lib/unistd.in.h (readlinkat): Likewise.
24632         Suggested by Bruno Haible.
24633
24634 2010-08-08  Bruno Haible  <bruno@clisp.org>
24635
24636         memxfrm: Speed up.
24637         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
24638         that usually only one call to strxfrm is necessary for each string
24639         part.
24640         Reported by Paul Eggert <eggert@cs.ucla.edu>.
24641
24642 2010-08-07  Karl Berry  <karl@gnu.org>
24643
24644         * doc/posix-headers/limits.texi,
24645         * doc/posix-functions/malloc.texi,
24646         * doc/posix-functions/strsignal.texi: missing @item.
24647         * doc/ld-version-script.texi: spurious leading i.
24648         * doc/regex.texi (Interval Operators): no commas inside @var.
24649
24650 2010-08-01  Bruno Haible  <bruno@clisp.org>
24651
24652         Integrate the regex documentation.
24653         * doc/gnulib.texi: Define 'cn' index.
24654         (Regular expressions): New a chapter that includes regex.texi and
24655         regexprops-generic.texi.
24656         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
24657         syntax.
24658
24659         Whitespace cleanup.
24660         * doc/regex.texi: Remove trailing spaces.
24661
24662         Add regex documentation.
24663         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
24664         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
24665         Written by Kathy A. Hargreaves and Karl Berry.
24666
24667 2010-08-01  Bruno Haible  <bruno@clisp.org>
24668
24669         link: Update documentation.
24670         * doc/posix-functions/link.texi: Update regarding Solaris.
24671
24672 2010-07-31  Bruno Haible  <bruno@clisp.org>
24673
24674         Update modules list.
24675         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
24676         (String handling <string.h>): Add memcmp2, memxfrm.
24677         (Container data structures): Add xlist, xsublist, xoset.
24678         (Core language properties): Add alignof, unused-parameter.
24679         (Process control, Numeric conversion functions <stdlib.h>): Renamed
24680         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
24681         (Unibyte characters <ctype.h>): New section.
24682         (String handling <string.h>): New section.
24683         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
24684         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
24685         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
24686         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
24687         tan, tanh, tanl, y0, y1, yn.
24688         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
24689         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
24690         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
24691         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
24692         unlockpt, vdprintf, vdprintf-posix.
24693         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
24694         (File system functions): Add concat-filename, sys_file, sys_ioctl,
24695         xconcat-filename.
24696         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
24697         getdtablesize, pipe2, pipe2-safer.
24698         (Security): New section.
24699         (Networking functions): Add accept4.
24700         (Signal handling): Add sigpipe.
24701         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
24702         mbmemcasecoll.
24703         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
24704         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
24705         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
24706         pipe-filter-ii.
24707         (Misc): Add argp-version-etc, login_tty, parse-duration.
24708
24709 2010-07-31  Bruno Haible  <bruno@clisp.org>
24710
24711         Improve doc in MODULES.html.
24712         * modules/linkat (Description): Add the word "function".
24713         * modules/mkfifo (Description): Likewise.
24714         * modules/mknod (Description): Likewise.
24715         * modules/remove (Description): Likewise.
24716         * modules/renameat (Description): Likewise.
24717         * modules/stat (Description): Likewise.
24718         * modules/symlink (Description): Likewise.
24719         * modules/unlink (Description): Likewise.
24720
24721 2010-07-31  Bruno Haible  <bruno@clisp.org>
24722
24723         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
24724         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
24725         option --enable/disable-c++ instead of --enable/disable-cxx.
24726         * NEWS: Mention the change.
24727
24728 2010-07-31  Bruno Haible  <bruno@clisp.org>
24729
24730         readlink, areadlink: Relax test a bit.
24731         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
24732         alternative to ENOTDIR.
24733         * tests/test-areadlink.h (test_areadlink): Likewise.
24734         Reported by Rainer Tammer.
24735
24736 2010-07-31  Bruno Haible  <bruno@clisp.org>
24737
24738         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
24739         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
24740         character, perform the search using U_STRCHR.
24741         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
24742         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
24743         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
24744         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
24745         Suggested by Paolo Bonzini.
24746
24747 2010-07-31  Bruno Haible  <bruno@clisp.org>
24748
24749         unistr/u*-strstr: Fix dependencies.
24750         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
24751         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
24752         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
24753
24754 2010-07-31  Bruno Haible  <bruno@clisp.org>
24755
24756         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
24757         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
24758         the beginning of the loop.
24759         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
24760         cases in 'switch' statement.
24761
24762         unistr/u8-strchr: Fix several bugs.
24763         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
24764         the string. When not found, return NULL, not a pointer near the end.
24765
24766         More tests for unistr/u8-strchr.
24767         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
24768         that the function does not read past the first occurrence of the byte
24769         being searched.
24770         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
24771         * tests/unistr/test-u16-strchr.c (main): New function.
24772         * tests/unistr/test-u32-strchr.c (main): New function.
24773
24774 2010-07-31  Bruno Haible  <bruno@clisp.org>
24775
24776         posix-modules: Ignore backup files of documentation files.
24777         * posix-modules: grep only through files named *.texi.
24778
24779 2010-07-31  Bruno Haible  <bruno@clisp.org>
24780
24781         symlinkat: Fix documentation.
24782         * doc/posix-functions/readlinkat.texi: Fix module name.
24783
24784 2010-07-31  Bruno Haible  <bruno@clisp.org>
24785
24786         fchownat: Replace also when chown has the trailing slash bug.
24787         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
24788         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
24789         introduced on 2010-04-10.
24790         Reported by Rainer Tammer.
24791
24792 2010-07-31  Bruno Haible  <bruno@clisp.org>
24793
24794         linkat: Work around AIX 7.1 bug.
24795         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
24796         whether linkat handles trailing slash correctly. If not, replace linkat
24797         and define LINKAT_TRAILING_SLASH_BUG.
24798         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
24799         check whether (fd1,file1) points to a directory if file1 or file2 ends
24800         in a slash. Code taken from lib/link.c.
24801         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
24802         Reported by Rainer Tammer.
24803
24804 2010-07-31  Bruno Haible  <bruno@clisp.org>
24805
24806         Correctly determine whether pow is available in libc on AIX 7 with xlc.
24807         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
24808         This disables an xlc optimization that was causing wrong test results.
24809         Reported by Rainer Tammer.
24810
24811 2010-07-31  Bruno Haible  <bruno@clisp.org>
24812
24813         iconv: Work around AIX 6.1..7.1 bug.
24814         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
24815         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
24816         cross-compiling, guess no on all versions of AIX.
24817         Reported by Rainer Tammer.
24818
24819 2010-07-31  Bruno Haible  <bruno@clisp.org>
24820
24821         readlink: Relax test a bit.
24822         * tests/test-readlink.h (test_readlink): Allow different errno value
24823         when readlink is called with a file name that ends in / and refers to
24824         a file.
24825         Suggested by Eric Blake.
24826         Reported by Rainer Tammer.
24827
24828 2010-07-31  Bruno Haible  <bruno@clisp.org>
24829
24830         copysign: Does not require -lm on glibc systems.
24831         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
24832         gl_COMMON_DOUBLE_MATHFUNC.
24833         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
24834
24835 2010-07-31  Bruno Haible  <bruno@clisp.org>
24836
24837         duplocale: Work around AIX 7.1 bug.
24838         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
24839         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
24840         * lib/duplocale.c (rpl_duplocale): Update comment.
24841         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
24842         Reported by Rainer Tammer.
24843
24844 2010-07-30  Bruno Haible  <bruno@clisp.org>
24845
24846         dirfd: Avoid link error on AIX 7.1.
24847         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
24848         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
24849         exist, set REPLACE_DIRFD.
24850         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
24851         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
24852         * doc/posix-functions/dirfd.texi: Update.
24853         Reported by Rainer Tammer.
24854
24855 2010-07-30  Eric Blake  <eblake@redhat.com>
24856
24857         strtod: next round of AIX fixes
24858         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
24859         exponent.
24860         * tests/test-strtod.c (main): Enhance tests.
24861         * doc/posix-functions/strtod.texi (strtod): Document next bug.
24862         Reported by Rainer Tammer.
24863
24864         futimens: fix configure check
24865         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
24866         Reported by Bruno Haible.
24867
24868 2010-07-30  Bruno Haible  <bruno@clisp.org>
24869
24870         getline: Update regarding AIX.
24871         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
24872         Reported by Rainer Tammer.
24873
24874 2010-07-30  Bruno Haible  <bruno@clisp.org>
24875
24876         wcwidth: Drop replacement on AIX 7.
24877         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
24878         AIX 7.
24879         Reported by Rainer Tammer.
24880
24881 2010-07-30  Bruno Haible  <bruno@clisp.org>
24882
24883         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
24884         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
24885         a 'char *'.
24886         Reported by Rainer Tammer.
24887
24888 2010-07-30  Bruno Haible  <bruno@clisp.org>
24889
24890         unlink: Update regarding AIX.
24891         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
24892         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
24893         Reported by Rainer Tammer.
24894
24895 2010-07-30  Bruno Haible  <bruno@clisp.org>
24896
24897         symlink: Update regarding AIX.
24898         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
24899         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
24900         Reported by Rainer Tammer.
24901
24902 2010-07-30  Bruno Haible  <bruno@clisp.org>
24903
24904         strndup: Update regarding AIX.
24905         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
24906         AIX 7.
24907         Reported by Rainer Tammer.
24908
24909 2010-07-30  Bruno Haible  <bruno@clisp.org>
24910
24911         stat: Update regarding AIX.
24912         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
24913         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
24914         Reported by Rainer Tammer.
24915
24916 2010-07-30  Bruno Haible  <bruno@clisp.org>
24917
24918         truncl: Fix autoconf test.
24919         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
24920         whether truncl works.
24921         Reported by Rainer Tammer.
24922
24923 2010-07-30  Bruno Haible  <bruno@clisp.org>
24924
24925         round: Update regarding AIX.
24926         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
24927         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
24928         Reported by Rainer Tammer.
24929
24930 2010-07-30  Bruno Haible  <bruno@clisp.org>
24931
24932         rename: Update regarding AIX.
24933         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
24934         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
24935         Reported by Rainer Tammer.
24936
24937 2010-07-30  Bruno Haible  <bruno@clisp.org>
24938
24939         printf.m4: Update regarding AIX.
24940         * m4/printf.m4: Update comments regarding AIX.
24941         Reported by Rainer Tammer.
24942
24943 2010-07-30  Bruno Haible  <bruno@clisp.org>
24944
24945         iconv: Update regarding AIX.
24946         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
24947         AIX 7.
24948         Reported by Rainer Tammer.
24949
24950 2010-07-30  Bruno Haible  <bruno@clisp.org>
24951
24952         getopt: Update regarding AIX.
24953         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
24954         no on AIX.
24955         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
24956         Reported by Rainer Tammer.
24957
24958 2010-07-30  Bruno Haible  <bruno@clisp.org>
24959
24960         ldexpl; Update regarding AIX.
24961         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
24962         on AIX 7.
24963         Reported by Rainer Tammer.
24964
24965 2010-07-30  Bruno Haible  <bruno@clisp.org>
24966
24967         frexpl: Update regarding AIX.
24968         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
24969         on AIX 7.
24970         Reported by Rainer Tammer.
24971
24972 2010-07-30  Bruno Haible  <bruno@clisp.org>
24973
24974         open, fopen: Update regarding AIX.
24975         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
24976         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24977         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
24978         * doc/posix-functions/fopen.texi: Likewise.
24979         Reported by Rainer Tammer.
24980
24981 2010-07-30  Bruno Haible  <bruno@clisp.org>
24982
24983         chown: Update doc regarding AIX.
24984         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
24985         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
24986         Reported by Rainer Tammer.
24987
24988 2010-07-30  Eric Blake  <eblake@redhat.com>
24989
24990         strtod: fix bug in replacement function on AIX
24991         * lib/strtod.c (strtod): Special case broken "0x" parse in
24992         underlying strtod.
24993         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
24994         * doc/posix-functions/strtod.texi (strtod): Likewise.
24995         Reported by Rainer Tammer.
24996
24997 2010-07-30  Bruno Haible  <bruno@clisp.org>
24998
24999         mbrlen: Fix cross-compilation guess for AIX.
25000         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25001         guess. Leftover from 2008-12-22.
25002
25003 2010-07-30  Bruno Haible  <bruno@clisp.org>
25004
25005         mbrtowc: Fix cross-compilation guess for AIX.
25006         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25007         guess. Leftover from 2008-12-21.
25008
25009 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25010
25011         init.sh: work around trap limitation of some shells
25012         * tests/init.sh (setup_): Move exit trap outside of shell function.
25013
25014 2010-07-29  Eric Blake  <eblake@redhat.com>
25015
25016         strtod: aid debugging
25017         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25018         understanding why strtod is rejected.
25019
25020 2010-07-28  Bruno Haible  <bruno@clisp.org>
25021
25022         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25023         * lib/unistr/u8-chr.c: Include <string.h>.
25024         * tests/unistr/test-u8-chr.c: Likewise.
25025         * tests/unistr/test-u16-chr.c: Likewise.
25026         * tests/unistr/test-u32-chr.c: Likewise.
25027         * tests/unistr/test-u8-strchr.c: Likewise.
25028         * tests/unistr/test-u16-strchr.c: Likewise.
25029         * tests/unistr/test-u32-strchr.c: Likewise.
25030         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25031         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25032         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25033         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25034
25035 2010-07-28  Bruno Haible  <bruno@clisp.org>
25036
25037         Use spaces for indentation, not tabs.
25038         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25039
25040 2010-07-27  Bruno Haible  <bruno@clisp.org>
25041
25042         mbspcasecmp: Fix function specification.
25043         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25044         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25045         Reported by Eric Blake <eblake@redhat.com>.
25046
25047 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25048
25049         timespec: use cast and not conditional, as truncation isn't possible
25050         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25051         instead of a conditional.  Comment about the situation in more detail.
25052         This undoes most of the 2009-10-29 patch.
25053
25054 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25055
25056         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25057         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25058         * lib/unistr/u8-strchr.c: Likewise.
25059         * modules/unistr/u8-chr: Depend on memchr.
25060
25061         unistr/u*-strchr: add tests
25062         * modules/unistr/u8-strchr-tests: New file.
25063         * modules/unistr/u16-strchr-tests: New file.
25064         * modules/unistr/u32-strchr-tests: New file.
25065         * tests/unistr/test-strchr.h: New file.
25066         * tests/unistr/test-u8-strchr.c: New file.
25067         * tests/unistr/test-u16-strchr.c: New file.
25068         * tests/unistr/test-u32-strchr.c: New file.
25069
25070         unistr/u*-chr: test multibyte sequences more
25071         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25072         test vector.
25073         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25074         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25075         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25076
25077         unistr/u*-chr: test multibyte sequences
25078         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25079
25080         unistr/u*-chr: prepare for multibyte tests
25081         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25082         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25083         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25084         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25085         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25086         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25087
25088 2010-07-18  Bruno Haible  <bruno@clisp.org>
25089
25090         unistr/u8-strchr: Optimize non-ASCII argument case.
25091         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25092         because the first byte often matches anyway.
25093         Reported by Pádraig Brady <P@draigbrady.com>.
25094
25095 2010-07-15  Karl Berry  <karl@gnu.org>
25096
25097         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25098
25099 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25100
25101         getcwd: on Solaris, work better if ancestors are inaccessible
25102         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25103         buffer and size, try again with a large buffer.  This works better
25104         on Solaris, since its getcwd succeeds even if the path to the root
25105         is inaccessible, and this is helpful in common cases such as .zfs
25106         hidden directories.  Problem reported by J Chapman Flack in
25107         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25108         Use system getcwd if it's declared, not merely if it's partly
25109         working; use the partly-working test only to avoid needless effort
25110         if the system getcwd fails.
25111         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25112         comment that was already obsolete and is now even more obsolete.
25113         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25114         now might call strdup.
25115
25116 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25117
25118         pthread: Add enough so that coreutils/src/sort.c compiles.
25119         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25120         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25121         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25122         Include <sys/types.h>, in case it defines pthread_t.
25123         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25124         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25125         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25126         (pthread_rwlockattr_t, pthread_spinlock_t):
25127         New typedefs, if HAVE_PTHREAD_T is not defined.
25128         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25129         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25130         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25131         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25132         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25133         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25134         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25135         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25136         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25137         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25138         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25139         New macros.
25140         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25141         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25142         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25143         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25144         (pthread_spin_unlock): New dummy functions.
25145         (pthread_create): Return EAGAIN; don't set errno.
25146         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25147         require AC_C_INLINE.
25148         * modules/pthread (Depends-on): Add sched, time.
25149         (pthread.h): Use AM_V_GEN.
25150
25151 2010-07-13  Bruno Haible  <bruno@clisp.org>
25152
25153         striconveh: Don't malloc memory if the result buffer is sufficient.
25154         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
25155         buffer if its size is sufficient.
25156         Reported by Ludovic Courtès <ludo@gnu.org>.
25157
25158 2010-07-13  Bruno Haible  <bruno@clisp.org>
25159
25160         strtod: Add safety check.
25161         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
25162
25163 2010-07-12  Bruno Haible  <bruno@clisp.org>
25164
25165         Unify tests that set gl_cv_func_ldexpl_no_libm.
25166         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
25167         gl_FUNC_LDEXPL.
25168         (gl_FUNC_LDEXPL): Invoke it.
25169         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25170
25171 2010-07-12  Bruno Haible  <bruno@clisp.org>
25172
25173         Unify tests that set gl_cv_func_ldexp_no_libm.
25174         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25175         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25176         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25177         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25178         * modules/strtod (Files): Add m4/ldexp.m4.
25179
25180 2010-07-12  Bruno Haible  <bruno@clisp.org>
25181
25182         Unify tests that set gl_cv_func_frexpl_no_libm.
25183         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25184         gl_FUNC_FREXPL_NO_LIBM.
25185         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25186         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25187
25188 2010-07-12  Bruno Haible  <bruno@clisp.org>
25189
25190         Unify tests that set gl_cv_func_frexp_no_libm.
25191         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
25192         gl_FUNC_FREXP_NO_LIBM.
25193         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
25194         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25195
25196 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25197
25198         memcoll: clarify sizes versus lengths, document better, and tweak perf
25199         * lib/memcoll.c (strcoll_loop, memcoll0):
25200         Improve quality of descriptive comments.  Name variables
25201         consistently as to whether they are lengths (which do not include
25202         terminating null) versus sizes (which do).
25203         * lib/xmemcoll.c (xmemcoll0): Likewise.
25204         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
25205         returned when s1size == 0; this is easier to compile and saves
25206         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
25207
25208 2010-07-12  Bruno Haible  <bruno@clisp.org>
25209
25210         Tests for module '_Exit'.
25211         * modules/_Exit-tests: New file.
25212         * tests/test-_Exit.sh: New file.
25213         * tests/test-_Exit.c: New file.
25214
25215         New module '_Exit'.
25216         * lib/stdlib.in.h (__attribute__): New macro.
25217         (_Exit): New declaration.
25218         * lib/_Exit.c: New file.
25219         * m4/_Exit.m4: New file.
25220         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
25221         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
25222         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
25223         * modules/_Exit: New file.
25224         * tests/test-stdlib-c++.cc (_Exit): Check signature.
25225         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
25226
25227 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25228
25229         strtod: make it more-accurate typically, and don't require libm
25230         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
25231         Include limits.h.  Don't include string.h.
25232         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
25233         (locale_isspace): New function, so that no casts are needed to
25234         check whether *s is a space.
25235         (ldexp): Provide an unused dummy if not available.
25236         (scale_radix_exp, parse_number, underlying_strtod): New functions.
25237         (strtod): Use them.  This implementation prefers to use the
25238         underlying strtod if available, falling back on our own code
25239         only to fix known bugs.  This is more likely to produce an
25240         accurate result.  Also, it avoids the use of libm functions.
25241         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
25242         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
25243         was absent, but it caused a test failure with coreutils.
25244         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
25245         with libm.
25246         * modules/strtod (Makefile.am, Link): libm is no longer needed.
25247         * modules/strtod-tests (Makefile.am): Likewise.
25248
25249 2010-07-11  Pádraig Brady  <P@draigBrady.com>
25250             Bruno Haible  <bruno@clisp.org>
25251
25252         unistr/u8-strchr: Optimize ASCII argument case.
25253         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
25254
25255 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
25256
25257         (x)memcoll: minor tweaks
25258         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
25259         is after the type that it qualifies.
25260         (memcoll0): Likewise.
25261         * lib/memcoll.h (memcoll0): Likewise.
25262         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
25263         * lib/xmemcoll.h (xmemcoll0): Likewise.
25264         * lib/memcoll.c (memcoll0): Correct the comment.  This function
25265         differs from memcoll in that the NUL byte is part of the argument.
25266         Omit the abort-checks, as performance is a real issue here.  Plus,
25267         the checks were wrong anyway (an off-by-one error).  Omit local
25268         variable 'diff', as it's a bit clearer that way.
25269         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
25270         no longer needed.
25271
25272 2010-07-08  Chen Guo <chenguo4@yahoo.com>
25273
25274         (x)memcoll: speedup when input is known to be NUL delimited
25275         * lib/memcoll.c: Include stdlib.
25276         (memcoll0): New function.
25277         (strcoll_loop): New function, refactored for use in both memcoll
25278         and memcoll0.
25279         * lib/memcoll.h (memcoll0): Add prototype.
25280         * lib/xmemcoll.c (xmemcoll0): New function.
25281         (collate_error): New function, refactored for use in both xmemcoll
25282         and xmemcoll0.
25283         * lib/xmemcoll.h (xmemcoll0): Add prototype.
25284         * m4/memcoll.m4: add inline invocation.
25285
25286 2010-07-06  Pádraig Brady  <P@draigBrady.com>
25287
25288         * build-aux/bootstrap: Remove any local translations
25289         from the translation project synchronization directory,
25290         so that local only translations are not distributed.
25291
25292 2010-07-04  Bruno Haible  <bruno@clisp.org>
25293
25294         fsusage: Clarify which code applies to which platforms.
25295         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
25296         platform.
25297         * lib/fsusage.c (get_fs_usage): Likewise.
25298
25299 2010-07-04  Bruno Haible  <bruno@clisp.org>
25300
25301         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
25302         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
25303         Reported by Martin Lambers <marlam@marlam.de>.
25304
25305 2010-07-04  Jim Meyering  <meyering@redhat.com>
25306
25307         hash: once again explicitly disallow insertion of NULL
25308         * lib/hash.c (hash_insert0): Reinstate just-removed test:
25309         inserting a NULL pointer cannot work with these functions.
25310         Add a comment with details.
25311         This reverts part of the 2010-07-01 commit, 5bef1a35
25312         "hash: extend module to deal with non-pointer keys".
25313
25314 2010-07-01  Bruno Haible  <bruno@clisp.org>
25315
25316         stdbool: Update doc.
25317         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
25318         Info from Christian Weisgerber <naddy@mips.inka.de>.
25319
25320 2010-07-01  Jim Meyering  <meyering@redhat.com>
25321
25322         hash: extend module to deal with non-pointer keys
25323         * lib/hash.c (hash_insert0): New interface, much like hash_insert
25324         but that allows insertion of non-pointer entries.
25325         Do not disallow an ENTRY value of NULL.
25326         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
25327         * lib/hash.h (hash_insert0): Declare.
25328
25329 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25330
25331         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
25332         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
25333         not present (i.e. with autoconf 2.59 and when using gettextize, not
25334         gnulib), require AC_GNU_SOURCE instead.
25335
25336 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
25337
25338         idpriv-drop: Fix tests.
25339         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
25340         not to the test-idpriv-droptemp program.
25341
25342 2010-06-29  Bruno Haible  <bruno@clisp.org>
25343
25344         string: Fix syntax error with g++ 2.96.
25345         * lib/string.in.h (__pure__): Remove definition.
25346         (_GL_ATTRIBUTE_PURE): New macro.
25347         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
25348         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
25349         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25350
25351 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
25352
25353         unitypes: Fix bug introduced on 2010-05-18.
25354         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
25355
25356 2010-06-22  Eric Blake  <eblake@redhat.com>
25357
25358         memmem: slight optimization
25359         * lib/str-two-way.h (critical_factorization): Update comments.
25360         Reduce work during factorization phase.
25361         Reported by Carlos Bueno <carlos@bueno.org>.
25362
25363 2010-06-21  Bruno Haible  <bruno@clisp.org>
25364
25365         Fix HAVE_CALLOC_POSIX misnomer.
25366         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
25367         !HAVE_CALLOC_POSIX.
25368         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
25369         HAVE_CALLOC_POSIX.
25370         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
25371         instead of HAVE_CALLOC_POSIX.
25372         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
25373         HAVE_CALLOC_POSIX.
25374
25375         Use modern idiom for calloc() replacement.
25376         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
25377         AC_FUNC_CALLOC.
25378         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
25379         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
25380         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25381         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
25382         (gl_REPLACE_CALLOC): New macro.
25383
25384 2010-06-21  Bruno Haible  <bruno@clisp.org>
25385
25386         Fix HAVE_REALLOC_POSIX misnomer.
25387         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
25388         !HAVE_REALLOC_POSIX.
25389         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
25390         HAVE_REALLOC_POSIX.
25391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
25392         instead of HAVE_REALLOC_POSIX.
25393         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
25394         HAVE_REALLOC_POSIX.
25395
25396         Use modern idiom for realloc() replacement.
25397         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
25398         AC_FUNC_REALLOC.
25399         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
25400         Autoconf's AC_FUNC_REALLOC.
25401         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25402         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
25403         (gl_REPLACE_REALLOC): New macro.
25404         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25405
25406 2010-06-21  Bruno Haible  <bruno@clisp.org>
25407
25408         Fix HAVE_MALLOC_POSIX misnomer.
25409         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
25410         !HAVE_MALLOC_POSIX.
25411         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
25412         HAVE_MALLOC_POSIX.
25413         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
25414         instead of HAVE_MALLOC_POSIX.
25415         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
25416         HAVE_MALLOC_POSIX.
25417
25418         Use modern idiom for malloc() replacement.
25419         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
25420         AC_FUNC_MALLOC.
25421         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
25422         Autoconf's AC_FUNC_MALLOC.
25423         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25424         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
25425         (gl_REPLACE_MALLOC): New macro.
25426         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25427
25428 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
25429
25430         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
25431         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
25432         This macro takes 3 arguments, not 4.
25433
25434 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
25435
25436         ipv6: fix detection under mingw
25437         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
25438         in6_addr.
25439
25440 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
25441
25442         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
25443         that strtod() works when cross-compiling to a glibc version known
25444         to work.
25445
25446 2010-06-15  Bruno Haible  <bruno@clisp.org>
25447
25448         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
25449
25450 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
25451
25452         select: Correct timeout.
25453         * lib/select.c (rpl_select): Compute wait_timeout correctly.
25454
25455 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25456
25457         git-version-gen: init shell var to avoid env var influence
25458         * build-aux/git-version-gen (v): Init shell var to empty.
25459
25460 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
25461
25462         priv-set: Don't assume that priv.h exists merely because getppriv does.
25463         See Jan Andersen's bug report about AIX 5L in
25464         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
25465         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
25466         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
25467         * lib/priv-set.h: Likewise.
25468         * tests/test-priv-set.c: Likewise.
25469
25470 2010-06-13  Bruno Haible  <bruno@clisp.org>
25471
25472         relocatable: Make it easier to test whether to install wrappers.
25473         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
25474         RELOCATABLE_VIA_WRAPPER.
25475
25476 2010-06-13  Bruno Haible  <bruno@clisp.org>
25477
25478         gnulib-tool: Display specified modules and dependencies differently.
25479         * gnulib-tool (func_show_module_list): New function.
25480         (func_import, func_create_testdir): Invoke it.
25481         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25482
25483 2010-06-13  Bruno Haible  <bruno@clisp.org>
25484
25485         gnulib-tool: Align code of func_import and func_create_testdir.
25486         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
25487         specified_modules.
25488
25489 2010-06-12  Jim Meyering  <meyering@redhat.com>
25490
25491         test-inttostr: avoid spurious failure on Solaris 9
25492         * tests/test-inttostr.c (main): Skip the test when snprintf fails
25493         to accept "%ju".  Reported by Bruno Haible.
25494
25495 2010-06-11  Jim Meyering  <meyering@redhat.com>
25496
25497         test-sys_socket: mark variables as used more readably
25498         * tests/test-sys_socket.c (main): Mark otherwise unused variables
25499         as "used" explicitly via (void) statement casts.  This is more
25500         readable than using them in an artificial return expression.
25501         Suggestion from Bruno Haible.
25502
25503 2010-06-11  Bruno Haible  <bruno@clisp.org>
25504
25505         Avoid some more warnings from "gcc -Wwrite-strings".
25506         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
25507         to 'const char *'.
25508         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
25509         * tests/test-c-strcasestr.c (main): Likewise.
25510         * tests/test-mbscasestr1.c (main): Likewise.
25511         * tests/test-mbscasestr2.c (main): Likewise.
25512         * tests/test-memmem.c (main): Likewise.
25513         * tests/test-strstr.c (main): Likewise.
25514         * tests/test-strcasestr.c (main): Likewise.
25515
25516 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25517
25518         init.sh: change framework_failure_ to fail with status 99, not 1
25519         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
25520         automake's parallel-tests rule that this is an unexpected failure,
25521         even if the test is listed in XFAIL_TESTS.
25522
25523 2010-06-11  Jim Meyering  <meyering@redhat.com>
25524
25525         test-inttostr: avoid warnings about 4-6KB literal strings
25526         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
25527         Include "macros.h", for its definition of ASSERT.
25528         (CK): s/assert/ASSERT/
25529         * modules/inttostr-tests (Files): Add macros.h.
25530
25531         init.sh: don't use $ME_ or skip_ before they are defined
25532         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
25533         their first uses.  Also hoist their companions: warn_, fail_,
25534         framework_failure_, $stderr_fileno.  Prompted by a patch from
25535         Stefano Lattarini.
25536
25537         test-sys_socket: avoid set-but-not-used warnings from gcc
25538         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
25539         avoid warning about set-but-not-used variables.
25540
25541         test-xvasprintf: avoid 'const' discard warnings
25542         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
25543         "const" when assigning from literal strings.
25544         (test_xasprintf): Add "void" in function argument list to placate
25545         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
25546
25547         tests: avoid compilation warnings in argmatch and exclude tests...
25548         in packages that define ARGMATCH_DIE_DECL, like coreutils.
25549         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
25550         Since it always exits, declare with the "noreturn" attribute.
25551         * tests/test-argmatch.c: Likewise.
25552
25553         tests: avoid 'const' discard warnings in mbsstr tests
25554         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
25555         * tests/test-mbsstr2.c (main): Likewise.
25556
25557         test-verify: avoid warning from gcc's -Wmissing-declarations
25558         * tests/test-verify.c (function): Declare to be static.
25559
25560         test-inttostr.c: include <string.h> for use of strcmp
25561         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
25562
25563         test-linkat: avoid failed assertion on "other" architectures
25564         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
25565         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
25566         sparc: https://bugs.launchpad.net/bugs/591968
25567
25568 2010-06-11  Jim Meyering  <meyering@redhat.com>
25569
25570         printf.m4: avoid autoconf's "Expanded Before Required" warning
25571         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
25572         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
25573         autoconf warning.
25574
25575 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
25576
25577         Replacement header templates are now named with ".in", not "_".
25578         * doc/gnulib-intro.texi: Correct.
25579
25580 2010-06-10  Jim Meyering  <meyering@redhat.com>
25581
25582         inttostr-tests: depend on snprintf, not snprintf-posix
25583         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
25584         snprintf-posix, to avoid this aclocal failure:
25585           missing file gnulib-tests/vasnprintf.c
25586           configure.ac:45: error: expected source file, required through \
25587           AC_LIBSOURCES, not found
25588
25589 2010-06-10  Jim Meyering  <meyering@redhat.com>
25590
25591         inttostr: add a new function, inttostr, and tests
25592         The namesake function was not available.  The existence of the
25593         template file, inttostr.c makes its addition nontrivial.
25594         * lib/anytostr.c: Rename from inttostr.c.
25595         (anytostr): Rename from inttostr.
25596         * lib/inttostr.c: New file.
25597         * modules/inttostr (Files): Add anytostr.c.
25598         (Makefile.am): Set lib_SOURCES instead of ...
25599         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
25600         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
25601         * lib/offtostr.c: Likewise.
25602         * lib/uinttostr.c: Likewise.
25603         * lib/umaxtostr.c: Likewise.
25604         * modules/inttostr-tests: New file.
25605         * tests/test-inttostr.c: New file.  Test these functions.
25606
25607 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
25608             Bruno Haible  <bruno@clisp.org>
25609
25610         Add "Extending Gnulib" chapter to manual.
25611         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
25612         chapter.
25613         (Extending Gnulib): New chapter.
25614         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
25615         chapter.
25616
25617 2010-06-09  Bruno Haible  <bruno@clisp.org>
25618
25619         Avoid relocwrapper link errors due to gnulib replacement functions.
25620         * lib/areadlink.c: Use the system's malloc, realloc functions.
25621         (areadlink): Set errno to ENOMEM explicitly.
25622         * modules/areadlink (Depends-on): Remove malloc-posix.
25623         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25624
25625 2010-06-09  Bruno Haible  <bruno@clisp.org>
25626
25627         Avoid relocwrapper link errors due to gnulib replacement functions.
25628         * lib/canonicalize-lgpl.c: Use the system's malloc function.
25629         * lib/malloca.c: Likewise.
25630         * lib/relocatable.c: Likewise.
25631         * lib/progreloc.c: Use the system's malloc, sprintf functions.
25632         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
25633         * lib/setenv.c: Use the system's malloc, realloc functions.
25634         * lib/strerror.c: Use the system's sprintf function.
25635         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25636
25637 2010-06-04  Bruno Haible  <bruno@clisp.org>
25638
25639         Prefer documented low-level autoconf macro names.
25640         * m4/lib-link.m4: Use m4_translit instead of translit.
25641         * m4/environ.m4: Likewise.
25642         * m4/mathfunc.m4: Likewise.
25643         * m4/onceonly.m4: Likewise.
25644         * m4/stdint.m4: Likewise.
25645         Suggested by Eric Blake.
25646
25647 2010-06-04  Martin Lambers  <marlam@marlam.de>
25648             Bruno Haible  <bruno@clisp.org>
25649
25650         havelib: Allow library names with '+' characters.
25651         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
25652         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
25653
25654 2010-06-09  Bruno Haible  <bruno@clisp.org>
25655
25656         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
25657         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
25658         realloc failed.
25659
25660 2010-06-08  Peter Simons  <simons@cryp.to>
25661
25662         maint.mk: make the news-check rule more configurable
25663         * top/maint.mk (news-check-lines-spec): New variable.
25664         (news-check): Use "sed -n 1,10p" in place of "head".
25665
25666 2010-06-07  Jim Meyering  <meyering@redhat.com>
25667
25668         do-release-commit-and-tag: fix typo in --help
25669         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
25670
25671         regex: avoid new dead-code warning with gcc-4.6.0
25672         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
25673         if-block containing a while-loop.  It's been unused for at least
25674         5 years.
25675
25676 2010-06-05  Bruno Haible  <bruno@clisp.org>
25677
25678         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
25679         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
25680
25681 2010-06-04  Bruno Haible  <bruno@clisp.org>
25682
25683         Update to GNU gettext 0.18.1.
25684         * modules/gettext (configure.ac): Require gettext infrastructure from
25685         version 0.18.1.
25686
25687 2010-06-03  Bruno Haible  <bruno@clisp.org>
25688
25689         Don't use AC_LIBOBJ with file names in subdirectories.
25690         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
25691         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
25692         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
25693         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
25694         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
25695         gl_LIBUNISTRING_LIBSOURCE.
25696         (Makefile.am): Augment lib_SOURCES here, conditionally.
25697         * NEWS: Drop requirement for Automake option 'subdir-objects'.
25698
25699 2010-06-03  Bruno Haible  <bruno@clisp.org>
25700
25701         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
25702         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
25703         expansion does not end with a newline.
25704         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
25705         unnecessary newline.
25706
25707 2010-06-03  Bruno Haible  <bruno@clisp.org>
25708
25709         Reduce dependencies.
25710         * tests/test-quotearg.h: New file, extracted from
25711         tests/test-quotearg.c.
25712         * tests/test-quotearg-simple.c: New file, extracted from
25713         tests/test-quotearg.c.
25714         * tests/test-quotearg.c: Don't include <ctype.h>.
25715         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
25716         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
25717         use_quote_double_quotes, use_quotearg_colon): Moved to
25718         tests/test-quotearg.h.
25719         (results_g, flag_results, custom_quotes, custom_results): Moved
25720         to tests/test-quotearg-simple.c.
25721         (main): Moved the part that does not depend on gettext to
25722         tests/test-quotearg-simple.c. Return 77 if the test cannot be
25723         performed.
25724         * modules/quotearg-simple: New file.
25725         * modules/quotearg-simple-tests: New file.
25726         * modules/quotearg (Depends-on): Add quotearg-simple.
25727         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
25728         (Files): Add tests/test-quotearg.h.
25729         Reported by Paolo Bonzini.
25730
25731 2010-06-03  Bruno Haible  <bruno@clisp.org>
25732
25733         Reduce dependencies.
25734         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
25735
25736 2010-06-03  Bruno Haible  <bruno@clisp.org>
25737
25738         time: Undefine more broken macros.
25739         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
25740         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
25741         Reported by Eric Blake.
25742
25743 2010-06-03  Bruno Haible  <bruno@clisp.org>
25744
25745         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
25746         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
25747         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
25748         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
25749         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
25750         Reported by Ludovic Courtès <ludo@gnu.org>.
25751
25752 2010-06-02  Eric Blake  <eblake@redhat.com>
25753
25754         time: work with mingw + pthreads-win32 library
25755         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
25756         if timespec is defined only in pthread.h.
25757         * modules/time (Makefile.am): Substitute it.
25758         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
25759         <pthread.h>, when needed.
25760         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
25761         from the library.
25762
25763 2010-05-31  Bruno Haible  <bruno@clisp.org>
25764
25765         Avoid expanding two macros in the wrong order.
25766         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
25767         gl_LIBUNISTRING if it is defined.
25768         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
25769         autoconf >= 2.64.
25770         Reported by Ludovic Courtès <ludo@gnu.org>.
25771
25772 2010-05-27  Jim Meyering  <meyering@redhat.com>
25773
25774         maint.mk: also prohibit "#undef" of always-defined symbols
25775         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
25776         Allow more than one space before the symbol name.
25777         (sc_prohibit_always-defined_macros): Use grep's -E, now that
25778         the regexp uses alternation.
25779
25780 2010-05-26  Eric Blake  <eblake@redhat.com>
25781
25782         maint.mk: avoid echo -e
25783         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
25784         Convert all uses of echo -* to printf.
25785         Reported by Matthias Bolte.
25786
25787 2010-05-25  Bruno Haible  <bruno@clisp.org>
25788
25789         Update to GNU gettext 0.18, part 2.
25790         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
25791         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
25792
25793 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25794
25795         Add missing include in test-pwrite.c.
25796         * tests/test-pwrite.c: Include string.h, for strcmp.
25797
25798 2010-05-24  Bruno Haible  <bruno@clisp.org>
25799
25800         * NEWS: Mention requirement for Automake option 'subdir-objects'.
25801
25802 2010-05-24  Bruno Haible  <bruno@clisp.org>
25803
25804         Don't use conversion with transliteration in u{8,16,32}_strcoll.
25805         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
25806         iconveh_error argument.
25807         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
25808         U_STRCONV_TO_LOCALE.
25809         * lib/unistr/u16-strcoll.c: Likewise.
25810         * lib/unistr/u32-strcoll.c: Likewise.
25811         * modules/unistr/u8-strcoll (Depends-on): Add
25812         uniconv/u8-strconv-to-enc, localcharset. Remove
25813         uniconv/u8-strconv-to-locale.
25814         (configure.ac): Bump version number.
25815         * modules/unistr/u16-strcoll (Depends-on): Add
25816         uniconv/u16-strconv-to-enc, localcharset. Remove
25817         uniconv/u16-strconv-to-locale.
25818         (configure.ac): Bump version number.
25819         * modules/unistr/u32-strcoll (Depends-on): Add
25820         uniconv/u32-strconv-to-enc, localcharset. Remove
25821         uniconv/u32-strconv-to-locale.
25822         (configure.ac): Bump version number.
25823
25824 2010-05-24  Bruno Haible  <bruno@clisp.org>
25825
25826         Avoid a test failure on NetBSD 5.0.
25827         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
25828         an iconv() bug.
25829
25830 2010-05-24  Bruno Haible  <bruno@clisp.org>
25831
25832         Adjust #include directive style.
25833         * modules/regex (Includes): Recommend to write <regex.h>.
25834
25835 2010-05-24  Bruno Haible  <bruno@clisp.org>
25836
25837         regex: Don't require alloca.
25838         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
25839         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
25840         only inside if (0).
25841
25842 2010-05-23  Jim Meyering  <meyering@redhat.com>
25843
25844         test-renameat.c: include <sys/stat.h>
25845         * tests/test-renameat.c: Include <sys/stat.h>; required for
25846         definition of S_IS* macros.
25847
25848 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
25849
25850         Update maintainer documentation for 'relocatable-prog' module.
25851         * doc/relocatable-maint.texi: Update.
25852         Comments by Bruno Haible.
25853
25854 2010-05-23  Bruno Haible  <bruno@clisp.org>
25855
25856         git-merge-changelog: Enable --split-merged-entry by default.
25857         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
25858         (usage): Don't mention this option any more.
25859         Reported by Ralf Wildenhues.
25860
25861 2010-05-23  Jim Meyering  <meyering@redhat.com>
25862
25863         test-pwrite: do not leave behind a test file named "out"
25864         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
25865         The trivial-looking use of init.sh is really necessary.
25866         It ensures that the temporary file, "out", is created in
25867         a temporary directory, and removed upon termination.
25868         * tests/test-pwrite.sh: Re-add file.
25869         * modules/pwrite-tests: Reference it.
25870
25871 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25872
25873         Fix output redirection buglet in init.sh.
25874         * tests/init.sh: Fix redirection of stderr.
25875
25876 2010-05-20  Simon Josefsson  <simon@josefsson.org>
25877
25878         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
25879
25880 2010-05-17  Simon Josefsson  <simon@josefsson.org>
25881
25882         * modules/valgrind-tests: New file.
25883         * m4/valgrind-tests.m4: New file.
25884         * doc/valgrind-tests.texi: New file.
25885         * doc/gnulib.texi (Running self-tests under valgrind): New
25886         section.
25887
25888 2010-05-19  Bruno Haible  <bruno@clisp.org>
25889
25890         Clean up dead code in recent commit.
25891         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
25892         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
25893         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
25894         Suggested by Paolo Bonzini.
25895
25896 2010-05-19  Bruno Haible  <bruno@clisp.org>
25897
25898         Avoid valgrind error reports from libunistring.
25899         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
25900         * modules/libunistring (Files): Add it.
25901         * modules/libunistring-optional (Files): Likewise.
25902
25903 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
25904             Bruno Haible  <bruno@clisp.org>
25905
25906         New module 'libunistring-optional'.
25907         * modules/libunistring-optional: New file.
25908         * m4/libunistring-base.m4: New file.
25909         * m4/libunistring-optional.m4: New file.
25910         * lib/unicase.in.h: Renamed from lib/unicase.h.
25911         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
25912         * lib/unictype.in.h: Renamed from lib/unictype.h.
25913         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
25914         * lib/uniname.in.h: Renamed from lib/uniname.h.
25915         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
25916         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
25917         * lib/unistr.in.h: Renamed from lib/unistr.h.
25918         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
25919         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
25920         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
25921         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
25922         gl_LIBUNISTRING. If the library was found, determine the installed
25923         version and set LIBUNISTRING_VERSION.
25924         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
25925         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
25926         handle a configuration option --with-included-libunistring.
25927         * modules/libunistring (Files): Add m4/absolute-header.m4.
25928         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
25929         Add m4/libunistring-base.m4.
25930         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25931         (Makefile.am): Build unicase.h from unicase.in.h.
25932         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
25933         Add m4/libunistring-base.m4.
25934         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25935         (Makefile.am): Build uniconv.h from uniconv.in.h.
25936         * modules/unictype/base (Files): Use unictype.in.h instead of
25937         unictype.h. Add m4/libunistring-base.m4.
25938         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25939         (Makefile.am): Build unictype.h from unictype.in.h.
25940         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
25941         Add m4/libunistring-base.m4.
25942         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25943         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
25944         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
25945         Add m4/libunistring-base.m4.
25946         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25947         (Makefile.am): Build uniname.h from uniname.in.h.
25948         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
25949         Add m4/libunistring-base.m4.
25950         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25951         (Makefile.am): Build uninorm.h from uninorm.in.h.
25952         * modules/unistdio/base (Files): Use unistdio.in.h instead of
25953         unistdio.h. Add m4/libunistring-base.m4.
25954         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25955         (Makefile.am): Build unistdio.h from unistdio.in.h.
25956         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
25957         Add m4/libunistring-base.m4.
25958         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25959         (Makefile.am): Build unistr.h from unistr.in.h.
25960         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
25961         Add m4/libunistring-base.m4.
25962         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25963         (Makefile.am): Build unitypes.h from unitypes.in.h.
25964         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
25965         Add m4/libunistring-base.m4.
25966         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25967         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
25968         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
25969         uniwidth.h. Add m4/libunistring-base.m4.
25970         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25971         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
25972         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
25973         instead of augmenting lib_SOURCES.
25974         * modules/unicase/empty-suffix-context: Likewise.
25975         * modules/unicase/locale-language: Likewise.
25976         * modules/unicase/tolower: Likewise.
25977         * modules/unicase/totitle: Likewise.
25978         * modules/unicase/toupper: Likewise.
25979         * modules/unicase/u8-casecmp: Likewise.
25980         * modules/unicase/u8-casecoll: Likewise.
25981         * modules/unicase/u8-casefold: Likewise.
25982         * modules/unicase/u8-casexfrm: Likewise.
25983         * modules/unicase/u8-ct-casefold: Likewise.
25984         * modules/unicase/u8-ct-tolower: Likewise.
25985         * modules/unicase/u8-ct-totitle: Likewise.
25986         * modules/unicase/u8-ct-toupper: Likewise.
25987         * modules/unicase/u8-is-cased: Likewise.
25988         * modules/unicase/u8-is-casefolded: Likewise.
25989         * modules/unicase/u8-is-lowercase: Likewise.
25990         * modules/unicase/u8-is-titlecase: Likewise.
25991         * modules/unicase/u8-is-uppercase: Likewise.
25992         * modules/unicase/u8-prefix-context: Likewise.
25993         * modules/unicase/u8-suffix-context: Likewise.
25994         * modules/unicase/u8-tolower: Likewise.
25995         * modules/unicase/u8-totitle: Likewise.
25996         * modules/unicase/u8-toupper: Likewise.
25997         * modules/unicase/u16-casecmp: Likewise.
25998         * modules/unicase/u16-casecoll: Likewise.
25999         * modules/unicase/u16-casefold: Likewise.
26000         * modules/unicase/u16-casexfrm: Likewise.
26001         * modules/unicase/u16-ct-casefold: Likewise.
26002         * modules/unicase/u16-ct-tolower: Likewise.
26003         * modules/unicase/u16-ct-totitle: Likewise.
26004         * modules/unicase/u16-ct-toupper: Likewise.
26005         * modules/unicase/u16-is-cased: Likewise.
26006         * modules/unicase/u16-is-casefolded: Likewise.
26007         * modules/unicase/u16-is-lowercase: Likewise.
26008         * modules/unicase/u16-is-titlecase: Likewise.
26009         * modules/unicase/u16-is-uppercase: Likewise.
26010         * modules/unicase/u16-prefix-context: Likewise.
26011         * modules/unicase/u16-suffix-context: Likewise.
26012         * modules/unicase/u16-tolower: Likewise.
26013         * modules/unicase/u16-totitle: Likewise.
26014         * modules/unicase/u16-toupper: Likewise.
26015         * modules/unicase/u32-casecmp: Likewise.
26016         * modules/unicase/u32-casecoll: Likewise.
26017         * modules/unicase/u32-casefold: Likewise.
26018         * modules/unicase/u32-casexfrm: Likewise.
26019         * modules/unicase/u32-ct-casefold: Likewise.
26020         * modules/unicase/u32-ct-tolower: Likewise.
26021         * modules/unicase/u32-ct-totitle: Likewise.
26022         * modules/unicase/u32-ct-toupper: Likewise.
26023         * modules/unicase/u32-is-cased: Likewise.
26024         * modules/unicase/u32-is-casefolded: Likewise.
26025         * modules/unicase/u32-is-lowercase: Likewise.
26026         * modules/unicase/u32-is-titlecase: Likewise.
26027         * modules/unicase/u32-is-uppercase: Likewise.
26028         * modules/unicase/u32-prefix-context: Likewise.
26029         * modules/unicase/u32-suffix-context: Likewise.
26030         * modules/unicase/u32-tolower: Likewise.
26031         * modules/unicase/u32-totitle: Likewise.
26032         * modules/unicase/u32-toupper: Likewise.
26033         * modules/unicase/ulc-casecmp: Likewise.
26034         * modules/unicase/ulc-casecoll: Likewise.
26035         * modules/unicase/ulc-casexfrm: Likewise.
26036         * modules/uniconv/u8-conv-from-enc: Likewise.
26037         * modules/uniconv/u8-conv-to-enc: Likewise.
26038         * modules/uniconv/u8-strconv-from-enc: Likewise.
26039         * modules/uniconv/u8-strconv-from-locale: Likewise.
26040         * modules/uniconv/u8-strconv-to-enc: Likewise.
26041         * modules/uniconv/u8-strconv-to-locale: Likewise.
26042         * modules/uniconv/u16-conv-from-enc: Likewise.
26043         * modules/uniconv/u16-conv-to-enc: Likewise.
26044         * modules/uniconv/u16-strconv-from-enc: Likewise.
26045         * modules/uniconv/u16-strconv-from-locale: Likewise.
26046         * modules/uniconv/u16-strconv-to-enc: Likewise.
26047         * modules/uniconv/u16-strconv-to-locale: Likewise.
26048         * modules/uniconv/u32-conv-from-enc: Likewise.
26049         * modules/uniconv/u32-conv-to-enc: Likewise.
26050         * modules/uniconv/u32-strconv-from-enc: Likewise.
26051         * modules/uniconv/u32-strconv-from-locale: Likewise.
26052         * modules/uniconv/u32-strconv-to-enc: Likewise.
26053         * modules/uniconv/u32-strconv-to-locale: Likewise.
26054         * modules/unictype/bidicategory-byname: Likewise.
26055         * modules/unictype/bidicategory-name: Likewise.
26056         * modules/unictype/bidicategory-of: Likewise.
26057         * modules/unictype/bidicategory-test: Likewise.
26058         * modules/unictype/block-list: Likewise.
26059         * modules/unictype/block-test: Likewise.
26060         * modules/unictype/category-C: Likewise.
26061         * modules/unictype/category-Cc: Likewise.
26062         * modules/unictype/category-Cf: Likewise.
26063         * modules/unictype/category-Cn: Likewise.
26064         * modules/unictype/category-Co: Likewise.
26065         * modules/unictype/category-Cs: Likewise.
26066         * modules/unictype/category-L: Likewise.
26067         * modules/unictype/category-Ll: Likewise.
26068         * modules/unictype/category-Lm: Likewise.
26069         * modules/unictype/category-Lo: Likewise.
26070         * modules/unictype/category-Lt: Likewise.
26071         * modules/unictype/category-Lu: Likewise.
26072         * modules/unictype/category-M: Likewise.
26073         * modules/unictype/category-Mc: Likewise.
26074         * modules/unictype/category-Me: Likewise.
26075         * modules/unictype/category-Mn: Likewise.
26076         * modules/unictype/category-N: Likewise.
26077         * modules/unictype/category-Nd: Likewise.
26078         * modules/unictype/category-Nl: Likewise.
26079         * modules/unictype/category-No: Likewise.
26080         * modules/unictype/category-P: Likewise.
26081         * modules/unictype/category-Pc: Likewise.
26082         * modules/unictype/category-Pd: Likewise.
26083         * modules/unictype/category-Pe: Likewise.
26084         * modules/unictype/category-Pf: Likewise.
26085         * modules/unictype/category-Pi: Likewise.
26086         * modules/unictype/category-Po: Likewise.
26087         * modules/unictype/category-Ps: Likewise.
26088         * modules/unictype/category-S: Likewise.
26089         * modules/unictype/category-Sc: Likewise.
26090         * modules/unictype/category-Sk: Likewise.
26091         * modules/unictype/category-Sm: Likewise.
26092         * modules/unictype/category-So: Likewise.
26093         * modules/unictype/category-Z: Likewise.
26094         * modules/unictype/category-Zl: Likewise.
26095         * modules/unictype/category-Zp: Likewise.
26096         * modules/unictype/category-Zs: Likewise.
26097         * modules/unictype/category-and: Likewise.
26098         * modules/unictype/category-and-not: Likewise.
26099         * modules/unictype/category-byname: Likewise.
26100         * modules/unictype/category-name: Likewise.
26101         * modules/unictype/category-none: Likewise.
26102         * modules/unictype/category-of: Likewise.
26103         * modules/unictype/category-or: Likewise.
26104         * modules/unictype/category-test: Likewise.
26105         * modules/unictype/combining-class: Likewise.
26106         * modules/unictype/ctype-alnum: Likewise.
26107         * modules/unictype/ctype-alpha: Likewise.
26108         * modules/unictype/ctype-blank: Likewise.
26109         * modules/unictype/ctype-cntrl: Likewise.
26110         * modules/unictype/ctype-digit: Likewise.
26111         * modules/unictype/ctype-graph: Likewise.
26112         * modules/unictype/ctype-lower: Likewise.
26113         * modules/unictype/ctype-print: Likewise.
26114         * modules/unictype/ctype-punct: Likewise.
26115         * modules/unictype/ctype-space: Likewise.
26116         * modules/unictype/ctype-upper: Likewise.
26117         * modules/unictype/ctype-xdigit: Likewise.
26118         * modules/unictype/decimal-digit: Likewise.
26119         * modules/unictype/digit: Likewise.
26120         * modules/unictype/mirror: Likewise.
26121         * modules/unictype/numeric: Likewise.
26122         * modules/unictype/property-alphabetic: Likewise.
26123         * modules/unictype/property-ascii-hex-digit: Likewise.
26124         * modules/unictype/property-bidi-arabic-digit: Likewise.
26125         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26126         * modules/unictype/property-bidi-block-separator: Likewise.
26127         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26128         * modules/unictype/property-bidi-common-separator: Likewise.
26129         * modules/unictype/property-bidi-control: Likewise.
26130         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26131         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26132         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26133         * modules/unictype/property-bidi-european-digit: Likewise.
26134         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26135         * modules/unictype/property-bidi-left-to-right: Likewise.
26136         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26137         * modules/unictype/property-bidi-other-neutral: Likewise.
26138         * modules/unictype/property-bidi-pdf: Likewise.
26139         * modules/unictype/property-bidi-segment-separator: Likewise.
26140         * modules/unictype/property-bidi-whitespace: Likewise.
26141         * modules/unictype/property-byname: Likewise.
26142         * modules/unictype/property-combining: Likewise.
26143         * modules/unictype/property-composite: Likewise.
26144         * modules/unictype/property-currency-symbol: Likewise.
26145         * modules/unictype/property-dash: Likewise.
26146         * modules/unictype/property-decimal-digit: Likewise.
26147         * modules/unictype/property-default-ignorable-code-point: Likewise.
26148         * modules/unictype/property-deprecated: Likewise.
26149         * modules/unictype/property-diacritic: Likewise.
26150         * modules/unictype/property-extender: Likewise.
26151         * modules/unictype/property-format-control: Likewise.
26152         * modules/unictype/property-grapheme-base: Likewise.
26153         * modules/unictype/property-grapheme-extend: Likewise.
26154         * modules/unictype/property-grapheme-link: Likewise.
26155         * modules/unictype/property-hex-digit: Likewise.
26156         * modules/unictype/property-hyphen: Likewise.
26157         * modules/unictype/property-id-continue: Likewise.
26158         * modules/unictype/property-id-start: Likewise.
26159         * modules/unictype/property-ideographic: Likewise.
26160         * modules/unictype/property-ids-binary-operator: Likewise.
26161         * modules/unictype/property-ids-trinary-operator: Likewise.
26162         * modules/unictype/property-ignorable-control: Likewise.
26163         * modules/unictype/property-iso-control: Likewise.
26164         * modules/unictype/property-join-control: Likewise.
26165         * modules/unictype/property-left-of-pair: Likewise.
26166         * modules/unictype/property-line-separator: Likewise.
26167         * modules/unictype/property-logical-order-exception: Likewise.
26168         * modules/unictype/property-lowercase: Likewise.
26169         * modules/unictype/property-math: Likewise.
26170         * modules/unictype/property-non-break: Likewise.
26171         * modules/unictype/property-not-a-character: Likewise.
26172         * modules/unictype/property-numeric: Likewise.
26173         * modules/unictype/property-other-alphabetic: Likewise.
26174         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26175         * modules/unictype/property-other-grapheme-extend: Likewise.
26176         * modules/unictype/property-other-id-continue: Likewise.
26177         * modules/unictype/property-other-id-start: Likewise.
26178         * modules/unictype/property-other-lowercase: Likewise.
26179         * modules/unictype/property-other-math: Likewise.
26180         * modules/unictype/property-other-uppercase: Likewise.
26181         * modules/unictype/property-paired-punctuation: Likewise.
26182         * modules/unictype/property-paragraph-separator: Likewise.
26183         * modules/unictype/property-pattern-syntax: Likewise.
26184         * modules/unictype/property-pattern-white-space: Likewise.
26185         * modules/unictype/property-private-use: Likewise.
26186         * modules/unictype/property-punctuation: Likewise.
26187         * modules/unictype/property-quotation-mark: Likewise.
26188         * modules/unictype/property-radical: Likewise.
26189         * modules/unictype/property-sentence-terminal: Likewise.
26190         * modules/unictype/property-soft-dotted: Likewise.
26191         * modules/unictype/property-space: Likewise.
26192         * modules/unictype/property-terminal-punctuation: Likewise.
26193         * modules/unictype/property-test: Likewise.
26194         * modules/unictype/property-titlecase: Likewise.
26195         * modules/unictype/property-unassigned-code-value: Likewise.
26196         * modules/unictype/property-unified-ideograph: Likewise.
26197         * modules/unictype/property-uppercase: Likewise.
26198         * modules/unictype/property-variation-selector: Likewise.
26199         * modules/unictype/property-white-space: Likewise.
26200         * modules/unictype/property-xid-continue: Likewise.
26201         * modules/unictype/property-xid-start: Likewise.
26202         * modules/unictype/property-zero-width: Likewise.
26203         * modules/unictype/scripts: Likewise.
26204         * modules/unictype/syntax-c-ident: Likewise.
26205         * modules/unictype/syntax-c-whitespace: Likewise.
26206         * modules/unictype/syntax-java-ident: Likewise.
26207         * modules/unictype/syntax-java-whitespace: Likewise.
26208         * modules/unilbrk/u8-possible-linebreaks: Likewise.
26209         * modules/unilbrk/u8-width-linebreaks: Likewise.
26210         * modules/unilbrk/u16-possible-linebreaks: Likewise.
26211         * modules/unilbrk/u16-width-linebreaks: Likewise.
26212         * modules/unilbrk/u32-possible-linebreaks: Likewise.
26213         * modules/unilbrk/u32-width-linebreaks: Likewise.
26214         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
26215         * modules/unilbrk/ulc-width-linebreaks: Likewise.
26216         * modules/uniname/uniname: Likewise.
26217         * modules/uninorm/canonical-decomposition: Likewise.
26218         * modules/uninorm/composition: Likewise.
26219         * modules/uninorm/decomposing-form: Likewise.
26220         * modules/uninorm/decomposition: Likewise.
26221         * modules/uninorm/filter: Likewise.
26222         * modules/uninorm/nfc: Likewise.
26223         * modules/uninorm/nfd: Likewise.
26224         * modules/uninorm/nfkc: Likewise.
26225         * modules/uninorm/nfkd: Likewise.
26226         * modules/uninorm/u8-normalize: Likewise.
26227         * modules/uninorm/u8-normcmp: Likewise.
26228         * modules/uninorm/u8-normcoll: Likewise.
26229         * modules/uninorm/u8-normxfrm: Likewise.
26230         * modules/uninorm/u16-normalize: Likewise.
26231         * modules/uninorm/u16-normcmp: Likewise.
26232         * modules/uninorm/u16-normcoll: Likewise.
26233         * modules/uninorm/u16-normxfrm: Likewise.
26234         * modules/uninorm/u32-normalize: Likewise.
26235         * modules/uninorm/u32-normcmp: Likewise.
26236         * modules/uninorm/u32-normcoll: Likewise.
26237         * modules/uninorm/u32-normxfrm: Likewise.
26238         * modules/unistdio/u8-asnprintf: Likewise.
26239         * modules/unistdio/u8-asprintf: Likewise.
26240         * modules/unistdio/u8-snprintf: Likewise.
26241         * modules/unistdio/u8-sprintf: Likewise.
26242         * modules/unistdio/u8-u8-asnprintf: Likewise.
26243         * modules/unistdio/u8-u8-asprintf: Likewise.
26244         * modules/unistdio/u8-u8-snprintf: Likewise.
26245         * modules/unistdio/u8-u8-sprintf: Likewise.
26246         * modules/unistdio/u8-u8-vasnprintf: Likewise.
26247         * modules/unistdio/u8-u8-vasprintf: Likewise.
26248         * modules/unistdio/u8-u8-vsnprintf: Likewise.
26249         * modules/unistdio/u8-u8-vsprintf: Likewise.
26250         * modules/unistdio/u8-vasnprintf: Likewise.
26251         * modules/unistdio/u8-vasprintf: Likewise.
26252         * modules/unistdio/u8-vsnprintf: Likewise.
26253         * modules/unistdio/u8-vsprintf: Likewise.
26254         * modules/unistdio/u16-asnprintf: Likewise.
26255         * modules/unistdio/u16-asprintf: Likewise.
26256         * modules/unistdio/u16-snprintf: Likewise.
26257         * modules/unistdio/u16-sprintf: Likewise.
26258         * modules/unistdio/u16-u16-asnprintf: Likewise.
26259         * modules/unistdio/u16-u16-asprintf: Likewise.
26260         * modules/unistdio/u16-u16-snprintf: Likewise.
26261         * modules/unistdio/u16-u16-sprintf: Likewise.
26262         * modules/unistdio/u16-u16-vasnprintf: Likewise.
26263         * modules/unistdio/u16-u16-vasprintf: Likewise.
26264         * modules/unistdio/u16-u16-vsnprintf: Likewise.
26265         * modules/unistdio/u16-u16-vsprintf: Likewise.
26266         * modules/unistdio/u16-vasnprintf: Likewise.
26267         * modules/unistdio/u16-vasprintf: Likewise.
26268         * modules/unistdio/u16-vsnprintf: Likewise.
26269         * modules/unistdio/u16-vsprintf: Likewise.
26270         * modules/unistdio/u32-asnprintf: Likewise.
26271         * modules/unistdio/u32-asprintf: Likewise.
26272         * modules/unistdio/u32-snprintf: Likewise.
26273         * modules/unistdio/u32-sprintf: Likewise.
26274         * modules/unistdio/u32-u32-asnprintf: Likewise.
26275         * modules/unistdio/u32-u32-asprintf: Likewise.
26276         * modules/unistdio/u32-u32-snprintf: Likewise.
26277         * modules/unistdio/u32-u32-sprintf: Likewise.
26278         * modules/unistdio/u32-u32-vasnprintf: Likewise.
26279         * modules/unistdio/u32-u32-vasprintf: Likewise.
26280         * modules/unistdio/u32-u32-vsnprintf: Likewise.
26281         * modules/unistdio/u32-u32-vsprintf: Likewise.
26282         * modules/unistdio/u32-vasnprintf: Likewise.
26283         * modules/unistdio/u32-vasprintf: Likewise.
26284         * modules/unistdio/u32-vsnprintf: Likewise.
26285         * modules/unistdio/u32-vsprintf: Likewise.
26286         * modules/unistdio/ulc-asnprintf: Likewise.
26287         * modules/unistdio/ulc-asprintf: Likewise.
26288         * modules/unistdio/ulc-fprintf: Likewise.
26289         * modules/unistdio/ulc-snprintf: Likewise.
26290         * modules/unistdio/ulc-sprintf: Likewise.
26291         * modules/unistdio/ulc-vasnprintf: Likewise.
26292         * modules/unistdio/ulc-vasprintf: Likewise.
26293         * modules/unistdio/ulc-vfprintf: Likewise.
26294         * modules/unistdio/ulc-vsnprintf: Likewise.
26295         * modules/unistdio/ulc-vsprintf: Likewise.
26296         * modules/unistr/u8-check: Likewise.
26297         * modules/unistr/u8-chr: Likewise.
26298         * modules/unistr/u8-cmp: Likewise.
26299         * modules/unistr/u8-cmp2: Likewise.
26300         * modules/unistr/u8-cpy: Likewise.
26301         * modules/unistr/u8-cpy-alloc: Likewise.
26302         * modules/unistr/u8-endswith: Likewise.
26303         * modules/unistr/u8-mblen: Likewise.
26304         * modules/unistr/u8-mbsnlen: Likewise.
26305         * modules/unistr/u8-mbtouc: Likewise.
26306         * modules/unistr/u8-mbtouc-unsafe: Likewise.
26307         * modules/unistr/u8-mbtoucr: Likewise.
26308         * modules/unistr/u8-move: Likewise.
26309         * modules/unistr/u8-next: Likewise.
26310         * modules/unistr/u8-prev: Likewise.
26311         * modules/unistr/u8-set: Likewise.
26312         * modules/unistr/u8-startswith: Likewise.
26313         * modules/unistr/u8-stpcpy: Likewise.
26314         * modules/unistr/u8-stpncpy: Likewise.
26315         * modules/unistr/u8-strcat: Likewise.
26316         * modules/unistr/u8-strchr: Likewise.
26317         * modules/unistr/u8-strcmp: Likewise.
26318         * modules/unistr/u8-strcoll: Likewise.
26319         * modules/unistr/u8-strcpy: Likewise.
26320         * modules/unistr/u8-strcspn: Likewise.
26321         * modules/unistr/u8-strdup: Likewise.
26322         * modules/unistr/u8-strlen: Likewise.
26323         * modules/unistr/u8-strmblen: Likewise.
26324         * modules/unistr/u8-strmbtouc: Likewise.
26325         * modules/unistr/u8-strncat: Likewise.
26326         * modules/unistr/u8-strncmp: Likewise.
26327         * modules/unistr/u8-strncpy: Likewise.
26328         * modules/unistr/u8-strnlen: Likewise.
26329         * modules/unistr/u8-strpbrk: Likewise.
26330         * modules/unistr/u8-strrchr: Likewise.
26331         * modules/unistr/u8-strspn: Likewise.
26332         * modules/unistr/u8-strstr: Likewise.
26333         * modules/unistr/u8-strtok: Likewise.
26334         * modules/unistr/u8-to-u16: Likewise.
26335         * modules/unistr/u8-to-u32: Likewise.
26336         * modules/unistr/u8-uctomb: Likewise.
26337         * modules/unistr/u16-check: Likewise.
26338         * modules/unistr/u16-chr: Likewise.
26339         * modules/unistr/u16-cmp: Likewise.
26340         * modules/unistr/u16-cmp2: Likewise.
26341         * modules/unistr/u16-cpy: Likewise.
26342         * modules/unistr/u16-cpy-alloc: Likewise.
26343         * modules/unistr/u16-endswith: Likewise.
26344         * modules/unistr/u16-mblen: Likewise.
26345         * modules/unistr/u16-mbsnlen: Likewise.
26346         * modules/unistr/u16-mbtouc: Likewise.
26347         * modules/unistr/u16-mbtouc-unsafe: Likewise.
26348         * modules/unistr/u16-mbtoucr: Likewise.
26349         * modules/unistr/u16-move: Likewise.
26350         * modules/unistr/u16-next: Likewise.
26351         * modules/unistr/u16-prev: Likewise.
26352         * modules/unistr/u16-set: Likewise.
26353         * modules/unistr/u16-startswith: Likewise.
26354         * modules/unistr/u16-stpcpy: Likewise.
26355         * modules/unistr/u16-stpncpy: Likewise.
26356         * modules/unistr/u16-strcat: Likewise.
26357         * modules/unistr/u16-strchr: Likewise.
26358         * modules/unistr/u16-strcmp: Likewise.
26359         * modules/unistr/u16-strcoll: Likewise.
26360         * modules/unistr/u16-strcpy: Likewise.
26361         * modules/unistr/u16-strcspn: Likewise.
26362         * modules/unistr/u16-strdup: Likewise.
26363         * modules/unistr/u16-strlen: Likewise.
26364         * modules/unistr/u16-strmblen: Likewise.
26365         * modules/unistr/u16-strmbtouc: Likewise.
26366         * modules/unistr/u16-strncat: Likewise.
26367         * modules/unistr/u16-strncmp: Likewise.
26368         * modules/unistr/u16-strncpy: Likewise.
26369         * modules/unistr/u16-strnlen: Likewise.
26370         * modules/unistr/u16-strpbrk: Likewise.
26371         * modules/unistr/u16-strrchr: Likewise.
26372         * modules/unistr/u16-strspn: Likewise.
26373         * modules/unistr/u16-strstr: Likewise.
26374         * modules/unistr/u16-strtok: Likewise.
26375         * modules/unistr/u16-to-u32: Likewise.
26376         * modules/unistr/u16-to-u8: Likewise.
26377         * modules/unistr/u16-uctomb: Likewise.
26378         * modules/unistr/u32-check: Likewise.
26379         * modules/unistr/u32-chr: Likewise.
26380         * modules/unistr/u32-cmp: Likewise.
26381         * modules/unistr/u32-cmp2: Likewise.
26382         * modules/unistr/u32-cpy: Likewise.
26383         * modules/unistr/u32-cpy-alloc: Likewise.
26384         * modules/unistr/u32-endswith: Likewise.
26385         * modules/unistr/u32-mblen: Likewise.
26386         * modules/unistr/u32-mbsnlen: Likewise.
26387         * modules/unistr/u32-mbtouc: Likewise.
26388         * modules/unistr/u32-mbtouc-unsafe: Likewise.
26389         * modules/unistr/u32-mbtoucr: Likewise.
26390         * modules/unistr/u32-move: Likewise.
26391         * modules/unistr/u32-next: Likewise.
26392         * modules/unistr/u32-prev: Likewise.
26393         * modules/unistr/u32-set: Likewise.
26394         * modules/unistr/u32-startswith: Likewise.
26395         * modules/unistr/u32-stpcpy: Likewise.
26396         * modules/unistr/u32-stpncpy: Likewise.
26397         * modules/unistr/u32-strcat: Likewise.
26398         * modules/unistr/u32-strchr: Likewise.
26399         * modules/unistr/u32-strcmp: Likewise.
26400         * modules/unistr/u32-strcoll: Likewise.
26401         * modules/unistr/u32-strcpy: Likewise.
26402         * modules/unistr/u32-strcspn: Likewise.
26403         * modules/unistr/u32-strdup: Likewise.
26404         * modules/unistr/u32-strlen: Likewise.
26405         * modules/unistr/u32-strmblen: Likewise.
26406         * modules/unistr/u32-strmbtouc: Likewise.
26407         * modules/unistr/u32-strncat: Likewise.
26408         * modules/unistr/u32-strncmp: Likewise.
26409         * modules/unistr/u32-strncpy: Likewise.
26410         * modules/unistr/u32-strnlen: Likewise.
26411         * modules/unistr/u32-strpbrk: Likewise.
26412         * modules/unistr/u32-strrchr: Likewise.
26413         * modules/unistr/u32-strspn: Likewise.
26414         * modules/unistr/u32-strstr: Likewise.
26415         * modules/unistr/u32-strtok: Likewise.
26416         * modules/unistr/u32-to-u16: Likewise.
26417         * modules/unistr/u32-to-u8: Likewise.
26418         * modules/unistr/u32-uctomb: Likewise.
26419         * modules/uniwbrk/u8-wordbreaks: Likewise.
26420         * modules/uniwbrk/u16-wordbreaks: Likewise.
26421         * modules/uniwbrk/u32-wordbreaks: Likewise.
26422         * modules/uniwbrk/ulc-wordbreaks: Likewise.
26423         * modules/uniwbrk/wordbreak-property: Likewise.
26424         * modules/uniwidth/u8-strwidth: Likewise.
26425         * modules/uniwidth/u8-width: Likewise.
26426         * modules/uniwidth/u16-strwidth: Likewise.
26427         * modules/uniwidth/u16-width: Likewise.
26428         * modules/uniwidth/u32-strwidth: Likewise.
26429         * modules/uniwidth/u32-width: Likewise.
26430         * modules/uniwidth/width: Likewise.
26431         * modules/unicase/cased-tests (Makefile.am): Link all test programs
26432         with $(LIBUNISTRING).
26433         * modules/unicase/ignorable-tests: Likewise.
26434         * modules/unicase/locale-language-tests: Likewise.
26435         * modules/unicase/tolower-tests: Likewise.
26436         * modules/unicase/totitle-tests: Likewise.
26437         * modules/unicase/toupper-tests: Likewise.
26438         * modules/unicase/u8-casecmp-tests: Likewise.
26439         * modules/unicase/u8-casecoll-tests: Likewise.
26440         * modules/unicase/u8-casefold-tests: Likewise.
26441         * modules/unicase/u8-is-cased-tests: Likewise.
26442         * modules/unicase/u8-is-casefolded-tests: Likewise.
26443         * modules/unicase/u8-is-lowercase-tests: Likewise.
26444         * modules/unicase/u8-is-titlecase-tests: Likewise.
26445         * modules/unicase/u8-is-uppercase-tests: Likewise.
26446         * modules/unicase/u8-tolower-tests: Likewise.
26447         * modules/unicase/u8-totitle-tests: Likewise.
26448         * modules/unicase/u8-toupper-tests: Likewise.
26449         * modules/unicase/u16-casecmp-tests: Likewise.
26450         * modules/unicase/u16-casecoll-tests: Likewise.
26451         * modules/unicase/u16-casefold-tests: Likewise.
26452         * modules/unicase/u16-is-cased-tests: Likewise.
26453         * modules/unicase/u16-is-casefolded-tests: Likewise.
26454         * modules/unicase/u16-is-lowercase-tests: Likewise.
26455         * modules/unicase/u16-is-titlecase-tests: Likewise.
26456         * modules/unicase/u16-is-uppercase-tests: Likewise.
26457         * modules/unicase/u16-tolower-tests: Likewise.
26458         * modules/unicase/u16-totitle-tests: Likewise.
26459         * modules/unicase/u16-toupper-tests: Likewise.
26460         * modules/unicase/u32-casecmp-tests: Likewise.
26461         * modules/unicase/u32-casecoll-tests: Likewise.
26462         * modules/unicase/u32-casefold-tests: Likewise.
26463         * modules/unicase/u32-is-cased-tests: Likewise.
26464         * modules/unicase/u32-is-casefolded-tests: Likewise.
26465         * modules/unicase/u32-is-lowercase-tests: Likewise.
26466         * modules/unicase/u32-is-titlecase-tests: Likewise.
26467         * modules/unicase/u32-is-uppercase-tests: Likewise.
26468         * modules/unicase/u32-tolower-tests: Likewise.
26469         * modules/unicase/u32-totitle-tests: Likewise.
26470         * modules/unicase/u32-toupper-tests: Likewise.
26471         * modules/unicase/ulc-casecmp-tests: Likewise.
26472         * modules/unicase/ulc-casecoll-tests: Likewise.
26473         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
26474         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
26475         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
26476         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
26477         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
26478         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
26479         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
26480         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
26481         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
26482         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
26483         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
26484         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
26485         * modules/unictype/bidicategory-byname-tests: Likewise.
26486         * modules/unictype/bidicategory-name-tests: Likewise.
26487         * modules/unictype/bidicategory-of-tests: Likewise.
26488         * modules/unictype/bidicategory-test-tests: Likewise.
26489         * modules/unictype/block-list-tests: Likewise.
26490         * modules/unictype/block-of-tests: Likewise.
26491         * modules/unictype/block-test-tests: Likewise.
26492         * modules/unictype/category-C-tests: Likewise.
26493         * modules/unictype/category-Cc-tests: Likewise.
26494         * modules/unictype/category-Cf-tests: Likewise.
26495         * modules/unictype/category-Cn-tests: Likewise.
26496         * modules/unictype/category-Co-tests: Likewise.
26497         * modules/unictype/category-Cs-tests: Likewise.
26498         * modules/unictype/category-L-tests: Likewise.
26499         * modules/unictype/category-Ll-tests: Likewise.
26500         * modules/unictype/category-Lm-tests: Likewise.
26501         * modules/unictype/category-Lo-tests: Likewise.
26502         * modules/unictype/category-Lt-tests: Likewise.
26503         * modules/unictype/category-Lu-tests: Likewise.
26504         * modules/unictype/category-M-tests: Likewise.
26505         * modules/unictype/category-Mc-tests: Likewise.
26506         * modules/unictype/category-Me-tests: Likewise.
26507         * modules/unictype/category-Mn-tests: Likewise.
26508         * modules/unictype/category-N-tests: Likewise.
26509         * modules/unictype/category-Nd-tests: Likewise.
26510         * modules/unictype/category-Nl-tests: Likewise.
26511         * modules/unictype/category-No-tests: Likewise.
26512         * modules/unictype/category-P-tests: Likewise.
26513         * modules/unictype/category-Pc-tests: Likewise.
26514         * modules/unictype/category-Pd-tests: Likewise.
26515         * modules/unictype/category-Pe-tests: Likewise.
26516         * modules/unictype/category-Pf-tests: Likewise.
26517         * modules/unictype/category-Pi-tests: Likewise.
26518         * modules/unictype/category-Po-tests: Likewise.
26519         * modules/unictype/category-Ps-tests: Likewise.
26520         * modules/unictype/category-S-tests: Likewise.
26521         * modules/unictype/category-Sc-tests: Likewise.
26522         * modules/unictype/category-Sk-tests: Likewise.
26523         * modules/unictype/category-Sm-tests: Likewise.
26524         * modules/unictype/category-So-tests: Likewise.
26525         * modules/unictype/category-Z-tests: Likewise.
26526         * modules/unictype/category-Zl-tests: Likewise.
26527         * modules/unictype/category-Zp-tests: Likewise.
26528         * modules/unictype/category-Zs-tests: Likewise.
26529         * modules/unictype/category-and-not-tests: Likewise.
26530         * modules/unictype/category-and-tests: Likewise.
26531         * modules/unictype/category-byname-tests: Likewise.
26532         * modules/unictype/category-name-tests: Likewise.
26533         * modules/unictype/category-none-tests: Likewise.
26534         * modules/unictype/category-of-tests: Likewise.
26535         * modules/unictype/category-or-tests: Likewise.
26536         * modules/unictype/category-test-withtable-tests: Likewise.
26537         * modules/unictype/combining-class-tests: Likewise.
26538         * modules/unictype/ctype-alnum-tests: Likewise.
26539         * modules/unictype/ctype-alpha-tests: Likewise.
26540         * modules/unictype/ctype-blank-tests: Likewise.
26541         * modules/unictype/ctype-cntrl-tests: Likewise.
26542         * modules/unictype/ctype-digit-tests: Likewise.
26543         * modules/unictype/ctype-graph-tests: Likewise.
26544         * modules/unictype/ctype-lower-tests: Likewise.
26545         * modules/unictype/ctype-print-tests: Likewise.
26546         * modules/unictype/ctype-punct-tests: Likewise.
26547         * modules/unictype/ctype-space-tests: Likewise.
26548         * modules/unictype/ctype-upper-tests: Likewise.
26549         * modules/unictype/ctype-xdigit-tests: Likewise.
26550         * modules/unictype/decimal-digit-tests: Likewise.
26551         * modules/unictype/digit-tests: Likewise.
26552         * modules/unictype/mirror-tests: Likewise.
26553         * modules/unictype/numeric-tests: Likewise.
26554         * modules/unictype/property-alphabetic-tests: Likewise.
26555         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
26556         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
26557         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
26558         * modules/unictype/property-bidi-block-separator-tests: Likewise.
26559         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
26560         * modules/unictype/property-bidi-common-separator-tests: Likewise.
26561         * modules/unictype/property-bidi-control-tests: Likewise.
26562         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
26563         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
26564         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
26565         * modules/unictype/property-bidi-european-digit-tests: Likewise.
26566         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
26567         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
26568         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
26569         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
26570         * modules/unictype/property-bidi-pdf-tests: Likewise.
26571         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
26572         * modules/unictype/property-bidi-whitespace-tests: Likewise.
26573         * modules/unictype/property-byname-tests: Likewise.
26574         * modules/unictype/property-combining-tests: Likewise.
26575         * modules/unictype/property-composite-tests: Likewise.
26576         * modules/unictype/property-currency-symbol-tests: Likewise.
26577         * modules/unictype/property-dash-tests: Likewise.
26578         * modules/unictype/property-decimal-digit-tests: Likewise.
26579         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
26580         * modules/unictype/property-deprecated-tests: Likewise.
26581         * modules/unictype/property-diacritic-tests: Likewise.
26582         * modules/unictype/property-extender-tests: Likewise.
26583         * modules/unictype/property-format-control-tests: Likewise.
26584         * modules/unictype/property-grapheme-base-tests: Likewise.
26585         * modules/unictype/property-grapheme-extend-tests: Likewise.
26586         * modules/unictype/property-grapheme-link-tests: Likewise.
26587         * modules/unictype/property-hex-digit-tests: Likewise.
26588         * modules/unictype/property-hyphen-tests: Likewise.
26589         * modules/unictype/property-id-continue-tests: Likewise.
26590         * modules/unictype/property-id-start-tests: Likewise.
26591         * modules/unictype/property-ideographic-tests: Likewise.
26592         * modules/unictype/property-ids-binary-operator-tests: Likewise.
26593         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
26594         * modules/unictype/property-ignorable-control-tests: Likewise.
26595         * modules/unictype/property-iso-control-tests: Likewise.
26596         * modules/unictype/property-join-control-tests: Likewise.
26597         * modules/unictype/property-left-of-pair-tests: Likewise.
26598         * modules/unictype/property-line-separator-tests: Likewise.
26599         * modules/unictype/property-logical-order-exception-tests: Likewise.
26600         * modules/unictype/property-lowercase-tests: Likewise.
26601         * modules/unictype/property-math-tests: Likewise.
26602         * modules/unictype/property-non-break-tests: Likewise.
26603         * modules/unictype/property-not-a-character-tests: Likewise.
26604         * modules/unictype/property-numeric-tests: Likewise.
26605         * modules/unictype/property-other-alphabetic-tests: Likewise.
26606         * modules/unictype/property-other-default-ignorable-code-point-tests:
26607         Likewise.
26608         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
26609         * modules/unictype/property-other-id-continue-tests: Likewise.
26610         * modules/unictype/property-other-id-start-tests: Likewise.
26611         * modules/unictype/property-other-lowercase-tests: Likewise.
26612         * modules/unictype/property-other-math-tests: Likewise.
26613         * modules/unictype/property-other-uppercase-tests: Likewise.
26614         * modules/unictype/property-paired-punctuation-tests: Likewise.
26615         * modules/unictype/property-paragraph-separator-tests: Likewise.
26616         * modules/unictype/property-pattern-syntax-tests: Likewise.
26617         * modules/unictype/property-pattern-white-space-tests: Likewise.
26618         * modules/unictype/property-private-use-tests: Likewise.
26619         * modules/unictype/property-punctuation-tests: Likewise.
26620         * modules/unictype/property-quotation-mark-tests: Likewise.
26621         * modules/unictype/property-radical-tests: Likewise.
26622         * modules/unictype/property-sentence-terminal-tests: Likewise.
26623         * modules/unictype/property-soft-dotted-tests: Likewise.
26624         * modules/unictype/property-space-tests: Likewise.
26625         * modules/unictype/property-terminal-punctuation-tests: Likewise.
26626         * modules/unictype/property-test-tests: Likewise.
26627         * modules/unictype/property-titlecase-tests: Likewise.
26628         * modules/unictype/property-unassigned-code-value-tests: Likewise.
26629         * modules/unictype/property-unified-ideograph-tests: Likewise.
26630         * modules/unictype/property-uppercase-tests: Likewise.
26631         * modules/unictype/property-variation-selector-tests: Likewise.
26632         * modules/unictype/property-white-space-tests: Likewise.
26633         * modules/unictype/property-xid-continue-tests: Likewise.
26634         * modules/unictype/property-xid-start-tests: Likewise.
26635         * modules/unictype/property-zero-width-tests: Likewise.
26636         * modules/unictype/scripts-tests: Likewise.
26637         * modules/unictype/syntax-c-ident-tests: Likewise.
26638         * modules/unictype/syntax-c-whitespace-tests: Likewise.
26639         * modules/unictype/syntax-java-ident-tests: Likewise.
26640         * modules/unictype/syntax-java-whitespace-tests: Likewise.
26641         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
26642         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
26643         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
26644         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
26645         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
26646         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
26647         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
26648         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
26649         * modules/uniname/uniname-tests: Likewise.
26650         * modules/uninorm/canonical-decomposition-tests: Likewise.
26651         * modules/uninorm/compat-decomposition-tests: Likewise.
26652         * modules/uninorm/composition-tests: Likewise.
26653         * modules/uninorm/decomposing-form-tests: Likewise.
26654         * modules/uninorm/decomposition-tests: Likewise.
26655         * modules/uninorm/filter-tests: Likewise.
26656         * modules/uninorm/nfc-tests: Likewise.
26657         * modules/uninorm/nfd-tests: Likewise.
26658         * modules/uninorm/nfkc-tests: Likewise.
26659         * modules/uninorm/nfkd-tests: Likewise.
26660         * modules/uninorm/u8-normcmp-tests: Likewise.
26661         * modules/uninorm/u8-normcoll-tests: Likewise.
26662         * modules/uninorm/u16-normcmp-tests: Likewise.
26663         * modules/uninorm/u16-normcoll-tests: Likewise.
26664         * modules/uninorm/u32-normcmp-tests: Likewise.
26665         * modules/uninorm/u32-normcoll-tests: Likewise.
26666         * modules/unistdio/u8-asnprintf-tests: Likewise.
26667         * modules/unistdio/u8-vasnprintf-tests: Likewise.
26668         * modules/unistdio/u8-vasprintf-tests: Likewise.
26669         * modules/unistdio/u8-vsnprintf-tests: Likewise.
26670         * modules/unistdio/u8-vsprintf-tests: Likewise.
26671         * modules/unistdio/u16-asnprintf-tests: Likewise.
26672         * modules/unistdio/u16-vasnprintf-tests: Likewise.
26673         * modules/unistdio/u16-vasprintf-tests: Likewise.
26674         * modules/unistdio/u16-vsnprintf-tests: Likewise.
26675         * modules/unistdio/u16-vsprintf-tests: Likewise.
26676         * modules/unistdio/u32-asnprintf-tests: Likewise.
26677         * modules/unistdio/u32-vasnprintf-tests: Likewise.
26678         * modules/unistdio/u32-vasprintf-tests: Likewise.
26679         * modules/unistdio/u32-vsnprintf-tests: Likewise.
26680         * modules/unistdio/u32-vsprintf-tests: Likewise.
26681         * modules/unistdio/ulc-asnprintf-tests: Likewise.
26682         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
26683         * modules/unistdio/ulc-vasprintf-tests: Likewise.
26684         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
26685         * modules/unistdio/ulc-vsprintf-tests: Likewise.
26686         * modules/unistr/u8-check-tests: Likewise.
26687         * modules/unistr/u8-chr-tests: Likewise.
26688         * modules/unistr/u8-cmp-tests: Likewise.
26689         * modules/unistr/u8-cmp2-tests: Likewise.
26690         * modules/unistr/u8-cpy-alloc-tests: Likewise.
26691         * modules/unistr/u8-cpy-tests: Likewise.
26692         * modules/unistr/u8-mblen-tests: Likewise.
26693         * modules/unistr/u8-mbsnlen-tests: Likewise.
26694         * modules/unistr/u8-mbtouc-tests: Likewise.
26695         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
26696         * modules/unistr/u8-mbtoucr-tests: Likewise.
26697         * modules/unistr/u8-move-tests: Likewise.
26698         * modules/unistr/u8-next-tests: Likewise.
26699         * modules/unistr/u8-prev-tests: Likewise.
26700         * modules/unistr/u8-set-tests: Likewise.
26701         * modules/unistr/u8-stpcpy-tests: Likewise.
26702         * modules/unistr/u8-stpncpy-tests: Likewise.
26703         * modules/unistr/u8-strcat-tests: Likewise.
26704         * modules/unistr/u8-strcmp-tests: Likewise.
26705         * modules/unistr/u8-strcoll-tests: Likewise.
26706         * modules/unistr/u8-strcpy-tests: Likewise.
26707         * modules/unistr/u8-strdup-tests: Likewise.
26708         * modules/unistr/u8-strlen-tests: Likewise.
26709         * modules/unistr/u8-strmblen-tests: Likewise.
26710         * modules/unistr/u8-strmbtouc-tests: Likewise.
26711         * modules/unistr/u8-strncat-tests: Likewise.
26712         * modules/unistr/u8-strncmp-tests: Likewise.
26713         * modules/unistr/u8-strncpy-tests: Likewise.
26714         * modules/unistr/u8-strnlen-tests: Likewise.
26715         * modules/unistr/u8-to-u16-tests: Likewise.
26716         * modules/unistr/u8-to-u32-tests: Likewise.
26717         * modules/unistr/u8-uctomb-tests: Likewise.
26718         * modules/unistr/u16-check-tests: Likewise.
26719         * modules/unistr/u16-chr-tests: Likewise.
26720         * modules/unistr/u16-cmp-tests: Likewise.
26721         * modules/unistr/u16-cmp2-tests: Likewise.
26722         * modules/unistr/u16-cpy-alloc-tests: Likewise.
26723         * modules/unistr/u16-cpy-tests: Likewise.
26724         * modules/unistr/u16-mblen-tests: Likewise.
26725         * modules/unistr/u16-mbsnlen-tests: Likewise.
26726         * modules/unistr/u16-mbtouc-tests: Likewise.
26727         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
26728         * modules/unistr/u16-mbtoucr-tests: Likewise.
26729         * modules/unistr/u16-move-tests: Likewise.
26730         * modules/unistr/u16-next-tests: Likewise.
26731         * modules/unistr/u16-prev-tests: Likewise.
26732         * modules/unistr/u16-set-tests: Likewise.
26733         * modules/unistr/u16-stpcpy-tests: Likewise.
26734         * modules/unistr/u16-stpncpy-tests: Likewise.
26735         * modules/unistr/u16-strcat-tests: Likewise.
26736         * modules/unistr/u16-strcmp-tests: Likewise.
26737         * modules/unistr/u16-strcoll-tests: Likewise.
26738         * modules/unistr/u16-strcpy-tests: Likewise.
26739         * modules/unistr/u16-strdup-tests: Likewise.
26740         * modules/unistr/u16-strlen-tests: Likewise.
26741         * modules/unistr/u16-strmblen-tests: Likewise.
26742         * modules/unistr/u16-strmbtouc-tests: Likewise.
26743         * modules/unistr/u16-strncat-tests: Likewise.
26744         * modules/unistr/u16-strncmp-tests: Likewise.
26745         * modules/unistr/u16-strncpy-tests: Likewise.
26746         * modules/unistr/u16-strnlen-tests: Likewise.
26747         * modules/unistr/u16-to-u32-tests: Likewise.
26748         * modules/unistr/u16-to-u8-tests: Likewise.
26749         * modules/unistr/u16-uctomb-tests: Likewise.
26750         * modules/unistr/u32-check-tests: Likewise.
26751         * modules/unistr/u32-chr-tests: Likewise.
26752         * modules/unistr/u32-cmp-tests: Likewise.
26753         * modules/unistr/u32-cmp2-tests: Likewise.
26754         * modules/unistr/u32-cpy-alloc-tests: Likewise.
26755         * modules/unistr/u32-cpy-tests: Likewise.
26756         * modules/unistr/u32-mblen-tests: Likewise.
26757         * modules/unistr/u32-mbsnlen-tests: Likewise.
26758         * modules/unistr/u32-mbtouc-tests: Likewise.
26759         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
26760         * modules/unistr/u32-mbtoucr-tests: Likewise.
26761         * modules/unistr/u32-move-tests: Likewise.
26762         * modules/unistr/u32-next-tests: Likewise.
26763         * modules/unistr/u32-prev-tests: Likewise.
26764         * modules/unistr/u32-set-tests: Likewise.
26765         * modules/unistr/u32-stpcpy-tests: Likewise.
26766         * modules/unistr/u32-stpncpy-tests: Likewise.
26767         * modules/unistr/u32-strcat-tests: Likewise.
26768         * modules/unistr/u32-strcmp-tests: Likewise.
26769         * modules/unistr/u32-strcoll-tests: Likewise.
26770         * modules/unistr/u32-strcpy-tests: Likewise.
26771         * modules/unistr/u32-strdup-tests: Likewise.
26772         * modules/unistr/u32-strlen-tests: Likewise.
26773         * modules/unistr/u32-strmblen-tests: Likewise.
26774         * modules/unistr/u32-strmbtouc-tests: Likewise.
26775         * modules/unistr/u32-strncat-tests: Likewise.
26776         * modules/unistr/u32-strncmp-tests: Likewise.
26777         * modules/unistr/u32-strncpy-tests: Likewise.
26778         * modules/unistr/u32-strnlen-tests: Likewise.
26779         * modules/unistr/u32-to-u16-tests: Likewise.
26780         * modules/unistr/u32-to-u8-tests: Likewise.
26781         * modules/unistr/u32-uctomb-tests: Likewise.
26782         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
26783         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
26784         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
26785         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
26786         * modules/uniwidth/u8-strwidth-tests: Likewise.
26787         * modules/uniwidth/u8-width-tests: Likewise.
26788         * modules/uniwidth/u16-strwidth-tests: Likewise.
26789         * modules/uniwidth/u16-width-tests: Likewise.
26790         * modules/uniwidth/u32-strwidth-tests: Likewise.
26791         * modules/uniwidth/u32-width-tests: Likewise.
26792         * modules/uniwidth/width-tests: Likewise.
26793
26794 2010-05-18  Richard Jones  <rjones@redhat.com>
26795
26796         doc: users.txt: list hivex
26797         * users.txt: Add hivex.
26798
26799 2010-05-18  Richard Jones  <rjones@redhat.com>
26800
26801         doc: users.txt: list febootstrap
26802         * users.txt: Add febootstrap.
26803
26804 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
26805
26806         bootstrap: fix an error when gnulib is not used as a git submodule
26807         * build-aux/bootstrap (gnulib_path): If its length is zero then
26808         assign "gnulib" to it.
26809         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
26810
26811 2010-05-16  Bruno Haible  <bruno@clisp.org>
26812
26813         Avoid autoconf warnings about AM_ICONV.
26814         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
26815         2.64.
26816
26817 2010-05-16  Bruno Haible  <bruno@clisp.org>
26818
26819         absolute-header: Make the macro usable in more situations.
26820         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
26821         from gl_ABSOLUTE_HEADER.
26822         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
26823
26824 2010-05-16  James Youngman  <jay@gnu.org>
26825
26826         doc: update users.txt
26827         * users.txt: Add CSSC.
26828
26829 2010-05-16  Jim Meyering  <meyering@redhat.com>
26830
26831         init.sh: fix an error in the previous change; add more comments
26832         * tests/init.sh: Compare exit code in loop against 9, not 2.
26833         Patch by Bruno Haible.
26834         Make the two tests more similar by adding an empty "then" clause.
26835         Add comments.
26836
26837         init.sh: avoid unnecessary shell re-exec
26838         * tests/init.sh: Improve the re-exec-required check to first test the
26839         current shell.  If it passes the test, do not search for a shell that
26840         does pass, and do not re-exec.  This test is particularly contorted to
26841         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
26842         of $(...) evokes a syntax error and causes immediate shell exit with
26843         status 2.  Bruno Haible reported that the re-exec made it impossible
26844         to single-step through any init.sh-using script.
26845
26846 2010-05-16  Bruno Haible  <bruno@clisp.org>
26847
26848         Fix collision between gnulib's and libintl's printf replacements.
26849         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
26850         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
26851         (printf): When using GNU C, map the __printf__ function to rpl_printf
26852         via __asm__. When not using GNU C, define rpl_printf instead of
26853         __printf__.
26854         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
26855         commit.
26856         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
26857         commit.
26858         * m4/asm-underscore.m4: New file.
26859         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
26860         * modules/stdio (Files): Add m4/asm-underscore.m4.
26861         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
26862         Reported by Ben Pfaff.
26863
26864 2010-05-16  Bruno Haible  <bruno@clisp.org>
26865
26866         verify: Avoid skipping the test on openSUSE 11.0.
26867         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
26868
26869 2010-05-13  Bruno Haible  <bruno@clisp.org>
26870
26871         Avoid useless warnings from G++.
26872         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
26873         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
26874         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26875
26876 2010-05-11  Jim Meyering  <meyering@redhat.com>
26877
26878         maint.mk: tweak preceding change
26879         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
26880         regexps tighter by anchoring at EOL, and make the new group "shy"
26881         for slightly decreased overhead.
26882
26883 2010-05-11  Eric Blake  <eblake@redhat.com>
26884
26885         maint.mk: gnulib doesn't guarantee NSIG
26886         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
26887
26888 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26889
26890         test-pwrite.c: Remove unused variable declaration.
26891         * tests/test-pwrite.c (main): Remove read_buf declaration.
26892
26893         Remove useless test-pwrite.sh file.
26894         * tests/test-pwrite.sh: Delete file.
26895         * modules/pwrite-tests: Remove references.
26896         Reported by Bruno Haible.
26897
26898 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26899
26900         init.sh: fix a typo
26901         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
26902
26903 2010-05-10  Jim Meyering  <meyering@redhat.com>
26904
26905         maint.mk: avoid using a temporary file in the always-defined-macros check
26906         * top/maint.mk (.re-defmac): Remove rule.
26907         (gl_trap_): Remove definition.
26908         (sc_prohibit_always-defined_macros): Rewrite not to create and
26909         depend on a temporary file.  Instead, depend on GNU grep's ability
26910         to read a list of regular expressions from stdin when given "-f -".
26911
26912 2010-05-09  Bruno Haible  <bruno@clisp.org>
26913
26914         Update to GNU gettext 0.18, part 1.
26915         * m4/gettext.m4: Update to GNU gettext 0.18.
26916         * m4/intl.m4: Likewise.
26917         * m4/po.m4: Likewise.
26918         * modules/gettext (Files): Add m4/fcntl-o.m4.
26919         (configure.ac): Require gettext infrastructure from version 0.18.
26920
26921 2010-05-09  Jim Meyering  <meyering@redhat.com>
26922
26923         init.sh: enable MALLOC_PERTURB_
26924         * tests/init.sh: Enable glibc's malloc-perturbing option.
26925
26926         maint.mk: improve sc_cross_check_PATH_usage_in_tests
26927         With my recent change in init.sh from the two-line form:
26928             -#   : ${srcdir=.}
26929             -#   . "$srcdir/init.sh"; path_prepend_ .
26930             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
26931         I noticed that using the one-line form would cause this test
26932         to fail with a false-positive, or to stop working altogether,
26933         depending on whether help-version changed or all the tests did.
26934         * top/maint.mk (_hv_regex): Remove this definition.
26935         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
26936         (_hv_regex_strong): Use a stronger regex to check for conformance.
26937         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
26938         Give a separate diagnostic for lack of conforming use.
26939
26940         maint.mk: prohibit definition of symbols defined by gnulib
26941         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
26942         definition of symbols defined by gnulib.
26943
26944 2010-05-09  Bruno Haible  <bruno@clisp.org>
26945
26946         acl: Avoid test failure on Cygwin-hosted mingw.
26947         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
26948
26949 2010-05-09  Bruno Haible  <bruno@clisp.org>
26950
26951         error: Use system's fcntl function.
26952         * lib/error.c (fcntl): Undefine.
26953
26954 2010-05-09  Jim Meyering  <meyering@redhat.com>
26955
26956         verify: adjust formatting to be more consistent
26957         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
26958         argument-list '('s, and after one comma.
26959
26960 2010-05-09  Bruno Haible  <bruno@clisp.org>
26961
26962         error: More reliable output on mingw.
26963         * lib/error.c: Include <windows.h>.
26964         (is_open): New function.
26965         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
26966         defined.
26967
26968 2010-05-09  Bruno Haible  <bruno@clisp.org>
26969
26970         vasnprintf: Fix syntax errors in libintl build on mingw.
26971         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
26972         pad_ourselves and prec_ourselves after use.
26973
26974 2010-05-08  Bruno Haible  <bruno@clisp.org>
26975
26976         * lib/config.charset: Update comments for Cygwin 1.7.
26977         * lib/localcharset.c: Likewise.
26978
26979 2010-05-07  Jim Meyering  <meyering@redhat.com>
26980
26981         init.sh: improve comments
26982         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
26983         . "${srcdir=.}/init.sh"; path_prepend_ .
26984         Add a note about path_prepend_ and the alternative of using
26985         TESTS_ENVIRONMENT.
26986
26987 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26988
26989         exclude: Unescape hashed patterns in wildcard mode.
26990         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
26991         to the hash list.
26992         * tests/test-exclude8.sh: New test case.
26993         * modules/exclude-tests: Add new test.
26994
26995 2010-05-05  Eric Blake  <eblake@redhat.com>
26996
26997         verify: automate tests
26998         * modules/verify-tests: New module.
26999         * tests/test-verify.sh: New file.
27000         * tests/test-verify.c: Guard each negative test with a unique id.
27001         Also avoid warning about unused left hand of comma expressions.
27002
27003 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27004
27005         Further improvements to verify.h, suggested by Eric Blake.
27006         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27007         the GL_* versions, to avoid collision with OpenGL.
27008         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27009         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27010         than testing merely whether it's defined.
27011
27012         Modify verify.h to pacify gcc -Wredundant_decls.
27013         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27014         These use the prefix "GL_" since they're likely to be useful elsewhere.
27015         We may need to break them out into a different .h file.
27016         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27017         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27018         of verify_function__.
27019
27020 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27021
27022         Tests for module pwrite.
27023         * modules/pwrite-tests: New file.
27024         * tests/test-pwrite.sh: New file.
27025         * tests/test-pwrite.c: New file.
27026
27027         New module pwrite.
27028         * lib/unistd.in.h (pwrite): New declaration.
27029         * lib/pwrite.c: New file, from glibc with modifications.
27030         * m4/pwrite.m4: New file.
27031         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27032         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27033         REPLACE_PWRITE.
27034         * modules/pwrite: New file.
27035         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27036         REPLACE_PWRITE.
27037         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27038         * doc/posix-functions/pwrite.texi: Mention the new module.
27039
27040 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27041
27042         pread: Update documentation.
27043         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27044
27045 2010-05-04  Eric Blake  <eblake@redhat.com>
27046
27047         docs: update cygwin progress
27048         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27049         this bug.
27050         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27051         Added in cygwin 1.7.2.
27052         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27053         Likewise.
27054         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27055         Likewise.
27056         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27057         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27058         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27059         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27060         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27061         Mention nproc module.
27062         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27063         bug in cygwin 1.7.5 addition.
27064         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27065         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27066         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27067         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27068         1.7.5.
27069         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27070         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27071         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27072         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27073         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27074         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27075         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27076         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27077         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27078         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27079         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27080         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27081         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27082         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27083         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27084         Likewise.
27085         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27086         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27087         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27088         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27089         Likewise.
27090         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27091         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27092         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27093         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27094         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27095         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27096         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27097         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27098         Likewise.
27099         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27100         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27101         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27102         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27103         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27104         Likewise.
27105         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27106         Likewise.
27107         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27108         Likewise.
27109         * doc/glibc-functions/xdrrec_endofrecord.texi
27110         (xdrrec_endofrecord): Likewise.
27111         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27112         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27113         Likewise.
27114         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27115         Likewise.
27116
27117 2010-05-04  Jim Meyering  <meyering@redhat.com>
27118
27119         gendocs.sh: make its "-s FILE" option more useful
27120         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27121         $PACKAGE to reflect the probably-different basename of "FILE".
27122
27123 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27124
27125         bootstrap: don't ignore download_po_files failure
27126         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27127         failure.
27128
27129 2010-05-03  Jim Meyering  <meyering@redhat.com>
27130
27131         maint.mk: allow to pass options to gendocs.sh
27132         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27133         (gendocs_options_): New overridable variable.
27134
27135         gnu-web-doc-update: don't ignore configure or build failure
27136         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27137
27138         announce-gen: backslash-escape '@'s in --help output
27139         * build-aux/announce-gen: Fix syntax errors.
27140
27141         maint.mk, announce-gen: allow project-specific announcement mail headers
27142         * top/maint.mk (translation_project_): Define default.
27143         (announcement_Cc_, announcement_mail_headers_): Likewise.
27144         (announcement): Invoke announce-gen with new --mail-headers option.
27145         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27146
27147         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27148         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27149         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27150         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27151         line in the "err2" output file when running "make check" in verbose
27152         mode (i.e., with set -x enabled).
27153
27154 2010-05-03  Bruno Haible  <bruno@clisp.org>
27155
27156         wctob: Fix for weird platforms.
27157         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
27158         argument value.
27159
27160 2010-05-03  Jim Meyering  <meyering@redhat.com>
27161
27162         maint.mk: prohibit unwarranted use of <strings.h>
27163         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
27164         strings.h in a file that does not also use strcasecmp, strncasecmp,
27165         ffs or ffsll.
27166
27167         maint.mk: remove obsolete comments
27168         * top/maint.mk: Remove stale, commented-out rules.
27169
27170 2010-05-02  Bruno Haible  <bruno@clisp.org>
27171
27172         wcwidth: Declare also when it's aliased.
27173         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27174         macro.
27175
27176 2010-05-02  Bruno Haible  <bruno@clisp.org>
27177
27178         Fix regression from 2010-04-25.
27179         * gnulib-tool (func_modules_transitive_closure): Check the status of
27180         all modules, not only of the tests that are of the form foo-tests where
27181         foo is a module.
27182
27183 2010-05-02  Bruno Haible  <bruno@clisp.org>
27184
27185         wctob: Work around nasty Cygwin 1.7.2 bug.
27186         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27187         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
27188
27189 2010-05-01  Bruno Haible  <bruno@clisp.org>
27190
27191         fpurge: Sharper test.
27192         * tests/test-fpurge.c (main): Add one more ftell check.
27193         * modules/fpurge-tests (Depends-on): Add ftell.
27194         Suggested by Eric Blake.
27195
27196 2010-05-01  Bruno Haible  <bruno@clisp.org>
27197
27198         ftello: Another test.
27199         * tests/test-ftello3.c: New file.
27200         * modules/ftello-tests (Files): Add it.
27201         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27202         MOSTLYCLEANFILES.
27203
27204         ftell: Another test.
27205         * tests/test-ftell3.c: New file.
27206         * modules/ftell-tests (Files): Add it.
27207         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27208         MOSTLYCLEANFILES.
27209
27210 2010-05-01  Bruno Haible  <bruno@clisp.org>
27211
27212         ftell, ftello: Work around Solaris bug.
27213         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
27214         * lib/ftello.c: Include stdio-impl.h.
27215         (ftello): On Solaris, when _IOWRT is set, compute the result without
27216         looking at _IOREAD.
27217         * modules/ftello (Files): Add lib/stdio-impl.h.
27218         * doc/posix-functions/ftell.texi: Mention Solaris bug.
27219         * doc/posix-functions/ftello.texi: Likewise.
27220         Reported by Eric Blake.
27221
27222 2010-05-01  Bruno Haible  <bruno@clisp.org>
27223
27224         freading: Adapt to special meaning of _IOREAD flag on Solaris.
27225         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
27226         the _IOWRT flag is also set.
27227
27228 2010-05-01  Bruno Haible  <bruno@clisp.org>
27229
27230         Fix doc about a HP-UX stdio bug.
27231         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
27232         * doc/posix-functions/ftello.texi: Likewise.
27233
27234 2010-05-01  Bruno Haible  <bruno@clisp.org>
27235
27236         lseek test: Fix failure on Solaris.
27237         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
27238         output.
27239
27240 2010-04-30  Jim Meyering  <meyering@redhat.com>
27241
27242         bootstrap: don't ignore failure to generate po*/Makevars
27243         * build-aux/bootstrap (with_gettext): Don't ignore failure
27244         to create po/Makevars or runtime-po/Makevars.
27245
27246 2010-04-29  Eric Blake  <eblake@redhat.com>
27247
27248         headers: relax license to LGPLv2+
27249         * modules/fcntl-h (License): Relax license.
27250         * modules/getopt-posix (License): Likewise.
27251         * modules/locale (License): Likewise.
27252         * modules/math (License): Likewise.
27253         * modules/pty (License): Likewise.
27254         * modules/sched (License): Likewise.
27255         * modules/search (License): Likewise.
27256         * modules/spawn (License): Likewise.
27257         * modules/stdarg (License): Likewise.
27258         * modules/sysexits (License): Likewise.
27259
27260 2010-04-29  Jim Meyering  <meyering@redhat.com>
27261
27262         inttypes: relax license to LGPLv2+
27263         * modules/inttypes (License): Relax license.
27264
27265 2010-04-29  Simon Josefsson  <simon@josefsson.org>
27266
27267         * top/maint.mk (indent): Run twice to produce idempotent results.
27268
27269 2010-04-28  Bruno Haible  <bruno@clisp.org>
27270
27271         getdate: Generate getdate.c in the source directory.
27272         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
27273         MOSTLYCLEANFILES.
27274         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
27275
27276 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
27277
27278         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
27279         is not declared as a const *; avoid warnings in that case.
27280
27281 2010-04-28  Eric Blake  <eblake@redhat.com>
27282
27283         canonicalize-lgpl: avoid compiler warning
27284         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
27285         declaration' / 'extraneous semicolon' warning with some compilers.
27286         Reported by Andreas Gruenbacher.
27287
27288 2010-04-28  Jim Meyering  <meyering@redhat.com>
27289
27290         init.sh: ensure a more reliable exit status when exiting via trap
27291         * tests/init.sh (setup_): Don't rely on $? in signal handler.
27292         Inspired by patches from Dmitry V. Levin.
27293         Also trap on signal 3 (SIGQUIT).
27294
27295 2010-04-27  Bruno Haible  <bruno@clisp.org>
27296
27297         Update doc about utimes().
27298         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
27299         'utimens' module.
27300         Reported by Andreas Gruenbacher <agruen@suse.de>.
27301
27302 2010-04-27  Eric Blake  <eblake@redhat.com>
27303
27304         full-read, full-write: relax license
27305         * modules/full-read (License): Drop to LGPLv2+.
27306         * modules/full-write (License): Likewise.
27307         * modules/safe-read (License): Likewise.
27308         * modules/safe-write (License): Likewise.
27309
27310         pthread: mention library for linking
27311         * modules/pthread (Link): Mention $(LIB_PTHREAD).
27312
27313 2010-04-27  Jim Meyering  <meyering@redhat.com>
27314
27315         maint.mk: fix a bug introduced in last change
27316         * top/maint.mk (gl_assured_headers_): Now that all names are on
27317         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
27318         is not anchored to end of word, it should be adequate.
27319
27320         maint.mk: avoid side-effect in latest syntax-check
27321         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
27322         to run commands via $(shell...), and hence to incur cost only when
27323         the new rule is actually run.
27324
27325         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
27326         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
27327         and use that to create a regexp used to detect all #if HAVE_..._H uses.
27328         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
27329         (gl_assured_headers_, az_, AZ_): Define.
27330         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
27331
27332 2010-04-26  Jim Meyering  <jim@meyering.net>
27333             Bruno Haible  <bruno@clisp.org>
27334
27335         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
27336         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
27337         Prompted by an exchange with Gilles Espinasse.
27338
27339 2010-04-26  Jim Meyering  <meyering@redhat.com>
27340
27341         git-version-gen: aesthetic tweak
27342         * build-aux/git-version-gen: Use "$nl" rather than a literal,
27343         so that the command remains on a single line.
27344
27345 2010-04-26  Eric Blake  <eblake@redhat.com>
27346
27347         git-version-gen: allow use on EBCDIC hosts
27348         * build-aux/git-version-gen (dirty): Use literal rather than tying
27349         ourselves to ascii.
27350         Reported by Steve Goetze.
27351
27352 2010-04-25  Bruno Haible  <bruno@clisp.org>
27353
27354         netdb: Add support for GNULIB_POSIXCHECK.
27355         * lib/netdb.in.h: Include warn-on-use.h.
27356         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
27357         functions are used when GNULIB_POSIXCHECK is defined and the
27358         getaddrinfo module is not in use.
27359         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
27360         freeaddrinfo, gai_strerror, getnameinfo are declared.
27361         * modules/netdb (Depends-on): Add warn-on-use.
27362         (Makefile.am): Include warn-on-use.h in netdb.h.
27363
27364 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
27365
27366         build: avoid "make check" failure without .git/ directory
27367         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
27368         there is no .git/ directory.
27369
27370 2010-04-25  Bruno Haible  <bruno@clisp.org>
27371
27372         ptsname: Fix misuse of ttyname_r.
27373         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
27374         of errno.
27375
27376 2010-04-25  Bruno Haible  <bruno@clisp.org>
27377
27378         ttyname_r: Make it work on Solaris 10.
27379         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
27380         if the system function has the POSIX declaration. Test whether the
27381         function fails if the buffer is less than 128 bytes large.
27382         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
27383         system's ttyname_r function. Provide a reasonably large buffer.
27384         * modules/ttyname_r (Depends-on): Add extensions.
27385         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
27386
27387 2010-04-25  Bruno Haible  <bruno@clisp.org>
27388
27389         Use the 'extensions' module for some more functions on Solaris.
27390         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
27391         module.
27392         * doc/posix-functions/ctime_r.texi: Likewise.
27393         * doc/posix-functions/getgrgid_r.texi: Likewise.
27394         * doc/posix-functions/getgrnam_r.texi: Likewise.
27395         * doc/posix-functions/getpwnam_r.texi: Likewise.
27396         * doc/posix-functions/getpwuid_r.texi: Likewise.
27397         * doc/posix-functions/readdir_r.texi: Likewise.
27398         * doc/posix-functions/sigwait.texi: Likewise.
27399         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
27400         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
27401
27402 2010-04-25  Bruno Haible  <bruno@clisp.org>
27403
27404         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
27405         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
27406         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
27407         * lib/ttyname_r.c: Include <limits.h>.
27408         (ttyname_r): Define using the system's ttyname_r function, if it exists
27409         and not on Solaris.
27410         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
27411         set.
27412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
27413         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
27414         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
27415         Reported by Simon Josefsson.
27416
27417 2010-04-25  Bruno Haible  <bruno@clisp.org>
27418
27419         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
27420         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
27421         * doc/posix-functions/ctime_r.texi: Likewise.
27422         * doc/posix-functions/getgrgid_r.texi: Likewise.
27423         * doc/posix-functions/getgrnam_r.texi: Likewise.
27424         * doc/posix-functions/getlogin_r.texi: Likewise.
27425         * doc/posix-functions/getpwnam_r.texi: Likewise.
27426         * doc/posix-functions/getpwuid_r.texi: Likewise.
27427         * doc/posix-functions/readdir_r.texi: Likewise.
27428         * doc/posix-functions/sigwait.texi: Likewise.
27429         * doc/posix-functions/ttyname_r.texi: Likewise.
27430         Reported by Simon Josefsson.
27431
27432 2010-04-25  Bruno Haible  <bruno@clisp.org>
27433
27434         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
27435         * gnulib-tool (func_usage): Document that --with-*-tests options apply
27436         also to --create-testdir.
27437         (func_acceptable): Don't consider the status of *-tests modules here.
27438         (func_modules_transitive_closure): Consider it here, before including a
27439         test module.
27440         (func_import, func_create_testdir): Set inc_all_direct_tests,
27441         inc_all_indirect_tests.
27442         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
27443         --create-testdir and --create-megatestdir.
27444
27445 2010-04-25  Bruno Haible  <bruno@clisp.org>
27446
27447         gnulib-tool: Add --without-*-tests options.
27448         * gnulib-tool (func_usage): Document the --without-*-tests options.
27449         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
27450         excl_unportable_tests): New variables.
27451         Fail if they are specified with --import or --update.
27452         (func_acceptable): Respect the excl_*_tests variables.
27453         (func_import): Set the excl_*_tests variables to empty.
27454
27455 2010-04-25  Simon Josefsson  <simon@josefsson.org>
27456             Bruno Haible  <bruno@clisp.org>
27457
27458         Work around a MacOS X 10.4 bug with openpty.
27459         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
27460         * tests/test-openpty.c (main): Close the master side explicitly.
27461
27462 2010-04-25  Bruno Haible  <bruno@clisp.org>
27463
27464         strnlen: Fix a C++ test error on MacOS X and Solaris.
27465         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
27466         the function is not declared.
27467         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
27468         Simon Josefsson.
27469
27470 2010-04-24  Bruno Haible  <bruno@clisp.org>
27471
27472         Avoid a gcc warning.
27473         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
27474         of correct type for %08lx directive.
27475         Reported by Eric Blake.
27476
27477 2010-04-24  Bruno Haible  <bruno@clisp.org>
27478
27479         vasnprintf: Correct errno value in case of out-of-memory.
27480         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
27481         or sprintf. Use the errno value from SNPRINTF or sprintf.
27482         Reported by Ian Beckwith <ianb@erislabs.net>.
27483
27484 2010-04-24  Bruno Haible  <bruno@clisp.org>
27485
27486         ansi-c++-opt: Find correct compiler when cross-compiling.
27487         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
27488         AC_CHECK_PROGS.
27489         Reported by Simon Josefsson.
27490
27491 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
27492
27493         vc-list-files: Add support for subversion
27494         * build-aux/vc-list-files: Use "svn list" to generate the list of
27495         files controlled by subversion.
27496
27497 2010-04-23  Jim Meyering  <meyering@redhat.com>
27498
27499         vc-list-files tests: convert to use init.sh
27500         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
27501         path_prepend_.
27502         Use Exit, not exit.
27503         Use skip_ rather than open coding it.
27504         Remove trap set-up and compare definitions.
27505         * tests/test-vc-list-files-git.sh: Likewise.
27506         * modules/vc-list-files-tests (Files): Add tests/init.sh.
27507
27508 2010-04-22  Simon Josefsson  <simon@josefsson.org>
27509
27510         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
27511         backup files.
27512
27513 2010-04-21  Simon Josefsson  <simon@josefsson.org>
27514
27515         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
27516
27517 2010-04-20  Eric Blake  <eblake@redhat.com>
27518
27519         tests: be robust to ignored SIGPIPE
27520         * tests/test-select-in.sh: Consume all output.
27521         * tests/test-lseek.sh: Check correct exit status, while avoiding
27522         EPIPE.
27523
27524 2010-04-20  Simon Josefsson  <simon@josefsson.org>
27525             Bruno Haible  <bruno@clisp.org>
27526
27527         visibility: Don't use -fvisibility if it leads to a warning.
27528         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
27529         yes, don't pretend that visibility works if it leads to a warning.
27530         Reported by Mike Gran <spk121@yahoo.com>.
27531
27532 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
27533
27534         * build-aux/bootstrap: Use "git -h" for testing for supported options
27535         instead of "git --help".  The short-form option only shows a summary,
27536         and doesn't layout the full man page.  Grep for the full option name
27537         in the summary, too.
27538
27539 2010-04-19  Bruno Haible  <bruno@clisp.org>
27540
27541         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
27542         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
27543         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
27544         mention of RELOCATABLE_STRIP.
27545         Reported by Sylvain Beucler <beuc@beuc.net>.
27546
27547 2010-04-19  Bruno Haible  <bruno@clisp.org>
27548
27549         * lib/diffseq.h: Fix typo in comment.
27550         Reported by Eric Blake.
27551
27552 2010-04-19  Bruno Haible  <bruno@clisp.org>
27553
27554         ioctl: Move autoconf macro to a .m4 file.
27555         * m4/ioctl.m4: New file, extracted from modules/ioctl.
27556         * modules/ioctl (Files): Add it.
27557         (configure.ac): Simply invoke gl_FUNC_IOCTL.
27558         Reported by Ian Beckwith <ianb@erislabs.net>.
27559
27560 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
27561             Bruno Haible  <bruno@clisp.org>
27562
27563         diffseq: Accommodate use-case with abstract arrays.
27564         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
27565         is not defined.
27566         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
27567         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
27568
27569 2010-04-18  Bruno Haible  <bruno@clisp.org>
27570
27571         * doc/posix-headers/stdbool.texi: More precise wording.
27572
27573 2010-04-17  Jim Meyering  <meyering@redhat.com>
27574
27575         maint.mk: use gnu-style indentation in an embedded perl script
27576         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
27577         Rename variable: s/two/last_two_bytes/
27578
27579 2010-04-16  Eric Blake  <eblake@redhat.com>
27580
27581         test-stdbool: skip test that fails with Solaris CC
27582         * tests/test-stdbool.c (f): Skip test that causes compilation
27583         error under buggy C++ compiler.
27584         * lib/stdbool.in.h: Document the limitation.
27585         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
27586
27587         setenv: allow compilation with C++
27588         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
27589         register keyword.
27590
27591         stdint: allow test to pass with C++
27592         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
27593
27594         getopt: allow compilation with C++
27595         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
27596         struct.
27597         * lib/getopt.c (_getopt_internal_r): Use correct type.
27598         Reported by Dagobert Michelson, via Joel E. Denny.
27599
27600 2010-04-16  Bruno Haible  <bruno@clisp.org>
27601
27602         Override netdb.h always.
27603         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
27604         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
27605         Reported by Ludovic Courtès <ludo@gnu.org>.
27606
27607 2010-04-15  Bruno Haible  <bruno@clisp.org>
27608
27609         openpty: Fix mistake from 2010-03-21.
27610         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
27611         Reported by Simon Josefsson.
27612
27613 2010-04-15  Eric Blake  <eblake@redhat.com>
27614
27615         test-forkpty: fix expected signature
27616         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
27617         Reported by Simon Josefsson.
27618
27619 2010-04-15  Jim Meyering  <meyering@redhat.com>
27620
27621         maint.mk: texinfo_suffix_re_: correct the default regexp
27622         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
27623
27624         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
27625         make it configurable via texinfo_suffix_re_.
27626
27627 2010-04-14  Eric Blake  <eblake@redhat.com>
27628
27629         strtok_r: relax license to LGPLv2+
27630         * modules/strtok_r (License): Relax license.
27631         Reported by Matthias Bolte.
27632
27633 2010-04-14  Simon Josefsson  <simon@josefsson.org>
27634
27635         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
27636         version 1.4.4 by default instead of requiring the libgcrypt
27637         version used during build.  This makes it possible to use the
27638         application with older but still binary compatible libgcrypt
27639         versions.
27640
27641 2010-04-13  Eric Blake  <eblake@redhat.com>
27642
27643         getopt-gnu: match recent glibc fixes and posix ruling
27644         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
27645         '+' handling, when requesting extensions.
27646         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
27647         'W;' handling.
27648         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
27649         * doc/posix-functions/getopt.texi (getopt): Document this.
27650         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
27651         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27652         Likewise.
27653
27654         getopt: merge bug fixes from glibc
27655         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
27656         diagnostics.  Honor '+:' correctly.  Reject ';'.
27657
27658         getopt-posix: detect MacOS bug
27659         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
27660         optind when missing a required argument.
27661         * doc/posix-functions/getopt.texi (getopt): Document the bug.
27662         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
27663         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27664         Likewise.
27665
27666         getopt-posix: avoid spurious failure on Solaris
27667         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
27668         an indicator that setting optind=1 is sufficient for reset.
27669
27670         getopt-posix: avoid spurious failure on FreeBSD
27671         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
27672         in POSIX mode, since the m4 test uses it.
27673
27674         gnulib-tool: silence warning on BSD sh
27675         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
27676
27677 2010-04-13  Jim Meyering  <meyering@redhat.com>
27678
27679         doc: users.txt: GNU patch now uses gnulib
27680         * users.txt: Add patch.
27681
27682 2010-04-12  Jim Meyering  <meyering@redhat.com>
27683
27684         maint.mk: generate more concise timing data for syntax-check rules
27685         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
27686         " done" from each line that reports a syntax-check test duration.
27687
27688 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
27689
27690         git-version-gen: use "git update-index..." rather than "git status"
27691         * build-aux/git-version-gen: Use git update-index --refresh, not
27692         "git status".  With some versions of git, "git status" would fail
27693         to update the index and result in an unwarranted "-dirty" suffix.
27694
27695 2010-04-11  Jim Meyering  <meyering@redhat.com>
27696
27697         openat: correct formatting (no semantic change)
27698         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
27699         Suggested by Bruno Haible.
27700
27701 2010-04-11  Bruno Haible  <bruno@clisp.org>
27702
27703         Stricter declaration checking in testdirs.
27704         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
27705         If for_tests is true, augment AM_CPPFLAGS to define
27706         GNULIB_STRICT_CHECKING.
27707         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
27708         GNULIB_STRICT_CHECKING is defined, verify that the function is
27709         declared.
27710
27711 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
27712             Bruno Haible  <bruno@clisp.org>
27713
27714         libunistring: Improve configure output.
27715         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
27716         Don't say "consider installing GNU libunistring" when checking again
27717         with libiconv.
27718
27719 2010-04-11  Bruno Haible  <bruno@clisp.org>
27720
27721         libunistring: Correct value of $LTLIBUNISTRING.
27722         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
27723         correct the value of $LTLIBUNISTRING.
27724
27725 2010-04-11  Bruno Haible  <bruno@clisp.org>
27726
27727         havelib: Add static libraries to LIBS in the right order.
27728         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
27729         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
27730
27731 2010-04-11  Bruno Haible  <bruno@clisp.org>
27732
27733         libunistring: Detect libunistring also when it depends on libiconv.
27734         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
27735         the second AC_LIB_HAVE_LINKFLAGS invocation.
27736
27737 2010-04-11  James Youngman  <jay@gnu.org>
27738
27739         close-stream: declare local scalars to be "const"
27740         * lib/close-stream.c (close_stream): Make boolean variables const
27741         to document the fact that we set but do not change them.
27742
27743 2010-04-11  Bruno Haible  <bruno@clisp.org>
27744
27745         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
27746
27747 2010-04-11  Jim Meyering  <meyering@redhat.com>
27748
27749         maint.mk: don't include dist-check.mk
27750         * top/maint.mk: Remove bogus include directive.
27751
27752         maint.mk: improve empty-line-at-EOF check
27753         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
27754         solution, rather than tail+Perl-based one.  The latter would read
27755         a few kilobytes from the end of each file, and did not handle empty
27756         files properly.
27757
27758         maint.mk: print the elapsed time for each syntax-check rule
27759         * top/maint.mk (sc_m_rules_): Save start time in a file.
27760         (sc_z_rules_): New rules: remove temp file and print elapsed time.
27761         (local-check): Interpose the .z rules
27762
27763 2010-04-11  Jim Meyering  <meyering@redhat.com>
27764
27765         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
27766         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
27767         empty file with one that ends in an empty line.
27768
27769 2010-04-10  Bruno Haible  <bruno@clisp.org>
27770
27771         mkdir: Make it work on mingw64.
27772         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
27773         * lib/mkdir.c: Update comment.
27774         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
27775
27776 2010-04-10  Bruno Haible  <bruno@clisp.org>
27777
27778         Don't override improved macro from newer autoconf.
27779         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
27780         autoconf >= 2.62.
27781         Reported by Joel E. Denny <jdenny@clemson.edu>.
27782
27783 2010-04-10  Jim Meyering  <meyering@redhat.com>
27784
27785         maint.mk: new syntax-check rule: prohibit empty lines at end of file
27786         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
27787
27788         maint.mk: correct a diagnostic
27789         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
27790         in diagnostic; now use $prohibit.
27791
27792 2010-04-10  Bruno Haible  <address@hidden>
27793
27794         fchownat: Fix a C++ test error on Solaris 8.
27795         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
27796         the function does not exist.
27797
27798 2010-04-10  Bruno Haible  <bruno@clisp.org>
27799
27800         vasnprintf: Add more tests.
27801         * tests/test-vasnprintf-posix.c: Include <errno.h>.
27802         (test_function): Test converting an invalid wide string.
27803
27804         vasnprintf: Correct handling of unconvertible wide string arguments.
27805         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
27806         VASNPRINTF.
27807         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
27808         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
27809         smaller than the expected maximum need for the directive. Set errno to
27810         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
27811         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
27812         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
27813         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
27814         * modules/vasnprintf (Files): Add m4/printf.m4.
27815         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27816
27817 2010-04-10  Bruno Haible  <bruno@clisp.org>
27818
27819         vasnprintf: Fix crash in %ls directive.
27820         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
27821         string is passed as argument to %ls, with no precision and no width.
27822         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27823
27824 2010-04-10  Bruno Haible  <bruno@clisp.org>
27825
27826         vasnprintf: Fix multiple test failures on mingw.
27827         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
27828         _snprintf, or snwprintf, not _snwprintf.
27829
27830 2010-04-10  Bruno Haible  <bruno@clisp.org>
27831
27832         write: Fix a C++ test error on mingw.
27833         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
27834
27835 2010-04-10  Bruno Haible  <bruno@clisp.org>
27836
27837         vasnprintf test: Reduce code duplication.
27838         * tests/test-vasnprintf.c (test_function): New function, extracted from
27839         test_vasnprintf.
27840         (test_vasnprintf, test_asnprintf): Invoke it.
27841
27842 2010-04-10  Bruno Haible  <bruno@clisp.org>
27843
27844         strnlen: Fix warning in C++ mode on MacOS X.
27845         * lib/string.in.h (strnlen): Use the modern idiom.
27846         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
27847         defining strnlen as a macro already in <config.h>.
27848         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27849         REPLACE_STRNLEN.
27850         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
27851         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27852
27853 2010-04-08  James Youngman  <jay@gnu.org>
27854
27855         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
27856         the example.
27857
27858 2010-04-09  Jim Meyering  <meyering@redhat.com>
27859
27860         maint.mk: print better diagnostic when there is no $(_hv_file)
27861         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
27862         announce that when $(_hv_file) (aka help-version) does not exist.
27863
27864         init.sh: run tr in the "C" locale to avoid multibyte interpretation
27865         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
27866         not try to interpret its random input bytes.  Jarno Rajahalme reported
27867         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
27868         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
27869         (mktempd_): Likewise, just in case.
27870
27871         ftruncate: add two years to projected module removal date: 2012
27872         * m4/ftruncate.m4: Adjust comments.
27873
27874         ftruncate: mark module as obsolete; even MinGW provides it, now
27875         * modules/ftruncate (Status): Obsolete.
27876         (Notice): Say that.
27877         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
27878         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
27879
27880 2010-04-08  Bruno Haible  <bruno@clisp.org>
27881
27882         Fix side effects from tests-related modules.
27883         * modules/dprintf-posix (Comment): New section.
27884         * modules/fprintf-posix (Comment): Likewise.
27885         * modules/obstack-printf-posix (Comment): Likewise.
27886         * modules/printf-posix (Comment): Likewise.
27887         * modules/snprintf-posix (Comment): Likewise.
27888         * modules/sprintf-posix (Comment): Likewise.
27889         * modules/vasnprintf-posix (Comment): Likewise.
27890         * modules/vasprintf-posix (Comment): Likewise.
27891         * modules/vdprintf-posix (Comment): Likewise.
27892         * modules/vfprintf-posix (Comment): Likewise.
27893         * modules/vprintf-posix (Comment): Likewise.
27894         * modules/vsnprintf-posix (Comment): Likewise.
27895         * modules/vsprintf-posix (Comment): Likewise.
27896         * modules/xprintf-posix (Comment): Likewise.
27897         * modules/xvasprintf-posix (Comment): Likewise.
27898         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
27899         * modules/floorf-tests (Depends-on): Likewise.
27900         * modules/round-tests (Depends-on): Likewise.
27901         * modules/roundf-tests (Depends-on): Likewise.
27902         * modules/trunc-tests (Depends-on): Likewise.
27903         * modules/truncf-tests (Depends-on): Likewise.
27904         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
27905         'fprintf-posix' module is not present.
27906         * tests/test-floorf2.c (check): Likewise.
27907         * tests/test-trunc2.c (check): Likewise.
27908         * tests/test-truncf2.c (check): Likewise.
27909         * tests/test-round2.c (equal): Likewise.
27910         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27911
27912 2010-04-07  Karl Berry  <karl@gnu.org>
27913
27914         * config/srclist.txt,
27915         * config/srclistvars.sh,
27916         * config/srclist-update: doc fixes.
27917
27918 2010-04-07  Jim Meyering  <meyering@redhat.com>
27919
27920         maint.mk: add a PATH crosschecking syntax-check rule
27921         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
27922         Useful if you use a test like the one in help-version (coreutils,
27923         diffutils, grep, gzip) that ensures $(VERSION) matches what is
27924         printed by prog --version.
27925
27926 2010-04-06  Bruno Haible  <bruno@clisp.org>
27927
27928         Fix link error on mingw.
27929         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
27930         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
27931
27932 2010-04-06  Bruno Haible  <bruno@clisp.org>
27933
27934         Assume rmdir exists.
27935         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
27936
27937 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
27938
27939         doc: update users.txt
27940         * users.txt: Add gcal.
27941
27942 2010-04-06  Jim Meyering  <meyering@redhat.com>
27943
27944         init.sh: simply unset TMPDIR rather than risking env -i
27945         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
27946         although it probably works fine on all Unix-based systems, some
27947         systems (Cygwin?) cannot tolerate a totally cleared environment.
27948         Suggestion from Eric Blake.
27949
27950 2010-04-06  Jim Meyering  <meyering@redhat.com>
27951
27952         init.sh: portability fix: use env's POSIX-specified -i option not -u
27953         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
27954         than unportable env -u.  Solaris 5.11's env lacks support for -u.
27955
27956 2010-04-05  Bruno Haible  <bruno@clisp.org>
27957
27958         btowc: Work around Cygwin 1.7.2 bug.
27959         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
27960         does not map NUL to 0.
27961         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
27962
27963 2010-04-05  Bruno Haible  <bruno@clisp.org>
27964
27965         Make the multithread modules work on Cygwin 1.7.2.
27966         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
27967         imported symbols can be declared weak, so that it returns "no" on
27968         Cygwin 1.7.2.
27969
27970 2010-04-05  Bruno Haible  <bruno@clisp.org>
27971
27972         Use the module 'strncat'.
27973         * modules/unistr/u8-strncat (Depends-on): Add strncat.
27974
27975         Tests for module 'strncat'.
27976         * modules/strncat-tests: New file.
27977         * tests/test-strncat.c: New file.
27978
27979         New module 'strncat'.
27980         * lib/string.in.h (strncat): New declaration.
27981         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
27982         * m4/strncat.m4: New file, based on m4/memchr.m4.
27983         * modules/strncat: New file.
27984         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
27985         is declared.
27986         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
27987         REPLACE_STRNCAT.
27988         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
27989         REPLACE_STRNCAT.
27990         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
27991         module.
27992         * tests/test-string-c++.cc: Check signature of strncat.
27993
27994 2010-04-05  Jim Meyering  <meyering@redhat.com>
27995
27996         xstrtoumax-tests: convert to use init.sh
27997         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
27998         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27999         Use Exit, not exit.
28000         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28001
28002         xstrtoimax-tests: convert to use init.sh
28003         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28004         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28005         Use Exit, not exit.
28006         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28007
28008 2010-04-05  Bruno Haible  <bruno@clisp.org>
28009
28010         sys_socket: Avoid #define replacements in C++ mode.
28011         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28012         warning to the function if possible, rather than #defining the symbol
28013         to a dysfunctional alias.
28014
28015 2010-04-05  Bruno Haible  <bruno@clisp.org>
28016
28017         fseeko: Fix C++ test error on mingw.
28018         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28019         gl_FUNC_FSEEKO.
28020         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28021         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28022         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28023         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28024
28025 2010-04-05  Bruno Haible  <bruno@clisp.org>
28026
28027         duplocale: Improve test output.
28028         * tests/test-duplocale.c (main): Print reason for skipped test.
28029
28030 2010-04-05  Bruno Haible  <bruno@clisp.org>
28031
28032         Assume rmdir exists.
28033         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28034         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28035
28036 2010-04-05  Bruno Haible  <bruno@clisp.org>
28037
28038         Fix link error on Solaris 8 with cc.
28039         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28040
28041 2010-04-05  Bruno Haible  <bruno@clisp.org>
28042
28043         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28044         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28045
28046 2010-04-05  Bruno Haible  <bruno@clisp.org>
28047
28048         vasprintf: Update documentation.
28049         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28050
28051 2010-04-05  Bruno Haible  <bruno@clisp.org>
28052
28053         ptsname: Improve test.
28054         * tests/test-ptsname.c (main): Also try the various master names of BSD
28055         systems.
28056
28057 2010-04-05  Bruno Haible  <bruno@clisp.org>
28058
28059         memchr: Avoid a possible C++ test error.
28060         * lib/string.in.h (memchr): Provide declaration if function is missing.
28061         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28062         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28063         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28064         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28065
28066 2010-04-05  Bruno Haible  <bruno@clisp.org>
28067
28068         strtok_r: Improve idiom.
28069         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28070         AC_LIBOBJ is used.
28071
28072 2010-04-05  Bruno Haible  <bruno@clisp.org>
28073
28074         strdup: Improve idiom.
28075         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28076         AC_LIBOBJ is used.
28077         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28078         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28079         when AC_LIBOBJ is used.
28080
28081 2010-04-05  Bruno Haible  <bruno@clisp.org>
28082
28083         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28084         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28085         don't set REPLACE_MBSINIT to 1.
28086         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28087         don't set REPLACE_MBRTOWC to 1.
28088         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28089         exist, don't set REPLACE_MBSRTOWCS to 1.
28090         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28091         exist, don't set REPLACE_MBSNRTOWCS to 1.
28092         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28093         don't set REPLACE_WCRTOMB to 1.
28094         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28095         exist, don't set REPLACE_WCSRTOMBS to 1.
28096         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28097         exist, don't set REPLACE_WCSNRTOMBS to 1.
28098
28099 2010-04-05  Bruno Haible  <bruno@clisp.org>
28100
28101         ldexpl: Improve idiom.
28102         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28103         make sure to set HAVE_DECL_LDEXPL to 0.
28104
28105 2010-04-05  Jim Meyering  <meyering@redhat.com>
28106
28107         xstrtol-tests: convert to use init.sh
28108         * modules/xstrtol-tests (Files): Add tests/init.sh.
28109         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28110         Use Exit, not exit.
28111         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28112
28113         atexit-tests: convert to use init.sh
28114         * modules/atexit-tests (Files): Add tests/init.sh.
28115         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28116         Use Exit, not exit.
28117         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28118
28119         init.sh: fix typo
28120         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28121
28122         init.sh: make it easier for a test script to write to the tty, ...
28123         when using automake's parallel-tests mode.
28124         * tests/init.sh (stderr_fileno_): Define overridable variable.
28125         (warn_): New function, to use it.
28126         (fail_, skip_, framework_failure_): Use warn_.
28127
28128 2010-04-04  Bruno Haible  <bruno@clisp.org>
28129
28130         btowc: Avoid warning.
28131         * lib/btowc.c: Include <stdlib.h>.
28132         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28133
28134 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28135             Bruno Haible  <bruno@clisp.org>
28136
28137         wchar: Port to NetBSD 1.5.
28138         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28139         * lib/wctype.in.h (WEOF): Likewise.
28140
28141 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28142             Bruno Haible  <bruno@clisp.org>
28143
28144         Port extended stdio to NetBSD 1.5.
28145         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28146         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28147         older.
28148
28149 2010-04-04  Bruno Haible  <bruno@clisp.org>
28150
28151         string: Remove unused substitution.
28152         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28153         HAVE_DECL_STRERROR.
28154         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
28155
28156 2010-04-04  Bruno Haible  <bruno@clisp.org>
28157
28158         strtod: Avoid a possible C++ test error.
28159         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
28160         set REPLACE_STRTOD.
28161
28162 2010-04-04  Bruno Haible  <bruno@clisp.org>
28163
28164         strerror: Update documentation.
28165         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
28166
28167 2010-04-04  Bruno Haible  <bruno@clisp.org>
28168
28169         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28170         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28171         _GL_CXXALIAS_SYS_CAST.
28172
28173 2010-04-04  Bruno Haible  <bruno@clisp.org>
28174
28175         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28176         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28177         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28178         REPLACE_FREXPL to 1.
28179         * doc/posix-functions/frexpl.texi: Update documentation.
28180
28181 2010-04-04  Bruno Haible  <bruno@clisp.org>
28182
28183         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28184         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28185
28186 2010-04-04  Bruno Haible  <bruno@clisp.org>
28187
28188         Implement nanosleep for native Windows.
28189         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
28190
28191 2010-04-04  Bruno Haible  <bruno@clisp.org>
28192
28193         math: Fix some C++ test errors on Solaris 8.
28194         * lib/math.in.h (truncf, trunc): Use simpler idiom.
28195
28196 2010-04-04  Bruno Haible  <bruno@clisp.org>
28197
28198         math: Fix some C++ test errors on Cygwin.
28199         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
28200         truncl): Provide declaration if the system does not have it.
28201         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
28202         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
28203         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
28204         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
28205         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
28206         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
28207         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
28208         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
28209         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
28210         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
28211         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
28212         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
28213         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
28214         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
28215         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
28216         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
28217         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
28218         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28219         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28220         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
28221         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28222         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28223
28224 2010-04-04  Bruno Haible  <bruno@clisp.org>
28225
28226         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
28227         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
28228         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
28229         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28230         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28231         * m4/isinf.m4 (gl_ISINF): Likewise.
28232         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28233
28234 2010-04-04  Bruno Haible  <bruno@clisp.org>
28235
28236         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
28237         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28238
28239 2010-04-04  Bruno Haible  <bruno@clisp.org>
28240
28241         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
28242         * modules/tmpfile (configure.ac): Update.
28243
28244         tmpfile: Fix C++ test error on mingw.
28245         * lib/stdio.in.h (tmpfile): New declaration.
28246         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
28247         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
28248         * modules/tmpfile (Depends-on): Add stdio.
28249         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28250         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
28251         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
28252         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
28253         REPLACE_TMPFILE.
28254         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
28255
28256 2010-04-04  Bruno Haible  <bruno@clisp.org>
28257
28258         ioctl: Fix C++ test error on mingw.
28259         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
28260         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
28261         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
28262
28263 2010-04-03  Bruno Haible  <bruno@clisp.org>
28264
28265         wcwidth: Fix C++ test error on mingw.
28266         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
28267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
28268         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
28269
28270 2010-04-03  Bruno Haible  <bruno@clisp.org>
28271
28272         nanosleep: Fix C++ test error on mingw.
28273         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
28274         * lib/time.in.h (nanosleep): Use modern idiom.
28275         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
28276         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
28277         REPLACE_NANOSLEEP to 1.
28278         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
28279         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
28280
28281 2010-04-03  Bruno Haible  <bruno@clisp.org>
28282
28283         strptime: Fix C++ test error on mingw.
28284         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
28285         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
28286         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
28287         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
28288         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
28289         not REPLACE_STRPTIME.
28290         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
28291         REPLACE_STRPTIME.
28292
28293 2010-04-03  Bruno Haible  <bruno@clisp.org>
28294
28295         timegm: Fix C++ test error on mingw.
28296         * lib/time.in.h (timegm): Use modern idiom.
28297         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
28298         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
28299         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
28300         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
28301
28302 2010-04-03  Bruno Haible  <bruno@clisp.org>
28303
28304         timegm: Assume declaration if function exists.
28305         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
28306         if it exists. Don't clobber ac_cv_func_timegm.
28307
28308 2010-04-03  Bruno Haible  <bruno@clisp.org>
28309
28310         time_r: Fix C++ test error on mingw.
28311         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
28312         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
28313         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
28314         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
28315         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
28316
28317 2010-04-03  Bruno Haible  <bruno@clisp.org>
28318
28319         time_r: Minor updates.
28320         * modules/time_r (Description): Mention the provided functions.
28321         * lib/time_r.c: Don't include <string.h>.
28322         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
28323         * doc/posix-functions/localtime_r.texi: Likewise.
28324
28325 2010-04-03  Bruno Haible  <bruno@clisp.org>
28326
28327         time: Fix regression introduced on 2010-03-08.
28328         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
28329         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
28330
28331 2010-04-03  Jim Meyering  <meyering@redhat.com>
28332
28333         maint.mk: don't silently disable project-specific syntax-check rules
28334         * top/maint.mk (_prohibit_regexp): Define, to help people realize
28335         that they need to convert their project-specific syntax-check rules
28336         to use the new _sc_search_regexp.
28337
28338 2010-04-03  Bruno Haible  <bruno@clisp.org>
28339
28340         fchdir: Fix regression introduced on 2010-03-08.
28341         * lib/unistd.in.h (fchdir): Fix declaration.
28342         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
28343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
28344         REPLACE_FCHDIR.
28345         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
28346         REPLACE_FCHDIR.
28347
28348 2010-04-03  Bruno Haible  <bruno@clisp.org>
28349
28350         getpagesize: Fix C++ test error on mingw.
28351         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
28352         system does not declare the function.
28353         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
28354         declared.
28355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28356         HAVE_DECL_GETPAGESIZE.
28357         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
28358
28359 2010-04-03  Bruno Haible  <bruno@clisp.org>
28360
28361         stdio: Make C++ tests work on mingw.
28362         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
28363         does not declare the function.
28364
28365 2010-04-03  Bruno Haible  <bruno@clisp.org>
28366
28367         ftello: Fix C++ test error on mingw.
28368         * lib/stdio.in.h (ftello): Use modern idiom.
28369         * lib/ftello.c (ftello): Renamed from rpl_ftello.
28370         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
28371         is missing and that it needs to be replaced.
28372         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
28373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
28374         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
28375
28376 2010-04-03  Bruno Haible  <bruno@clisp.org>
28377
28378         fseeko: Fix C++ test error on mingw.
28379         * lib/stdio.in.h (fseeko): Use modern idiom.
28380         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
28381         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
28382         is missing and that it needs to be replaced.
28383         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
28384         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
28385         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
28386
28387 2010-04-03  Bruno Haible  <bruno@clisp.org>
28388
28389         mkstemp: Fix C++ test error on mingw.
28390         * lib/stdlib.in.h (mkstemp): Use modern idiom.
28391         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
28392         function is missing and that it needs to be replaced.
28393         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
28394         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
28395
28396 2010-04-03  Bruno Haible  <bruno@clisp.org>
28397
28398         stpncpy: Fix C++ test error on mingw.
28399         * lib/string.in.h (stpncpy): Use modern idiom.
28400         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
28401         function is missing and that it needs to be replaced.
28402         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28403         REPLACE_STPNCPY.
28404         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
28405
28406 2010-04-03  Bruno Haible  <bruno@clisp.org>
28407
28408         sys_stat: Fix C++ test error on mingw.
28409         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
28410         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
28411
28412 2010-04-03  Bruno Haible  <bruno@clisp.org>
28413
28414         pty: Update doc.
28415         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
28416
28417 2010-04-03  Bruno Haible  <bruno@clisp.org>
28418
28419         unistd: Fix C++ test error on mingw.
28420         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
28421
28422 2010-04-03  Bruno Haible  <bruno@clisp.org>
28423
28424         Update doc regarding mingw.
28425         * doc/glibc-functions/openpty.texi: Update regarding mingw.
28426         * doc/glibc-functions/login_tty.texi: Likewise.
28427         * doc/glibc-functions/forkpty.texi: Likewise.
28428
28429 2010-04-03  Bruno Haible  <bruno@clisp.org>
28430
28431         stdlib: Avoid compilation failure of c-strtold on mingw.
28432         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
28433
28434 2010-04-03  Bruno Haible  <bruno@clisp.org>
28435
28436         locale: Make C++ tests work on Cygwin and mingw.
28437         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
28438         cannot provide the function.
28439         Reported by Simon Josefsson.
28440
28441 2010-04-03  Bruno Haible  <bruno@clisp.org>
28442
28443         localename: Port to MacOS X 10.6.
28444         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
28445         memory layout of the locales in MacOS X 10.6 as well.
28446         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
28447
28448 2010-04-02  Bruno Haible  <bruno@clisp.org>
28449
28450         gnulib-tool: Ensure that long-running tests are executed last.
28451         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
28452         running tests after the one for the other tests.
28453
28454 2010-04-02  Bruno Haible  <bruno@clisp.org>
28455
28456         gnulib-tool: Ensure the tests in the main directory are executed first.
28457         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
28458         start with the current directory.
28459
28460 2010-04-02  Bruno Haible  <bruno@clisp.org>
28461
28462         Tests for module 'havelib', moved here from GNU gettext.
28463         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
28464         modifications.
28465         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
28466         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
28467         with modifications.
28468         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
28469         modifications.
28470         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
28471         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
28472         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
28473         with modifications.
28474         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
28475         with modifications.
28476         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
28477         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
28478         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
28479         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
28480         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
28481         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
28482         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
28483         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
28484         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
28485         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
28486         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
28487         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
28488         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
28489         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
28490         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
28491         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
28492         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
28493         with modifications.
28494         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
28495         with modifications.
28496         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
28497         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
28498         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
28499         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
28500         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
28501         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
28502         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
28503         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
28504         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
28505         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
28506         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
28507         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
28508         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
28509         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
28510         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
28511         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
28512         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
28513         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
28514         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
28515         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
28516         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
28517         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
28518         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
28519         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
28520         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
28521         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
28522         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
28523         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
28524         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
28525         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
28526         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
28527         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
28528         * tests/havelib/rpathx/rpathx.c: New file, from
28529         gettext/autoconf-lib-link.
28530         * tests/havelib/rpathx/Makefile.am: New file, from
28531         gettext/autoconf-lib-link.
28532         * tests/havelib/rpathx/configure.ac: New file, from
28533         gettext/autoconf-lib-link with modifications.
28534         * tests/havelib/rpathy/rpathy.c: New file, from
28535         gettext/autoconf-lib-link.
28536         * tests/havelib/rpathy/Makefile.am: New file, from
28537         gettext/autoconf-lib-link.
28538         * tests/havelib/rpathy/configure.ac: New file, from
28539         gettext/autoconf-lib-link with modifications.
28540         * tests/havelib/rpathz/rpathz.c: New file, from
28541         gettext/autoconf-lib-link.
28542         * tests/havelib/rpathz/Makefile.am: New file, from
28543         gettext/autoconf-lib-link.
28544         * tests/havelib/rpathz/configure.ac: New file, from
28545         gettext/autoconf-lib-link with modifications.
28546         * tests/havelib/rpathlx/usex.c: New file, from
28547         gettext/autoconf-lib-link.
28548         * tests/havelib/rpathlx/Makefile.am: New file, from
28549         gettext/autoconf-lib-link.
28550         * tests/havelib/rpathlx/configure.ac: New file, from
28551         gettext/autoconf-lib-link with modifications.
28552         * tests/havelib/rpathly/usey.c: New file, from
28553         gettext/autoconf-lib-link.
28554         * tests/havelib/rpathly/Makefile.am: New file, from
28555         gettext/autoconf-lib-link.
28556         * tests/havelib/rpathly/configure.ac: New file, from
28557         gettext/autoconf-lib-link with modifications.
28558         * tests/havelib/rpathlz/usez.c: New file, from
28559         gettext/autoconf-lib-link.
28560         * tests/havelib/rpathlz/Makefile.am: New file, from
28561         gettext/autoconf-lib-link.
28562         * tests/havelib/rpathlz/configure.ac: New file, from
28563         gettext/autoconf-lib-link with modifications.
28564         * tests/havelib/rpathlyx/usey.c: New file, from
28565         gettext/autoconf-lib-link.
28566         * tests/havelib/rpathlyx/Makefile.am: New file, from
28567         gettext/autoconf-lib-link.
28568         * tests/havelib/rpathlyx/configure.ac: New file, from
28569         gettext/autoconf-lib-link with modifications.
28570         * tests/havelib/rpathlzyx/usez.c: New file, from
28571         gettext/autoconf-lib-link.
28572         * tests/havelib/rpathlzyx/Makefile.am: New file, from
28573         gettext/autoconf-lib-link.
28574         * tests/havelib/rpathlzyx/configure.ac: New file, from
28575         gettext/autoconf-lib-link with modifications.
28576         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
28577         with modifications.
28578
28579 2010-04-02  Bruno Haible  <bruno@clisp.org>
28580
28581         gnulib-tool: Create distributed built sources also for the tests.
28582         * gnulib-tool (func_create_testdir): Also generate distributed built
28583         sources in the tests directory.
28584
28585 2010-04-02  Bruno Haible  <bruno@clisp.org>
28586
28587         gnulib-tool: Obey user's environment variables.
28588         * gnulib-tool (func_create_testdir): When creating built sources,
28589         respect the environment variables for autoconf, automake, etc. given by
28590         the user.
28591
28592 2010-04-02  Bruno Haible  <bruno@clisp.org>
28593
28594         gnulib-tool: Provide the value of --m4-base to modules.
28595         * gnulib-tool (func_import, func_create_testdir): Emit a definition
28596         of gl_m4_base.
28597
28598 2010-04-02  Eric Blake  <eblake@redhat.com>
28599
28600         maint.mk: fix some fallout
28601         * NEWS: Document the incompatible change, and its effect on cfg.mk.
28602         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
28603
28604 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
28605
28606         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
28607         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
28608         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
28609         (sc_cast_of_x_alloc_return_value): Likewise.
28610         (sc_cast_of_alloca_return_value): Likewise.
28611         (sc_space_tab): Likewise.
28612         (sc_prohibit_atoi_atof): Likewise.
28613         (sc_prohibit_magic_number_exit): Likewise.
28614         (sc_error_exit_success): Likewise.
28615         (sc_file_system): Likewise.
28616         (sc_prohibit_have_config_h): Likewise.
28617         (sc_require_config_h): Likewise.
28618         (sc_prohibit_HAVE_MBRTOWC): Likewise.
28619         (sc_obsolete_symbols): Likewise.
28620         (sc_changelog): Likewise.
28621         (sc_program_name): Likewise.
28622         (sc_the_the): Likewise.
28623         (sc_trailing_blank): Likewise.
28624         (sc_two_space_separator_in_usage): Likewise.
28625         (sc_useless_cpp_parens): Likewise.
28626         (sc_GPL_version): Likewise.
28627         (sc_GFDL_version): Likewise.
28628         (sc_texinfo_acronym): Likewise.
28629         (sc_prohibit_cvs_keyword): Likewise.
28630         (sc_prohibit_stat_st_blocks): Likewise.
28631         (sc_prohibit_S_IS_definition): Likewise.
28632         (sc_redundant_const): Likewise.
28633         (sc_makefile_TAB_only_indentation): Likewise.
28634         (sc_m4_quote_check): Likewise.
28635         (sc_makefile_path_separator_check): Likewise.
28636         (sc_copyright_check): Likewise.
28637         (sc_Wundef_boolean): Likewise.
28638         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
28639
28640         maint.mk: match 0 or more whitespace-before-function-call '('
28641         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
28642         that have zero or two-and-more spaces between the function name
28643         and the open parenthesis.
28644         (sc_error_message_warn_fatal): Likewise.
28645         (sc_error_message_uppercase): Likewise.
28646         (sc_error_message_period): Likewise.
28647
28648 2010-03-31  Eric Blake  <eblake@redhat.com>
28649
28650         maint.mk: check for [ as well as test
28651         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
28652         Based on a libvirt report by Matthias Bolte.
28653
28654         gnumakefile: don't squelch _version output
28655         * top/GNUmakefile (_version): Create one-shot dependency rather
28656         than using $(shell) when version must be regenerated.
28657         (_autoreconf): Run verbosely, by default.
28658
28659         sys_time: avoid compiler warnings
28660         * lib/sys_time.in.h (includes): Ensure gcc pragma is
28661         unconditional, fixing regression from 2010-03-29.
28662         Reported by Simon Josefsson.
28663
28664 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
28665
28666         maint.mk: s/_header_without_use/_sc_header_without_use/
28667         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
28668         (sc_prohibit_assert_without_use): Use the new name.
28669         (sc_prohibit_close_stream_without_use): Likewise.
28670         (sc_prohibit_getopt_without_use): Likewise.
28671         (sc_prohibit_quotearg_without_use): Likewise.
28672         (sc_prohibit_quote_without_use): Likewise.
28673         (sc_prohibit_long_options_without_use): Likewise.
28674         (sc_prohibit_inttostr_without_use): Likewise.
28675         (sc_prohibit_ignore_value_without_use): Likewise.
28676         (sc_prohibit_error_without_use): Likewise.
28677         (sc_prohibit_xalloc_without_use): Likewise.
28678         (sc_prohibit_hash_without_use): Likewise.
28679         (sc_prohibit_hash_pjw_without_use): Likewise.
28680         (sc_prohibit_safe_read_without_use): Likewise.
28681         (sc_prohibit_argmatch_without_use): Likewise.
28682         (sc_prohibit_canonicalize_without_use): Likewise.
28683         (sc_prohibit_root_dev_ino_without_use): Likewise.
28684         (sc_prohibit_openat_without_use): Likewise.
28685         (sc_prohibit_c_ctype_without_use): Likewise.
28686         (sc_prohibit_signal_without_use): Likewise.
28687         (sc_prohibit_intprops_without_use): Likewise.
28688
28689 2010-03-30  Eric Blake  <eblake@redhat.com>
28690
28691         maint: improve module indicators
28692         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
28693         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
28694         columns, and avoid extra macro expansion.
28695
28696         fdopendir: work around FreeBSD bug
28697         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
28698         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
28699         * modules/dirent (Makefile.am): Substitute it.
28700         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
28701         declaration.
28702         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
28703         fix.
28704         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28705
28706 2010-03-29  Bruno Haible  <bruno@clisp.org>
28707
28708         Emit #pragma system_header after the inclusion guard, not before.
28709         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
28710         guard that spans the entire file, not before. This enables an
28711         optimization in GCC's preprocessor.
28712         * lib/ctype.in.h: Likewise.
28713         * lib/dirent.in.h: Likewise.
28714         * lib/errno.in.h: Likewise.
28715         * lib/float.in.h: Likewise.
28716         * lib/getopt.in.h: Likewise.
28717         * lib/iconv.in.h: Likewise.
28718         * lib/langinfo.in.h: Likewise.
28719         * lib/locale.in.h: Likewise.
28720         * lib/math.in.h: Likewise.
28721         * lib/netdb.in.h: Likewise.
28722         * lib/netinet_in.in.h: Likewise.
28723         * lib/pty.in.h: Likewise.
28724         * lib/sched.in.h: Likewise.
28725         * lib/se-selinux.in.h: Likewise.
28726         * lib/search.in.h: Likewise.
28727         * lib/spawn.in.h: Likewise.
28728         * lib/stdarg.in.h: Likewise.
28729         * lib/stdint.in.h: Likewise.
28730         * lib/string.in.h: Likewise.
28731         * lib/strings.in.h: Likewise.
28732         * lib/sys_file.in.h: Likewise.
28733         * lib/sys_ioctl.in.h: Likewise.
28734         * lib/sys_time.in.h: Likewise.
28735         * lib/sys_times.in.h: Likewise.
28736         * lib/sys_utsname.in.h: Likewise.
28737         * lib/sys_wait.in.h: Likewise.
28738         * lib/sysexits.in.h: Likewise.
28739         * lib/wctype.in.h: Likewise.
28740
28741 2010-03-28  James Youngman  <jay@gnu.org>
28742
28743         save-cwd: don't leak a file descriptor when the caller execs.
28744         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
28745         saved file descriptor.
28746         * modules/save-cwd (Depends-on): Depend on cloexec.
28747
28748 2010-03-29  Bruno Haible  <bruno@clisp.org>
28749
28750         Remove vestiges of fts-lgpl module.
28751         * lib/fts_.h: Assume GNULIB_FTS is 1.
28752         * lib/fts.c: Likewise.
28753         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28754
28755 2010-03-28  Bruno Haible  <bruno@clisp.org>
28756
28757         Fix definition of tests witness macro.
28758         * gnulib-tool (func_import): Fix definition of witness macro.
28759
28760 2010-03-28  Bruno Haible  <bruno@clisp.org>
28761
28762         Fix ioctl's protoype on glibc systems.
28763         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
28764         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
28765         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
28766         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
28767         signature. If not, arrange to replace the ioctl function.
28768         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
28769         REPLACE_IOCTL.
28770         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
28771         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
28772         Reported by Ludovic Courtès <ludo@gnu.org>.
28773
28774 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
28775
28776         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
28777         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
28778         made it so grep -r --include=GLOB* ... did not work.
28779
28780 2010-03-26  Jim Meyering  <meyering@redhat.com>
28781             Eric Blake  <eblake@redhat.com>
28782
28783         maint.mk: prohibit use of test's -o and -a operators
28784         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
28785
28786 2010-03-28  Bruno Haible  <bruno@clisp.org>
28787
28788         Remove unused GNULIB_XYZ macro definitions.
28789         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
28790         invocation.
28791
28792 2010-03-28  Bruno Haible  <bruno@clisp.org>
28793
28794         Mark privileged tests modules.
28795         * modules/idpriv-drop-tests (Status): New section.
28796         * modules/idpriv-droptemp-tests (Status): New section.
28797
28798 2010-03-28  Bruno Haible  <bruno@clisp.org>
28799
28800         Split C++ tests into separate tests modules.
28801         * modules/dirent-c++-tests: New file, extracted from
28802         modules/dirent-tests.
28803         * modules/dirent-tests: Depend on it.
28804         * modules/fcntl-h-c++-tests: New file, extracted from
28805         modules/fcntl-h-tests.
28806         * modules/fcntl-h-tests: Depend on it.
28807         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
28808         * modules/glob-tests: Depend on it.
28809         * modules/iconv-h-c++-tests: New file, extracted from
28810         modules/iconv-h-tests.
28811         * modules/iconv-h-tests: Depend on it.
28812         * modules/langinfo-c++-tests: New file, extracted from
28813         modules/langinfo-tests.
28814         * modules/langinfo-tests: Depend on it.
28815         * modules/locale-c++-tests: New file, extracted from
28816         modules/locale-tests.
28817         * modules/locale-tests: Depend on it.
28818         * modules/math-c++-tests: New file, extracted from modules/math-tests.
28819         * modules/math-tests: Depend on it.
28820         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
28821         * modules/pty-tests: Depend on it.
28822         * modules/search-c++-tests: New file, extracted from
28823         modules/search-tests.
28824         * modules/search-tests: Depend on it.
28825         * modules/signal-c++-tests: New file, extracted from
28826         modules/signal-tests.
28827         * modules/signal-tests: Depend on it.
28828         * modules/spawn-c++-tests: New file, extracted from
28829         modules/spawn-tests.
28830         * modules/spawn-tests: Depend on it.
28831         * modules/stdio-c++-tests: New file, extracted from
28832         modules/stdio-tests.
28833         * modules/stdio-tests: Depend on it.
28834         * modules/stdlib-c++-tests: New file, extracted from
28835         modules/stdlib-tests.
28836         * modules/stdlib-tests: Depend on it.
28837         * modules/string-c++-tests: New file, extracted from
28838         modules/string-tests.
28839         * modules/string-tests: Depend on it.
28840         * modules/sys_ioctl-c++-tests: New file, extracted from
28841         modules/sys_ioctl-tests.
28842         * modules/sys_ioctl-tests: Depend on it.
28843         * modules/sys_select-c++-tests: New file, extracted from
28844         modules/sys_select-tests.
28845         * modules/sys_select-tests: Depend on it.
28846         * modules/sys_socket-c++-tests: New file, extracted from
28847         modules/sys_socket-tests.
28848         * modules/sys_socket-tests: Depend on it.
28849         * modules/sys_stat-c++-tests: New file, extracted from
28850         modules/sys_stat-tests.
28851         * modules/sys_stat-tests: Depend on it.
28852         * modules/sys_time-c++-tests: New file, extracted from
28853         modules/sys_time-tests.
28854         * modules/sys_time-tests: Depend on it.
28855         * modules/time-c++-tests: New file, extracted from modules/time-tests.
28856         * modules/time-tests: Depend on it.
28857         * modules/unistd-c++-tests: New file, extracted from
28858         modules/unistd-tests.
28859         * modules/unistd-tests: Depend on it.
28860         * modules/wchar-c++-tests: New file, extracted from
28861         modules/wchar-tests.
28862         * modules/wchar-tests: Depend on it.
28863         * modules/wctype-c++-tests: New file, extracted from
28864         modules/wctype-tests.
28865         * modules/wctype-tests: Depend on it.
28866         Reported by Simon Josefsson.
28867
28868 2010-03-28  Bruno Haible  <bruno@clisp.org>
28869
28870         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
28871         * gnulib-tool (func_exists_module): New function, extracted from
28872         func_verify_module.
28873         (func_verify_module): Use it.
28874         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
28875         'foo' only if 'foo' exists.
28876         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
28877         module.
28878
28879 2010-03-28  Bruno Haible  <bruno@clisp.org>
28880
28881         gnulib-tool: Add support for special categories of tests.
28882         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
28883         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
28884         (func_usage): Document them.
28885         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
28886         inc_unportable_tests, inc_all_tests): New variables.
28887         (func_acceptable): Consider these variables.
28888         (func_modules_transitive_closure): Make it work when the 'Status' field
28889         consists of multiple words.
28890         (func_import): Store and restore the values of inc_cxx_tests,
28891         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
28892         inc_all_tests in gnulib-comp.m4.
28893         (func_create_testdir): Set inc_all_tests to true.
28894         * doc/gnulib.texi (Extra tests modules): New section.
28895         Suggested by Jim Meyering.
28896
28897 2010-03-28  Bruno Haible  <bruno@clisp.org>
28898
28899         ansi-c++-opt: Allow turning off the C++ build by default.
28900         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
28901         gl_CXX_CHOICE_DEFAULT_NO is defined.
28902         Requested by Eric Blake.
28903
28904 2010-03-28  Bruno Haible  <bruno@clisp.org>
28905
28906         unistd: Avoid #define replacements in C++ mode.
28907         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
28908         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
28909         setsockopt, shutdown, select): In C++, attach a warning to the function
28910         if possible, rather than #defining the symbol to a dysfunctional alias.
28911         Reported by John W. Eaton <jwe@gnu.org>.
28912
28913 2010-03-28  Bruno Haible  <bruno@clisp.org>
28914
28915         Fix link errors on mingw.
28916         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
28917         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
28918         $(LIBSOCKET).
28919         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
28920         $(LIBSOCKET).
28921
28922 2010-03-28  Bruno Haible  <bruno@clisp.org>
28923             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28924
28925         lib-ignore: Determine different options for different compilers.
28926         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
28927         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
28928         Add comments.
28929         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
28930         * NEWS: Mention the change.
28931
28932 2010-03-27  Bruno Haible  <bruno@clisp.org>
28933
28934         Remove unused GNULIB_XYZ macro definitions.
28935         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28936         * modules/fseek (configure.ac): Likewise.
28937         * modules/ioctl (configure.ac): Likewise.
28938         * modules/open (configure.ac): Likewise.
28939         * modules/stdlib-safer (configure.ac): Likewise.
28940
28941 2010-03-27  Bruno Haible  <bruno@clisp.org>
28942
28943         Add a remark about certain modules.
28944         * modules/malloc (Comment): New section.
28945         * modules/realloc (Comment): Likewise.
28946         * modules/sigpipe (Comment): Likewise.
28947
28948 2010-03-27  Bruno Haible  <bruno@clisp.org>
28949
28950         Resolve conflict between the two kinds of module indicators.
28951         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
28952         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
28953         * modules/canonicalize (configure.ac): Invoke
28954         gl_MODULE_INDICATOR_FOR_TESTS.
28955         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
28956         GNULIB_XYZ.
28957         * tests/test-dirent-c++.cc: Likewise.
28958         * tests/test-dirent-safer.c: Likewise.
28959         * tests/test-dup2.c: Likewise.
28960         * tests/test-fchdir.c: Likewise.
28961         * tests/test-fcntl-h-c++.cc: Likewise.
28962         * tests/test-getopt.c: Likewise.
28963         * tests/test-getopt.h: Likewise.
28964         * tests/test-langinfo-c++.cc: Likewise.
28965         * tests/test-locale-c++.cc: Likewise.
28966         * tests/test-math-c++.cc: Likewise.
28967         * tests/test-pty-c++.cc: Likewise.
28968         * tests/test-search-c++.cc: Likewise.
28969         * tests/test-signal-c++.cc: Likewise.
28970         * tests/test-spawn-c++.cc: Likewise.
28971         * tests/test-stdio-c++.cc: Likewise.
28972         * tests/test-stdlib-c++.cc: Likewise.
28973         * tests/test-string-c++.cc: Likewise.
28974         * tests/test-sys_ioctl-c++.cc: Likewise.
28975         * tests/test-sys_select-c++.cc: Likewise.
28976         * tests/test-sys_socket-c++.cc: Likewise.
28977         * tests/test-sys_stat-c++.cc: Likewise.
28978         * tests/test-sys_time-c++.cc: Likewise.
28979         * tests/test-time-c++.cc: Likewise.
28980         * tests/test-unistd-c++.cc: Likewise.
28981         * tests/test-wchar-c++.cc: Likewise.
28982         * tests/uninorm/test-u8-nfc.c: Likewise.
28983         * tests/uninorm/test-u8-nfd.c: Likewise.
28984         * tests/uninorm/test-u8-nfkc.c: Likewise.
28985         * tests/uninorm/test-u8-nfkd.c: Likewise.
28986         * tests/uninorm/test-u16-nfc.c: Likewise.
28987         * tests/uninorm/test-u16-nfd.c: Likewise.
28988         * tests/uninorm/test-u16-nfkc.c: Likewise.
28989         * tests/uninorm/test-u16-nfkd.c: Likewise.
28990         * tests/uninorm/test-u32-nfc.c: Likewise.
28991         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28992         * tests/uninorm/test-u32-nfd.c: Likewise.
28993         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28994         * tests/uninorm/test-u32-nfkc.c: Likewise.
28995         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28996         * tests/uninorm/test-u32-nfkd.c: Likewise.
28997         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28998         * tests/uninorm/test-u32-normalize-big.c: Likewise.
28999
29000 2010-03-27  Bruno Haible  <bruno@clisp.org>
29001
29002         Distinguish two kinds of module indicators.
29003         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29004         gl_MODULE_INDICATOR.
29005         (gl_MODULE_INDICATOR): New macro.
29006         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29007         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29008         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29009         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29010         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29011         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29012         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29013         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29014         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29015         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29016         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29017         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29018         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29019         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29020         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29021         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29022         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29023         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29024         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29025         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29026         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29027         * modules/cloexec (configure.ac): Likewise.
29028         * modules/getopt-gnu (configure.ac): Likewise.
29029         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29030         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29031         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29032         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29033
29034 2010-03-27  Bruno Haible  <bruno@clisp.org>
29035
29036         New module description field 'Comment'.
29037         * gnulib-tool: New option --extract-comment.
29038         (func_usage): Document it.
29039         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29040         (func_get_comment): New function.
29041         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29042
29043 2010-03-27  Bruno Haible  <bruno@clisp.org>
29044
29045         Addendum to 2010-02-07 commit.
29046         * gnulib-tool (func_usage): Document --extract-applicability option.
29047
29048 2010-03-27  Bruno Haible  <bruno@clisp.org>
29049
29050         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29051         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29052         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29053         rather than link errors.
29054
29055 2010-03-27  Bruno Haible  <bruno@clisp.org>
29056
29057         Avoid side effects from tests-related modules on the compilation of lib.
29058         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29059         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29060         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29061         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29062         macro.
29063         (func_import): Define a witness macro. Assign it a value that depends
29064         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29065         tests-related modules.
29066         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29067         Reported by Jim Meyering.
29068
29069 2010-03-27  Bruno Haible  <bruno@clisp.org>
29070
29071         Factorize common .m4 code.
29072         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29073         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29074         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29075         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29076         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29077         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29078         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29079         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29080         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29081         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29082         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29083         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29084         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29085         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29086         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29087         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29088         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29089         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29090         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29091         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29092         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29093         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29094         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29095         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29096         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29097         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29098         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29099         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29100         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29101         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29102         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29103         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29104
29105 2010-03-27  Bruno Haible  <bruno@clisp.org>
29106
29107         Fix a compilation error on Cygwin with g++ >= 4.3.
29108         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29109         if it is undefined or if we alias it to chmod.
29110         (lstat): Don't warn about the use of this function if it is undefined
29111         or if we alias it to stat.
29112         Reported by Simon Josefsson.
29113
29114 2010-03-27  Bruno Haible  <bruno@clisp.org>
29115
29116         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29117         * modules/getlogin (configure.ac): Update.
29118
29119         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29120         * modules/getlogin_r (configure.ac): Update.
29121
29122         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29123         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29124         * modules/inet_ntop (configure.ac): Update.
29125
29126         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29127         * modules/inet_pton (configure.ac): Update.
29128
29129         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29130         * modules/mbslen (configure.ac): Update.
29131
29132         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29133         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29134         * modules/forkpty (configure.ac): Update.
29135         * modules/openpty (configure.ac): Update.
29136
29137 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29138
29139         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29140         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29141
29142 2010-03-25  Eric Blake  <eblake@redhat.com>
29143
29144         maint: use pragma consistently across replacement headers
29145         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29146         * lib/dirent.in.h (system_header): Likewise.
29147         * lib/errno.in.h (system_header): Likewise.
29148         * lib/float.in.h (system_header): Likewise.
29149         * lib/getopt.in.h (system_header): Likewise.
29150         * lib/iconv.in.h (system_header): Likewise.
29151         * lib/inttypes.in.h (system_header): Likewise.
29152         * lib/langinfo.in.h (system_header): Likewise.
29153         * lib/locale.in.h (system_header): Likewise.
29154         * lib/math.in.h (system_header): Likewise.
29155         * lib/netdb.in.h (system_header): Likewise.
29156         * lib/netinet_in.in.h (system_header): Likewise.
29157         * lib/pty.in.h (system_header): Likewise.
29158         * lib/sched.in.h (system_header): Likewise.
29159         * lib/se-selinux.in.h (system_header): Likewise.
29160         * lib/search.in.h (system_header): Likewise.
29161         * lib/spawn.in.h (system_header): Likewise.
29162         * lib/stdarg.in.h (system_header): Likewise.
29163         * lib/stdint.in.h (system_header): Likewise.
29164         * lib/string.in.h (system_header): Likewise.
29165         * lib/strings.in.h (system_header): Likewise.
29166         * lib/sys_file.in.h (system_header): Likewise.
29167         * lib/sys_ioctl.in.h (system_header): Likewise.
29168         * lib/sys_socket.in.h (system_header): Likewise.
29169         * lib/sys_times.in.h (system_header): Likewise.
29170         * lib/sys_utsname.in.h (system_header): Likewise.
29171         * lib/sys_wait.in.h (system_header): Likewise.
29172         * lib/sysexits.in.h (system_header): Likewise.
29173         * lib/unistd.in.h (system_header): Likewise.
29174         * lib/wctype.in.h (system_header): Likewise.
29175
29176         arpa/inet: fix mingw compilation warning
29177         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29178         Reported by Matthew Bolte.
29179
29180 2010-03-25  Bruno Haible  <bruno@clisp.org>
29181
29182         Avoid collision between gnulib wrapper and libintl wrapper.
29183         * lib/printf.c (printf): Don't define if a printf wrapper is already
29184         defined in intl/printf.c.
29185         Reported by Michel Boaventura <michel@michelboaventura.com>.
29186
29187 2010-03-25  Bruno Haible  <bruno@clisp.org>
29188
29189         Use ANSI C.
29190         * lib/readutmp.h (getutent): Provide ANSI C prototype.
29191
29192 2010-03-25  Bruno Haible  <bruno@clisp.org>
29193
29194         Minor formatting changes.
29195         * lib/acosl.c: Insert space before function argument list.
29196         * lib/argz.c: Likewise.
29197         * lib/asinl.c: Likewise.
29198         * lib/expl.c: Likewise.
29199         * lib/gen-uni-tables.c: Likewise.
29200         * lib/gettext.h: Likewise.
29201         * lib/glthread/lock.h: Likewise.
29202         * lib/tanl.c: Likewise.
29203         * lib/uniname/uniname.c: Likewise.
29204         * tests/test-idpriv-drop.c: Likewise.
29205         * tests/test-idpriv-droptemp.c: Likewise.
29206         * tests/test-lock.c: Likewise.
29207         * tests/test-tls.c: Likewise.
29208         * lib/argp-help.c: Insert space before function-like macro argument
29209         list.
29210         * lib/memcmp.c: Likewise.
29211         * tests/test-base64.c: Likewise.
29212         * lib/localename.c: Insert space before sizeof's argument list.
29213         * lib/safe-alloc.h: Likewise.
29214         * lib/file-set.h: Insert space before macro argument list.
29215         * tests/test-argp.c: Likewise.
29216         * lib/argp-namefrob.h: Insert space before function parameter list.
29217         * lib/getaddrinfo.c: Likewise.
29218         * lib/netdb.in.h: Likewise.
29219         * lib/parse-duration.h: Likewise.
29220         * lib/parse-duration.c: Likewise.
29221         * lib/poll.c: Likewise.
29222         * lib/select.c: Likewise.
29223         * lib/trim.h: Likewise.
29224         * tests/test-usleep.c: Likewise.
29225         * lib/ldexpl.c: Insert space before function parameter list and before
29226         function argument list.
29227         * lib/logl.c: Likewise.
29228         * lib/sqrtl.c: Likewise.
29229         * lib/trim.c: Likewise.
29230         * lib/cosl.c: Use GNU style indentation. Insert space before function
29231         argument list.
29232         * lib/sinl.c: Likewise.
29233         * lib/tsearch.c: Insert space after 'for'.
29234         Reported by Jim Meyering.
29235
29236 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
29237
29238         * maint.mk (sc_Wundef_boolean): Check for the presence of the
29239         config header before grepping, as it's not present before
29240         autoreconf/configure are run.  Reported by Simon Josefsson.
29241
29242 2010-03-23  Bruno Haible  <bruno@clisp.org>
29243
29244         pt_chown: Make it work with automake < 1.11.
29245         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
29246         Reported by Simon Josefsson.
29247
29248 2010-03-23  Bruno Haible  <bruno@clisp.org>
29249
29250         pt_chown: Don't depend on GPLed modules.
29251         * lib/pt_chown.c: Don't include idpriv.h.
29252         (main): Don't drop privileges.
29253         * modules/pt_chown (Depends-on): Remove idpriv-drop.
29254         Reported by Simon Josefsson.
29255
29256 2010-03-24  Simon Josefsson  <simon@josefsson.org>
29257
29258         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
29259         suggestions from karl@freefriends.org (Karl Berry).
29260
29261 2010-03-22  Eric Blake  <eblake@redhat.com>
29262
29263         gethostname: further tweaks
29264         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
29265         are overriding gethostname.
29266         Suggested by Bruno Haible.
29267
29268 2010-03-21  Bruno Haible  <bruno@clisp.org>
29269
29270         Fix comments.
29271         * lib/forkpty.c (rpl_forkpty): Fix comment.
29272         * lib/openpty.c (rpl_openpty): Likewise.
29273         Reported by Eric Blake.
29274
29275 2010-03-22  Eric Blake  <eblake@redhat.com>
29276
29277         gethostname: fix build on mingw
29278         * lib/unistd.in.h (includes): Work around fact that mingw
29279         <winsock2.h> re-includes <unistd.h>, by avoiding any
29280         redeclarations if we are being included by <winsock2.h>.
29281         Reported by Matthias Bolte.
29282
29283 2010-03-21  Bruno Haible  <bruno@clisp.org>
29284
29285         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29286         * lib/forkpty.c (forkpty): New replacement function, from glibc with
29287         modifications.
29288         * lib/pty.in.h (forkpty): Update declaration. Add comments.
29289         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
29290         provide the replacement.
29291         * modules/forkpty (Depends-on): Add openpty, login_tty.
29292         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
29293         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
29294         * doc/glibc-functions/forkpty.texi: More supported platforms.
29295         * config/srclist.txt: Add forkpty.c (commented).
29296
29297 2010-03-21  Bruno Haible  <bruno@clisp.org>
29298
29299         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
29300         (Makefile.am): Verify that PTY_LIB is defined.
29301
29302         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
29303
29304 2010-03-21  Bruno Haible  <bruno@clisp.org>
29305
29306         Tests for module 'login_tty'.
29307         * modules/login_tty-tests: New file.
29308         * tests/test-login_tty.c: New file.
29309
29310         New module 'login_tty'.
29311         * lib/login_tty.c: New file.
29312         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
29313         * modules/login_tty: New file.
29314         * doc/glibc-functions/login_tty.texi: Mention the new module.
29315
29316 2010-03-21  Bruno Haible  <bruno@clisp.org>
29317
29318         login_tty: Documentation.
29319         * doc/glibc-functions/login_tty.texi: New file.
29320         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
29321
29322 2010-03-21  Bruno Haible  <bruno@clisp.org>
29323
29324         pty: Consistent macro naming.
29325         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
29326         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
29327         * modules/pty (configure.ac): Update.
29328
29329 2010-03-21  Bruno Haible  <bruno@clisp.org>
29330
29331         Tests for openpty: Make stricter.
29332         * tests/test-openpty.c (main): Add test of canonical processing and
29333         erase.
29334         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
29335
29336         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29337         * lib/openpty.c (openpty): New replacement function.
29338         * lib/pty.in.h: Include <termios.h>.
29339         (openpty): Update declaration. Add comments.
29340         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
29341         is not declared, arrange to provide the replacement. Check for _getpty
29342         and posix_openpt.
29343         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
29344         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
29345         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
29346         * modules/pty-tests (test_pty_c___LDADD): New variable.
29347         * doc/glibc-functions/openpty.texi: More supported platforms.
29348
29349 2010-03-21  Bruno Haible  <bruno@clisp.org>
29350
29351         setenv: Tweaks.
29352         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
29353         the test program.
29354         * doc/posix-functions/setenv.texi: Update platforms list.
29355
29356 2010-03-21  Bruno Haible  <bruno@clisp.org>
29357
29358         New module 'unlockpt'.
29359         * lib/unlockpt.c: New file, from glibc with modifications.
29360         * m4/unlockpt.m4: New file.
29361         * modules/unlockpt: New file.
29362         * lib/stdlib.in.h (unlockpt): New declaration.
29363         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
29364         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
29365         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
29366         HAVE_UNLOCKPT.
29367         * doc/posix-functions/unlockpt.texi: Mention the new module.
29368         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
29369         * config/srclist.txt: Add unlockpt.c (commented).
29370
29371 2010-03-21  Jim Meyering  <meyering@redhat.com>
29372
29373         maint.mk: prohibit inclusion of "intprops.h" without use
29374         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
29375
29376 2010-03-21  Bruno Haible  <bruno@clisp.org>
29377
29378         New module 'grantpt'.
29379         * lib/grantpt.c: New file, from glibc with modifications.
29380         * m4/grantpt.m4: New file.
29381         * modules/grantpt: New file.
29382         * lib/stdlib.in.h (grantpt): New declaration.
29383         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
29384         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
29385         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
29386         HAVE_GRANTPT.
29387         * doc/posix-functions/grantpt.texi: Mention the new module.
29388         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
29389         * config/srclist.txt: Add grantpt.c (commented).
29390
29391 2010-03-21  Bruno Haible  <bruno@clisp.org>
29392
29393         New module 'pt_chown'.
29394         * lib/pt_chown.c: New file, from glibc with modifications.
29395         * lib/pty-private.h: New file, from glibc with modifications.
29396         * modules/pt_chown: New file.
29397         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
29398
29399 2010-03-21  Bruno Haible  <bruno@clisp.org>
29400
29401         Tests for module 'ptsname'.
29402         * modules/ptsname-tests: New file.
29403         * tests/test-ptsname.c: New file.
29404
29405         New module 'ptsname'.
29406         * lib/ptsname.c: New file, from glibc with modifications.
29407         * m4/ptsname.m4: New file.
29408         * modules/ptsname: New file.
29409         * lib/stdlib.in.h (ptsname): New declaration.
29410         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
29411         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
29412         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
29413         HAVE_PTSNAME.
29414         * doc/posix-functions/ptsname.texi: Mention the new module.
29415         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
29416         * config/srclist.txt: Add ptsname.c (commented).
29417
29418 2010-03-21  Bruno Haible  <bruno@clisp.org>
29419
29420         Tests for module 'ttyname_r'.
29421         * modules/ttyname_r-tests: New file.
29422         * tests/test-ttyname_r.c: New file.
29423
29424         New module 'ttyname_r'.
29425         * lib/ttyname_r.c: New file.
29426         * m4/ttyname_r.m4: New file.
29427         * modules/ttyname_r: New file.
29428         * lib/unistd.in.h (ttyname_r): New declaration.
29429         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
29430         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
29431         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
29432         HAVE_TTYNAME_R.
29433         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
29434         * doc/posix-functions/ttyname_r.texi: Mention the new module.
29435
29436 2010-03-20  Bruno Haible  <bruno@clisp.org>
29437
29438         signal: Undefine macro definitions in C++ mode.
29439         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
29440         sigfillset): Undefine macro definitions from the system header in C++
29441         mode.
29442         Reported by John W. Eaton <jwe@gnu.org>.
29443
29444 2010-03-20  Bruno Haible  <bruno@clisp.org>
29445
29446         Ensure no #include statements inside extern "C" { ... }.
29447         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
29448         contain #include statements.
29449         * lib/time.in.h: Likewise.
29450
29451 2010-03-20  Bruno Haible  <bruno@clisp.org>
29452
29453         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
29454         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
29455         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
29456         Reported by John W. Eaton <jwe@gnu.org>.
29457
29458 2010-03-20  Bruno Haible  <bruno@clisp.org>
29459
29460         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
29461         Reported by Jim Meyering.
29462
29463 2010-03-20  Bruno Haible  <bruno@clisp.org>
29464
29465         pipe: Set errno upon failure.
29466         * lib/pipe.h: Specify that when -1 is returned, errno is set.
29467         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
29468         errno value in error message.
29469
29470 2010-03-20  Bruno Haible  <bruno@clisp.org>
29471             Jim Meyering  <meyering@redhat.com>
29472
29473         lchown: Avoid "unused variable" warning.
29474         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
29475
29476 2010-03-20  Bruno Haible  <bruno@clisp.org>
29477
29478         Work around unlink() bug on MacOS X 10.5.6.
29479         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
29480         attempting to unlink a parent directory.
29481         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
29482         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
29483         activate for the replacement function.
29484         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
29485
29486 2010-03-20  Bruno Haible  <bruno@clisp.org>
29487
29488         Fix link errors on Solaris 8.
29489         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
29490         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
29491
29492 2010-03-19  Jim Meyering  <meyering@redhat.com>
29493
29494         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
29495         The _LIBC implementation of build_range_exp correctly honors the
29496         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
29497         However, the non-_LIBC implementation would ignore that syntax-bit
29498         flag and return REG_ERANGE unconditionally.
29499         This change makes it honor that flag.
29500         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
29501         Make two pointer parameters "const".
29502         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
29503         (parse_bracket_exp): Update caller.
29504
29505         regex.m4: correct the reversed range endpoint ([b-a]) test
29506         * m4/regex.m4: When requiring that [b-a] evoke failure,
29507         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
29508         test pass once again for x86-based systems.
29509
29510 2010-03-19  Bruno Haible  <bruno@clisp.org>
29511
29512         scandir: Fix link error on Solaris 8.
29513         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
29514         macros.
29515
29516 2010-03-19  Bruno Haible  <bruno@clisp.org>
29517
29518         getusershell: Fix documentation.
29519         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
29520         module.
29521         * doc/glibc-functions/setusershell.texi: Likewise.
29522
29523         getusershell: Provide declaration, missing on Solaris 9.
29524         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
29525         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
29526         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
29527         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
29528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29529         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
29530         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
29531         HAVE_GETUSERSHELL.
29532         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
29533
29534 2010-03-19  Bruno Haible  <bruno@clisp.org>
29535
29536         wctype: Provide iswblank function.
29537         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
29538         exists and is fine.
29539         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
29540         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
29541         * tests/test-wctype.c (main): Re-enable the iswblank tests.
29542         * doc/posix-functions/iswblank.texi: Update.
29543
29544 2010-03-19  Bruno Haible  <bruno@clisp.org>
29545
29546         Tests of module 'pty' in C++ mode.
29547         * modules/pty-tests: New file.
29548         * tests/test-pty-c++.cc: New file.
29549         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29550
29551 2010-03-19  Eric Blake  <eblake@redhat.com>
29552
29553         logb: fix documentation
29554         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
29555         1.5 declaration bug.
29556
29557         forkpty, openpty: prefer glibc's const-safe prototype
29558         * lib/forkpty.c (rpl_forkpty): New file.
29559         * lib/openpty.c (rpl_openpty): Likewise.
29560         * modules/forkpty (Files): Distribute it.
29561         * modules/openpty (Files): Likewise.
29562         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
29563         check...
29564         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
29565         replacement for for non-const BSD signature.
29566         * modules/pty (Makefile.am): Substitute witnesses.
29567         * lib/pty.in.h (forkpty, openpty): Declare replacements.
29568         * tests/test-forkpty.c: Update signature check.
29569         * tests/test-openpty.c: Likewise.
29570         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
29571         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29572
29573         forkpty, openpty: split functions into new modules
29574         * modules/pty (Makefile.am): Substitute new witnesses.
29575         (Libraries): Move library detection...
29576         * modules/forkpty: ...into new module.
29577         * modules/openpty: Another new module.
29578         * modules/pty-tests: Rename and split...
29579         * modules/forkpty-tests: ...to this...
29580         * modules/openpty-tests: ...and this.
29581         * tests/test-pty.c: Rename and split...
29582         * tests/test-forkpty.c: ...to this...
29583         * tests/test-openpty.c: ...and this.
29584         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
29585         (gl_PTY): Split library searching...
29586         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
29587         (gl_FORKPTY, gl_OPENPTY): New macros.
29588         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
29589         * NEWS: Mention the split.
29590         * MODULES.html.sh (Misc): Document the modules.
29591         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
29592         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29593
29594         pty: improve replacement header
29595         * lib/pty.in.h: New file.
29596         * modules/pty (Files): Ship it.
29597         (Makefile.am): Always build replacement.
29598         * m4/pty.m4: Rename...
29599         * m4/pty_h.m4: ...to this.
29600         (gl_PTY): Modernize setting of witness macros; update check of
29601         forkpty to take proper advantage of cache.
29602         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
29603
29604         getopt: avoid compiler warning
29605         * lib/getopt.c (attribute_hidden): Remove unused macro.
29606
29607 2010-03-18  Bruno Haible  <bruno@clisp.org>
29608
29609         Fix link errors on Solaris 8.
29610         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
29611         * modules/search-tests (test_search_c___LDADD): Likewise.
29612         * modules/signal-tests (test_signal_c___LDADD): Likewise.
29613         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
29614         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
29615         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
29616         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
29617         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
29618         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
29619
29620 2010-03-18  Bruno Haible  <bruno@clisp.org>
29621
29622         Fix bug introduced on 2010-03-14.
29623         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
29624         (gl_SPAWN_H): Require it.
29625         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
29626         Reported by Simon Josefsson.
29627
29628 2010-03-18  Bruno Haible  <bruno@clisp.org>
29629
29630         Fix typo introduced on 2009-12-31.
29631         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
29632         posix_spawn_file_actions_adddup2.
29633
29634 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
29635         and Eric Blake  <eblake@redhat.com>
29636
29637         test-vc-list-files-git: make more robust
29638         * tests/test-vc-list-files-git.sh: Unset problematic environment
29639         variables.  Chain commands together.
29640
29641 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
29642
29643         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
29644         `AC_CHECK_DECL' invocation.
29645
29646 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
29647
29648         * lib/inttostr.c (inttostr): Make sure the invocation of verify
29649         appears before executable statements. Suggested by Petr Sumbera
29650         <Petr.Sumbera@Sun.COM>.
29651
29652 2010-03-14  Bruno Haible  <bruno@clisp.org>
29653
29654         * tests/test-flock.c (test_exclusive): Comment out a test that causes
29655         portability problems. Instead use a simpler test.
29656         (main): Check that invalid arguments are rejected only on Linux.
29657
29658 2010-03-14  Bruno Haible  <bruno@clisp.org>
29659
29660         Fix bug introduced on 2009-12-31.
29661         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
29662         gl_PREREQ_SYS_H_WINSOCK2 always.
29663         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
29664         SYS_SOCKET_H variable.
29665         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
29666         Update comments.
29667         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
29668         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29669         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29670         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
29671         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
29672
29673 2010-03-14  Bruno Haible  <bruno@clisp.org>
29674
29675         Fix values returned by sinl, cosl.
29676         * lib/trigl.h: Add specification comments.
29677         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
29678         that combines the values from the precomputed table with the values of
29679         the Chebyshev polynomials.
29680
29681 2010-03-14  Bruno Haible  <bruno@clisp.org>
29682
29683         Fix compilation error when modules 'posix_spawn[p]' are not used.
29684         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
29685         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
29686
29687 2010-03-14  Bruno Haible  <bruno@clisp.org>
29688
29689         Fix compilation error on mingw when module 'time_r' is not used.
29690         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
29691         is 1.
29692         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
29693         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29694         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
29695         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
29696
29697 2010-03-14  Bruno Haible  <bruno@clisp.org>
29698
29699         Fix compilation error with Sun C.
29700         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
29701         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
29702         instead of GCC specific ULONG_LONG_MAX.
29703         * lib/xstrtoll.c: Likewise.
29704         * lib/xstrtoull.c: Likewise.
29705
29706 2010-03-13  Bruno Haible  <bruno@clisp.org>
29707
29708         Allow the user to disable C++ code and tests.
29709         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
29710         (gl_PROG_ANSI_CXX): Require it.
29711
29712 2010-03-13  Bruno Haible  <bruno@clisp.org>
29713
29714         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
29715         cases.
29716
29717 2010-03-13  Bruno Haible  <bruno@clisp.org>
29718
29719         Test that gnulib does not break the standard C++ headers.
29720         * tests/test-locale-c++2.cc: New file.
29721         * modules/locale-tests (Files): Add it.
29722         (Makefile.am): Compile it for test-locale-c++.
29723         * tests/test-math-c++2.cc: New file.
29724         * modules/math-tests (Files): Add it.
29725         (Makefile.am): Compile it for test-math-c++.
29726         * tests/test-signal-c++2.cc: New file.
29727         * modules/signal-tests (Files): Add it.
29728         (Makefile.am): Compile it for test-signal-c++.
29729         * tests/test-stdio-c++2.cc: New file.
29730         * modules/stdio-tests (Files): Add it.
29731         (Makefile.am): Compile it for test-stdio-c++.
29732         * tests/test-stdlib-c++2.cc: New file.
29733         * modules/stdlib-tests (Files): Add it.
29734         (Makefile.am): Compile it for test-stdlib-c++.
29735         * tests/test-string-c++2.cc: New file.
29736         * modules/string-tests (Files): Add it.
29737         (Makefile.am): Compile it for test-string-c++.
29738         * tests/test-time-c++2.cc: New file.
29739         * modules/time-tests (Files): Add it.
29740         (Makefile.am): Compile it for test-time-c++.
29741         Reported by John W. Eaton <jwe@gnu.org>.
29742
29743 2010-03-13  Bruno Haible  <bruno@clisp.org>
29744
29745         * gnulib-tool (func_usage): Clarify which options are available for
29746         --create-testdir and --create-megatestdir.
29747
29748 2010-03-13  Bruno Haible  <bruno@clisp.org>
29749
29750         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
29751         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
29752         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
29753         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
29754         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
29755         when appropriate.
29756         Reported by Jim Meyering.
29757
29758 2010-03-12  Simon Josefsson  <simon@josefsson.org>
29759
29760         * gnulib-tool (func_import): Explain origin of code.
29761
29762 2010-03-12  Bruno Haible  <bruno@clisp.org>
29763
29764         Fix problem with automake's definition of CXXLINK.
29765         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
29766         Reported by Simon Josefsson and Ludovic Courtès.
29767
29768 2010-03-12  Bruno Haible  <bruno@clisp.org>
29769
29770         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
29771         stable releases.
29772
29773 2010-03-11  Bruno Haible  <bruno@clisp.org>
29774
29775         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
29776         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
29777         whether the system provides one variant or multiple variants of the
29778         function.
29779         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
29780         C++ compilers.
29781         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
29782         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
29783         Reported by Jim Meyering.
29784
29785 2010-03-09  Simon Josefsson  <simon@josefsson.org>
29786
29787         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
29788
29789 2010-03-08  Bruno Haible  <bruno@clisp.org>
29790
29791         gnulib-tool: Add support for --libtool in --create-testdir.
29792         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
29793         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
29794
29795 2010-03-08  Eric Blake  <eblake@redhat.com>
29796
29797         gnulib-tool.texi: mention possibility of git submodule
29798         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
29799         submodules.
29800         * doc/.gitignore: Ignore another generated file.
29801
29802 2010-03-08  Karl Berry  <karl@gnu.org>
29803
29804         * doc/gnulib-tool.texi (VCS Issues): Mention third option
29805         of committing gnulib files while skipping others.
29806
29807 2010-03-07  Bruno Haible  <bruno@clisp.org>
29808
29809         Tests of module 'wctype' in C++ mode.
29810         * tests/test-wctype-c++.cc: New file.
29811         * modules/wctype-tests (Files): Add it and tests/signature.h.
29812         (Depends-on): Add ansi-c++-opt.
29813         (Makefile.am): Arrange to compile and run test-wctype-c++.
29814
29815         Tests of module 'wchar' in C++ mode.
29816         * tests/test-wchar-c++.cc: New file.
29817         * modules/wchar-tests (Files): Add it and tests/signature.h.
29818         (Depends-on): Add ansi-c++-opt.
29819         (Makefile.am): Arrange to compile and run test-wchar-c++.
29820         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
29821         gl_MODULE_INDICATOR.
29822
29823         Tests of module 'unistd' in C++ mode.
29824         * tests/test-unistd-c++.cc: New file.
29825         * modules/unistd-tests (Files): Add it and tests/signature.h.
29826         (Depends-on): Add ansi-c++-opt.
29827         (Makefile.am): Arrange to compile and run test-unistd-c++.
29828         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
29829         gl_MODULE_INDICATOR.
29830
29831         Tests of module 'time' in C++ mode.
29832         * tests/test-time-c++.cc: New file.
29833         * modules/time-tests (Files): Add it and tests/signature.h.
29834         (Depends-on): Add ansi-c++-opt.
29835         (Makefile.am): Arrange to compile and run test-time-c++.
29836         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29837
29838         Tests of module 'sys_time' in C++ mode.
29839         * tests/test-sys_time-c++.cc: New file.
29840         * modules/sys_time-tests (Files): Add it and tests/signature.h.
29841         (Depends-on): Add ansi-c++-opt.
29842         (Makefile.am): Arrange to compile and run test-sys_time-c++.
29843         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
29844         gl_MODULE_INDICATOR.
29845
29846         Tests of module 'sys_stat' in C++ mode.
29847         * tests/test-sys_stat-c++.cc: New file.
29848         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
29849         (Depends-on): Add ansi-c++-opt.
29850         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
29851         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
29852         gl_MODULE_INDICATOR.
29853
29854         Tests of module 'sys_socket' in C++ mode.
29855         * tests/test-sys_socket-c++.cc: New file.
29856         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
29857         (Depends-on): Add ansi-c++-opt.
29858         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
29859         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
29860         gl_MODULE_INDICATOR.
29861
29862         Tests of module 'sys_select' in C++ mode.
29863         * tests/test-sys_select-c++.cc: New file.
29864         * modules/sys_select-tests (Files): Add it and tests/signature.h.
29865         (Depends-on): Add ansi-c++-opt.
29866         (Makefile.am): Arrange to compile and run test-sys_select-c++.
29867         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
29868         gl_MODULE_INDICATOR.
29869
29870         Tests of module 'sys_ioctl' in C++ mode.
29871         * tests/test-sys_ioctl-c++.cc: New file.
29872         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
29873         (Depends-on): Add ansi-c++-opt.
29874         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
29875         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
29876         gl_MODULE_INDICATOR.
29877
29878         Tests of module 'string' in C++ mode.
29879         * tests/test-string-c++.cc: New file.
29880         * modules/string-tests (Files): Add it and tests/signature.h.
29881         (Depends-on): Add ansi-c++-opt.
29882         (Makefile.am): Arrange to compile and run test-string-c++.
29883         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
29884         gl_MODULE_INDICATOR.
29885
29886         Tests of module 'stdlib' in C++ mode.
29887         * tests/test-stdlib-c++.cc: New file.
29888         * modules/stdlib-tests (Files): Add it and tests/signature.h.
29889         (Depends-on): Add ansi-c++-opt.
29890         (Makefile.am): Arrange to compile and run test-stdlib-c++.
29891         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
29892         gl_MODULE_INDICATOR.
29893
29894         Tests of module 'stdio' in C++ mode.
29895         * tests/test-stdio-c++.cc: New file.
29896         * modules/stdio-tests (Files): Add it and tests/signature.h.
29897         (Depends-on): Add ansi-c++-opt.
29898         (Makefile.am): Arrange to compile and run test-stdio-c++.
29899         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
29900         gl_MODULE_INDICATOR.
29901
29902         Tests of module 'spawn' in C++ mode.
29903         * tests/test-spawn-c++.cc: New file.
29904         * modules/spawn-tests (Files): Add it and tests/signature.h.
29905         (Depends-on): Add ansi-c++-opt.
29906         (Makefile.am): Arrange to compile and run test-spawn-c++.
29907         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
29908         gl_MODULE_INDICATOR.
29909
29910         Tests of module 'signal' in C++ mode.
29911         * tests/test-signal-c++.cc: New file.
29912         * modules/signal-tests (Files): Add it and tests/signature.h.
29913         (Depends-on): Add ansi-c++-opt.
29914         (Makefile.am): Arrange to compile and run test-signal-c++.
29915         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
29916         gl_MODULE_INDICATOR.
29917
29918         Tests of module 'search' in C++ mode.
29919         * tests/test-search-c++.cc: New file.
29920         * modules/search-tests (Files): Add it and tests/signature.h.
29921         (Depends-on): Add ansi-c++-opt.
29922         (Makefile.am): Arrange to compile and run test-search-c++.
29923         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
29924         gl_MODULE_INDICATOR.
29925
29926         Tests of module 'math' in C++ mode.
29927         * tests/test-math-c++.cc: New file.
29928         * modules/math-tests (Files): Add it and tests/signature.h.
29929         (Depends-on): Add ansi-c++-opt.
29930         (Makefile.am): Arrange to compile and run test-math-c++.
29931         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29932
29933         Tests of module 'locale' in C++ mode.
29934         * tests/test-locale-c++.cc: New file.
29935         * modules/locale-tests (Files): Add it and tests/signature.h.
29936         (Depends-on): Add ansi-c++-opt.
29937         (Makefile.am): Arrange to compile and run test-locale-c++.
29938         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
29939         gl_MODULE_INDICATOR.
29940
29941         Tests of module 'langinfo' in C++ mode.
29942         * tests/test-langinfo-c++.cc: New file.
29943         * modules/langinfo-tests (Files): Add it and tests/signature.h.
29944         (Depends-on): Add ansi-c++-opt.
29945         (Makefile.am): Arrange to compile and run test-langinfo-c++.
29946         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
29947         gl_MODULE_INDICATOR.
29948
29949         Tests of module 'iconv-h' in C++ mode.
29950         * tests/test-iconv-h-c++.cc: New file.
29951         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
29952         (Depends-on): Add ansi-c++-opt.
29953         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
29954
29955         Tests of module 'glob' in C++ mode.
29956         * tests/test-glob-c++.cc: New file.
29957         * modules/glob-tests (Files): Add it.
29958         (Depends-on): Add ansi-c++-opt.
29959         (Makefile.am): Arrange to compile and run test-glob-c++.
29960
29961         Tests of module 'fcntl-h' in C++ mode.
29962         * tests/test-fcntl-h-c++.cc: New file.
29963         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
29964         (Depends-on): Add ansi-c++-opt.
29965         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
29966         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
29967         gl_MODULE_INDICATOR.
29968
29969         Tests of module 'dirent' in C++ mode.
29970         * tests/test-dirent-c++.cc: New file.
29971         * modules/dirent-tests (Files): Add it and tests/signature.h.
29972         (Depends-on): Add ansi-c++-opt.
29973         (Makefile.am): Arrange to compile and run test-dirent-c++.
29974         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29975         gl_MODULE_INDICATOR.
29976
29977         New module 'ansi-c++-opt'.
29978         * modules/ansi-c++-opt: New file.
29979         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
29980
29981         Document C++ namespace mode.
29982         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
29983
29984         wctype: Avoid #define replacements in C++ mode.
29985         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
29986         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
29987         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
29988         In C++, define a namespaced alias symbol.
29989         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
29990         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
29991         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
29992         rule.
29993
29994         wchar: Avoid #define replacements in C++ mode.
29995         * lib/wchar.in.h: Include c++defs.h.
29996         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
29997         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
29998         symbol.
29999         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30000         * modules/wchar (Depends-on): Add c++defs.
30001         (Makefile.am): Update wchar.h rule.
30002
30003         unistd: Avoid #define replacements in C++ mode.
30004         * lib/unistd.in.h: Include c++defs.h.
30005         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30006         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30007         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30008         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30009         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30010         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30011         symbol.
30012         (environ): Update.
30013         * modules/unistd (Depends-on): Add c++defs.
30014         (Makefile.am): Update unistd.h rule.
30015
30016         time: Avoid #define replacements in C++ mode.
30017         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30018         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30019         define a namespaced alias symbol.
30020         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30021         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30022         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30023         * modules/time (Depends-on): Add c++defs, warn-on-use.
30024         (Makefile.am): Update time.h rule.
30025         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30026         * modules/nanosleep (configure.ac): Likewise.
30027         * modules/strptime (configure.ac): Likewise.
30028         * modules/timegm (configure.ac): Likewise.
30029
30030         sys_time: Avoid #define replacements in C++ mode.
30031         * lib/sys_time.in.h: Include c++defs.h.
30032         (gettimeofday): In C++, define a namespaced alias symbol.
30033         * modules/sys_time (Depends-on): Add c++defs.
30034         (Makefile.am): Update sys/time.h rule.
30035
30036         sys_stat: Avoid #define replacements in C++ mode.
30037         * lib/sys_stat.in.h: Include c++defs.h.
30038         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30039         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30040         namespaced alias symbol.
30041         In C++, define a namespaced alias symbol.
30042         * modules/sys_stat (Depends-on): Add c++defs.
30043         (Makefile.am): Update sys/stat.h rule.
30044
30045         sys_socket: Avoid #define replacements in C++ mode.
30046         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30047         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30048         definitions also when the system has a <sys/socket.h>.
30049         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30050         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30051         In C++, define a namespaced alias symbol.
30052         * modules/sys_socket (Depends-on): Add c++defs.
30053         (Makefile.am): Update sys/socket.h rule.
30054
30055         sys_select: Avoid #define replacements in C++ mode.
30056         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30057         definitions also when the system has a <sys/select.h>.
30058         (select): In C++, define a namespaced alias symbol.
30059         * modules/sys_select (Depends-on): Add c++defs.
30060         (Makefile.am): Update sys/select.h rule.
30061
30062         sys_ioctl: Avoid #define replacements in C++ mode.
30063         * lib/sys_ioctl.in.h: Include c++defs.h.
30064         (ioctl): In C++, define a namespaced alias symbol.
30065         * modules/sys_ioctl (Depends-on): Add c++defs.
30066         (Makefile.am): Update sys/ioctl.h rule.
30067
30068         string: Avoid #define replacements in C++ mode.
30069         * lib/string.in.h: Include c++defs.h.
30070         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30071         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30072         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30073         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30074         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30075         * modules/string (Depends-on): Add c++defs.
30076         (Makefile.am): Update string.h rule.
30077
30078         stdlib: Avoid #define replacements in C++ mode.
30079         * lib/stdlib.in.h: Include c++defs.h.
30080         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30081         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30082         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30083         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30084         symbol.
30085         * modules/stdlib (Depends-on): Add c++defs.
30086         (Makefile.am): Update stdlib.h rule.
30087
30088         stdio: Avoid #define replacements in C++ mode.
30089         * lib/stdio.in.h: Include c++defs.h.
30090         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30091         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30092         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30093         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30094         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30095         namespaced alias symbol.
30096         * modules/stdio (Depends-on): Add c++defs.
30097         (Makefile.am): Update stdio.h rule.
30098
30099         spawn: Avoid #define replacements in C++ mode.
30100         * lib/spawn.in.h: Include c++defs.h.
30101         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30102         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30103         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30104         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30105         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30106         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30107         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30108         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30109         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30110         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30111         In C++, define a namespaced alias symbol.
30112         * modules/spawn (Depends-on): Add c++defs.
30113         (Makefile.am): Update spawn.h rule.
30114
30115         signal: Avoid #define replacements in C++ mode.
30116         * lib/signal.in.h: Include c++defs.h.
30117         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30118         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30119         namespaced alias symbol.
30120         * modules/signal (Depends-on): Add c++defs.
30121         (Makefile.am): Update signal.h rule.
30122
30123         search: Avoid #define replacements in C++ mode.
30124         * lib/search.in.h: Include c++defs.h.
30125         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30126         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30127         symbol.
30128         * modules/search (Depends-on): Add c++defs.
30129         (Makefile.am): Update search.h rule.
30130
30131         math: Avoid #define replacements in C++ mode.
30132         * lib/math.in.h: Include c++defs.h.
30133         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30134         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30135         trunc, truncl): In C++, define a namespaced alias symbol.
30136         * modules/math (Depends-on): Add c++defs.
30137         (Makefile.am): Update math.h rule.
30138
30139         locale: Avoid #define replacements in C++ mode.
30140         * lib/locale.in.h: Include c++defs.h.
30141         (duplocale): In C++, define a namespaced alias symbol.
30142         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30143         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30144         * modules/locale (Depends-on): Add c++defs.
30145         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30146
30147         langinfo: Avoid #define replacements in C++ mode.
30148         * lib/langinfo.in.h: Include c++defs.h.
30149         (nl_langinfo): In C++, define a namespaced alias symbol.
30150         * modules/langinfo (Depends-on): Add c++defs.
30151         (Makefile.am): Update langinfo.h rule.
30152
30153         iconv-h: Avoid #define replacements in C++ mode.
30154         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
30155         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
30156         symbol.
30157         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30158         whenever iconv is present.
30159         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
30160         (Makefile.am): Update iconv.h rule.
30161
30162         glob: Avoid #define replacements in C++ mode.
30163         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
30164         (_gl_glob_errfunc_fn): New type.
30165         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
30166         symbol.
30167         * modules/glob (Depends-on): Add c++defs, warn-on-use.
30168         (Makefile.am): Update glob.h rule.
30169
30170         fcntl-h: Avoid #define replacements in C++ mode.
30171         * lib/fcntl.in.h: Include c++defs.h.
30172         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30173         * modules/fcntl-h (Depends-on): Add c++defs.
30174         (Makefile.am): Update fcntl.h rule.
30175
30176         dirent: Avoid #define replacements in C++ mode.
30177         * lib/dirent.in.h: Include c++defs.h.
30178         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30179         namespaced alias symbol.
30180         (dirfd): Update declaration.
30181         * modules/dirent (Depends-on): Add c++defs.
30182         (Makefile.am): Update dirent.h rule.
30183
30184         ctype: Make it usable in C++ code.
30185         * lib/ctype.in.h: Include c++defs.h.
30186         (isblank): Declare as extern "C".
30187         * modules/ctype (Depends-on): Add c++defs.
30188         (Makefile.am): Update ctype.h rule.
30189
30190         New module 'c++defs'.
30191         * modules/c++defs: New file.
30192         * build-aux/c++defs.h: New file.
30193         Reported by John W. Eaton <jwe@gnu.org>.
30194
30195 2010-03-07  Bruno Haible  <bruno@clisp.org>
30196
30197         logb: Provide missing declaration for Cygwin.
30198         * lib/math.in.h (logb): New declaration.
30199         * m4/logb.m4: New file.
30200         * modules/logb (Files): Add m4/logb.m4.
30201         (Depends-on): Add math.
30202         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
30203         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
30204         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
30205         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
30206         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
30207
30208 2010-03-07  Bruno Haible  <bruno@clisp.org>
30209
30210         Fix test-cond link error.
30211         * tests/test-cond.c: Include <stdio.h>.
30212
30213 2010-03-07  Bruno Haible  <bruno@clisp.org>
30214
30215         Fix test-dirent-safer link error.
30216         * modules/dirent-safer-tests (Makefile.am): Define
30217         test_dirent_safer_LDADD.
30218
30219 2010-03-07  Bruno Haible  <bruno@clisp.org>
30220
30221         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
30222         among default module list.
30223
30224 2010-03-07  Bruno Haible  <bruno@clisp.org>
30225
30226         Fix link error on platforms with GNU libiconv.
30227         * modules/unistr/u8-strcoll-tests (Makefile): Define
30228         test_u8_strcoll_LDADD.
30229         * modules/unistr/u16-strcoll-tests (Makefile): Define
30230         test_u16_strcoll_LDADD.
30231         * modules/unistr/u32-strcoll-tests (Makefile): Define
30232         test_u32_strcoll_LDADD.
30233
30234 2010-03-07  Bruno Haible  <bruno@clisp.org>
30235
30236         Use POSIX declarations for socket functions.
30237         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
30238         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
30239         rpl_sendto): Change declaration to match POSIX.
30240         * lib/connect.c (rpl_connect): Likewise.
30241         * lib/accept.c (rpl_accept): Likewise.
30242         * lib/bind.c (rpl_bind): Likewise.
30243         * lib/getpeername.c (rpl_getpeername): Likewise.
30244         * lib/getsockname.c (rpl_getsockname): Likewise.
30245         * lib/recv.c (rpl_recv): Likewise.
30246         * lib/send.c (rpl_send): Likewise.
30247         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30248         * lib/sendto.c (rpl_sendto): Likewise.
30249
30250 2010-03-06  Bruno Haible  <bruno@clisp.org>
30251
30252         Clarify access, euidaccess, faccessat.
30253         * doc/posix-functions/faccessat.texi: Mention security problem under
30254         "Other problems", not "Portability problems".
30255         * doc/posix-functions/access.texi: Likewise. Mention a related security
30256         problem.
30257         * doc/glibc-functions/euidaccess.texi: Mention security problems.
30258         * lib/euidaccess.c: Add comments about platforms.
30259         * lib/unistd.in.h (access, euidaccess): Add warnings.
30260
30261 2010-03-07  Bruno Haible  <bruno@clisp.org>
30262
30263         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
30264         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
30265         (POSIX_SPAWN_SETSCHEDULER): Likewise.
30266         (POSIX_SPAWN_USEVFORK): Define in a way that works when
30267         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30268         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
30269         declare when POSIX_SPAWN_SETSCHEDULER is zero.
30270         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
30271         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
30272         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
30273         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
30274         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
30275         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
30276         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
30277         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
30278         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
30279         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
30280         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
30281         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
30282         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
30283         Likewise.
30284         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
30285         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
30286         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
30287         Likewise.
30288         * tests/test-spawn.c (main): Make it work when
30289         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30290
30291 2010-03-07  Bruno Haible  <bruno@clisp.org>
30292
30293         Fix incorrect Makefile.am generation in German locale.
30294         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30295         Execute sed command with character range in C locale.
30296
30297 2010-03-06  Bruno Haible  <bruno@clisp.org>
30298
30299         Tests for module 'iconv-h'.
30300         * modules/iconv-h-tests: New file.
30301         * tests/test-iconv-h.c: New file.
30302
30303         New module 'iconv-h'.
30304         * modules/iconv-h: New file.
30305         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
30306         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
30307         (configure.ac): Remove gl_ICONV_H.
30308         (Makefile.am): Remove rule for iconv.h.
30309
30310 2010-03-06  Bruno Haible  <bruno@clisp.org>
30311
30312         More consistent naming of *.m4 files.
30313         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
30314         * modules/wctype (Files): Update.
30315
30316         More consistent naming of *.m4 files.
30317         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
30318         * modules/wchar (Files): Update.
30319
30320 2010-03-06  Jim Meyering  <meyering@redhat.com>
30321
30322         euidaccess: relax license to LGPLv2+
30323         * modules/euidaccess (License): Relax to LGPLv2+.
30324
30325 2010-03-06  Bruno Haible  <bruno@clisp.org>
30326
30327         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
30328         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
30329         (Makefile.am): Augment lib_SOURCES instead.
30330
30331 2010-03-04  Jim Meyering  <meyering@redhat.com>
30332
30333         utime: remove obsolete module
30334         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
30335         unnecessary for years, and has been marked as obsolete for 10 months.
30336         * modules/utime: Remove file.
30337         * lib/utime.c: Remove file.
30338         * m4/utime.m4: Remove file.
30339         * m4/utimes-null.m4: Remove file.
30340         * doc/posix-functions/utime.texi (utime): Remove reference to
30341         the module.  Move the sole "fixed by gnulib" item into the
30342         "problems not fixed by Gnulib" list.
30343         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
30344
30345 2010-03-05  Simon Josefsson  <simon@josefsson.org>
30346
30347         * modules/exit (License): Relax license to LGPLv2+.
30348         (Status): Mark as obsolete.
30349         * NEWS: Mention deprecated 'exit' module.
30350         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
30351         of now obsolete 'exit'.
30352
30353 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30354
30355         fts-lgpl: remove unused module
30356         * modules/fts-lgpl: Remove.
30357         * MODULES.html.sh (func_all_modules): Adjust.
30358         * check-module (find_included_lib_files): Adjust.
30359         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
30360
30361 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
30362
30363         copy-acl: enhance Solaris ACL error handling
30364         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
30365         * lib/set-mode-acl.c (qset_acl): Likewise.
30366
30367 2010-03-02  Bruno Haible  <bruno@clisp.org>
30368
30369         spawn: Don't override the system defined values on FreeBSD 8.
30370         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
30371         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
30372         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
30373         if HAVE_POSIX_SPAWN is 1.
30374         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
30375
30376 2010-03-01  Bruno Haible  <bruno@clisp.org>
30377
30378         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
30379         regarding Automake.
30380
30381 2010-02-25  Bruno Haible  <bruno@clisp.org>
30382
30383         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
30384         * gnulib-tool: Define 'echo' as a function only before the ksh alias
30385         setting, not afterwards.
30386         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
30387
30388 2010-02-24  Eric Blake  <eblake@redhat.com>
30389
30390         bootstrap, git-version-gen: use timestamp
30391         * build-aux/git-version-gen (scriptversion): Force UTC.
30392         * build-aux/bootstrap (scriptversion): New variable.
30393
30394         bootstrap: allow older git
30395         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
30396         older than 1.6.4.  Requested by the libvirt project.
30397
30398 2010-02-23  Eric Blake  <eblake@redhat.com>
30399
30400         warn-on-use: work with old autoconf
30401         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
30402         AS_VAR semantics of autoconf 2.60.
30403         Reported by Bruno Haible.
30404
30405         bootstrap: improve some comments
30406         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
30407         clarification comments.
30408
30409         gettimeofday: provide correct function
30410         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
30411         when replacement is declared, otherwise provide gettimeofday.
30412         Reported by Michael Goffioul.
30413
30414 2010-02-23  Jim Meyering  <meyering@redhat.com>
30415
30416         lib-ignore: relax license to "unlimited", not LGPLv2+
30417         * modules/lib-ignore (License): Relax to "unlimited".
30418
30419 2010-02-23  Jim Meyering  <meyering@redhat.com>
30420
30421         lib-ignore: relax license to LGPLv2+
30422         * modules/lib-ignore (License): Relax to LGPLv2+.
30423
30424 2010-02-22  Eric Blake  <eblake@redhat.com>
30425
30426         lseek: avoid bash 3.2 broken pipe bug
30427         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
30428         warning from bash 3.2.
30429         Reported by Ben Pfaff, with analysis from Bruno Haible.
30430
30431         bootstrap: support non-FSF copyright holder
30432         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
30433         bootstrap.conf override of COPYRIGHT_HOLDER.
30434         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
30435
30436         bootstrap: interoperate with gettext 0.14.1
30437         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
30438
30439         bootstrap: allow for alternate submodule location
30440         * build-aux/bootstrap (gnulib_path): New variable; use instead of
30441         hardcoding submodule location.
30442         (gnulib_mk): Allow direct use of Makefile.am.
30443
30444         bootstrap: use GNULIB_SRCDIR to reduce disk usage
30445         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
30446         rather than reconfiguring where the submodule points.
30447
30448         gettimeofday: restore support for platforms that lack function
30449         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
30450         replacement if function is missing.
30451         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
30452         * modules/sys_time (Makefile.am): Substitute it.
30453         * lib/sys_time.in.h (gettimeofday): Check it.
30454         Reported by Michael Goffioul.
30455
30456 2010-02-21  Bruno Haible  <bruno@clisp.org>
30457
30458         * lib/stdio.in.h (obstack_printf): Fix typo.
30459
30460 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
30461
30462         vc-list-files: use bzr ls's -R option
30463         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
30464         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
30465
30466 2010-02-21  Jim Meyering  <meyering@redhat.com>
30467
30468         init.sh: fix EXEEXT shims to work also for names like test-prog
30469         * tests/init.sh: Re-exec a better shell, when needed.
30470         If the current shell lacks support for posix $(...), an init.sh-using
30471         test will now try to find a shell that supports that.  If EXEEXT is
30472         nonempty, we also require support for hyphen-in-alias-name and shell
30473         substitutions like ${var#glob}.  Failure to find such a shell results
30474         in a skipped test.
30475
30476 2010-02-21  Bruno Haible  <bruno@clisp.org>
30477
30478         Really work around around "broken pipe" error message from bash 3.2.
30479         * gnulib-tool (func_reset_sigpipe): Remove function.
30480         (echo): In bash 3.2, define to a function that uses printf.
30481         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
30482
30483 2010-02-20  Bruno Haible  <bruno@clisp.org>
30484
30485         Restore support for automake 1.9.6 with autoconf 2.61.
30486         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
30487         Reported by James Youngman <jay@gnu.org>.
30488
30489 2010-02-20  Bruno Haible  <bruno@clisp.org>
30490
30491         Improve *printf warning condition.
30492         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
30493         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
30494         and the function is overridden due to SIGPIPE emulation.
30495
30496 2010-02-20  Bruno Haible  <bruno@clisp.org>
30497
30498         * lib/stdio.in.h: Tweak comments.
30499
30500 2010-02-19  Bruno Haible  <bruno@clisp.org>
30501
30502         Make it easier to find modules. New gnulib-tool option '--find'.
30503         * gnulib-tool: New option --find.
30504         (func_usage): Document it.
30505         (func_sanitize_modulelist): New function, extracted from
30506         func_all_modules.
30507         (func_all_modules): Invoke it.
30508         * doc/gnulib-tool.texi (Which modules?): New node.
30509
30510 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
30511
30512         * lib/sys_select.in.h: Provide select replacement even if
30513         sys/select.h exists on a system, for Interix.
30514
30515 2010-02-18  Jim Meyering  <meyering@redhat.com>
30516
30517         init.sh: don't use $(...) just yet
30518         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
30519         to accommodate e.g., Solaris' /bin/sh.
30520
30521 2010-02-17  Bruno Haible  <bruno@clisp.org>
30522
30523         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
30524         Reported by Ludovic Courtès <ludo@gnu.org>.
30525
30526 2010-02-16  Simon Josefsson  <simon@josefsson.org>
30527
30528         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
30529         linking with -lintl.
30530
30531 2010-02-17  Simon Josefsson  <simon@josefsson.org>
30532
30533         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
30534         if not provided by the system's netdb.h.  Reported by
30535         ludo@gnu.org (Ludovic Courtès).
30536
30537 2010-02-15  Jim Meyering  <meyering@redhat.com>
30538
30539         init.sh: improve portability and efficiency
30540         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
30541         "dummy" in a for loop.
30542         Use '!', not '^' to select the complement of a character set used
30543         in a "case" statement.
30544         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
30545         Suggestions from Eric Blake.
30546
30547         init.sh: automatically accommodate programs with the .exe suffix
30548         Automatically arrange for an invocation of "prog" to execute the
30549         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
30550         may use the simpler "prog", yet still work when built on a system
30551         that requires specifying the added suffix.
30552         Do this by constructing a function named "prog" that invokes
30553         "prog.exe" for each .exe file in selected directories.
30554         * tests/init.sh (find_exe_basenames_): New function.
30555         (create_exe_shim_functions_): New function.
30556         (path_prepend_): Use it.
30557
30558         maint.mk: mark syntax-check sc_*.m rules as .PHONY
30559         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
30560         "make -t syntax-check" doesn't create a ton of sc_*.m files.
30561
30562 2010-02-14  Jim Meyering  <meyering@redhat.com>
30563
30564         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
30565         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
30566         (sc_prohibit_hash_pjw_without_use): New rule.
30567
30568         maint.mk: allow the default upload destination dir to be overridden
30569         * top/maint.mk (upload_dest_dir_): Define with a default that
30570         preserves the status quo.
30571         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
30572         Reported by Peter Simons.
30573
30574         maint.mk: prohibit inclusion of "hash.h" without_use
30575         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
30576
30577 2010-02-10  Jim Meyering  <meyering@redhat.com>
30578
30579         maint.mk: prohibit inclusion of "ignore-value.h" without_use
30580         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
30581
30582 2010-02-09  Eric Blake  <ebb9@byu.net>
30583         and Bruno Haible  <bruno@clisp.org>
30584
30585         obstack-printf-posix: ensure declaration
30586         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
30587         extracted from gl_FUNC_OBSTACK_PRINTF.
30588         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
30589         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
30590         Likewise.
30591         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
30592         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
30593         0.
30594
30595 2010-02-08  Bruno Haible  <bruno@clisp.org>
30596
30597         gnulib-tool: Fix typo in 2010-02-07 commit.
30598         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
30599         Reported by Eric Blake.
30600
30601 2010-02-07  Bruno Haible  <bruno@clisp.org>
30602
30603         gnulib-tool: Fix up caching patches.
30604         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
30605         option --no-cache. Use associative arrays when supported by the shell.
30606         (sed_comments): New variable.
30607         (modcache): Renamed from do_cache.
30608         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
30609         abbreviate unnecessarily.
30610         (have_associative): New variable.
30611         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
30612         way also for ksh and zsh.
30613         (func_init_sed_convert_to_cache_statements): New function, extracted
30614         from func_cache_lookup_module. Add support for associative arrays.
30615         Don't set the c_MODULE_cached variable here. Ignore all lines before
30616         the first field header. Remove only the final newline, not all trailing
30617         newlines. Support empty fields correctly. Limit the use of 'eval' to
30618         assignments.
30619         (func_get_description, func_get_status, func_get_notice,
30620         func_get_applicability, func_get_filelist, func_get_dependencies,
30621         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
30622         func_get_automake_snippet, func_get_include_directive,
30623         func_get_link_directive, func_get_license, func_get_maintainer):
30624         Update documentation. List the unoptimized code first. Add support for
30625         associative arrays. Limit the use of 'eval' to assignments.
30626         (func_get_applicability): Undo stylistic pessimisations.
30627         (func_get_automake_snippet, func_get_include_directive): Reduce code
30628         duplication.
30629         (func_modules_transitive_closure, func_modules_add_dummy,
30630         func_modules_notice, func_modules_to_filelist, func_add_file,
30631         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
30632         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
30633         func_create_testdir, func_create_megatestdir): Update documentation.
30634
30635 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30636
30637         * gnulib-tool (func_cache_lookup_module): Store the module name
30638         belonging to the cache variable; error out if two different
30639         module names map to the same cache variable name.
30640
30641 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30642
30643         gnulib-tool: Make caching optional.
30644         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
30645         Update matching short versions of --no-changelog.
30646         (func_usage): Update.
30647         (sed_extract_cache_prog): Renamed from ...
30648         (sed_extract_prog): ... this; revert to old extraction script.
30649         (func_get_description, func_get_status)
30650         (func_get_notice, func_get_applicability, func_get_filelist)
30651         (func_get_dependencies, func_get_autoconf_early_snippet)
30652         (func_get_autoconf_snippet, func_get_automake_snippet)
30653         (func_get_include_directive, func_get_link_directive)
30654         (func_get_license, func_get_maintainer): If $do_cache is false,
30655         use old, non-caching extraction scripts.
30656         Suggestion by Bruno Haible.
30657
30658 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30659
30660         gnulib-tool: cache module metainformation.
30661         * gnulib-tool (sed_extract_prog): Match newline before each
30662         header, and rewrite header to a shell variable suffix.
30663         (func_cache_var, func_cache_lookup_module): New functions,
30664         to turn a module name into a cache variable prefix, and to
30665         look up and cache module metainformation.
30666         (func_get_description, func_get_status)
30667         (func_get_notice, func_get_applicability, func_get_filelist)
30668         (func_get_dependencies, func_get_autoconf_early_snippet)
30669         (func_get_autoconf_snippet, func_get_automake_snippet)
30670         (func_get_include_directive, func_get_link_directive)
30671         (func_get_license, func_get_maintainer): Use
30672         func_cache_lookup_module.
30673
30674 2010-02-07  Bruno Haible  <bruno@clisp.org>
30675
30676         fnctl: Fix missing dependency.
30677         * modules/fcntl (Depends-on): Add getdtablesize.
30678         Reported by John W. Eaton <jwe@gnu.org>.
30679
30680 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30681
30682         Argp: fix recognition of short alias options.
30683
30684         * lib/argp-parse.c (convert_options): Fix improper use of
30685         `|' between character values.
30686         * tests/test-argp.c (group1_option): New alias option
30687         --read (-r).
30688         (group1_parser): Special handling for 'r'.
30689         (test15): New test case.
30690         (test_fun): Add test15.
30691         * tests/test-argp-2.sh: Update expected --help and --usage
30692         outputs.
30693
30694 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30695
30696         * tests/test-argp.c: Fix indentation.
30697
30698 2010-02-04  Eric Blake  <ebb9@byu.net>
30699
30700         gettimeofday: expose type of second argument
30701         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
30702         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
30703         * tests/test-gettimeofday.c: Use it to silence warning.
30704         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
30705         the issue.
30706
30707 2010-02-03  Jim Meyering  <meyering@redhat.com>
30708
30709         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
30710         * lib/regcomp.c (TYPE_SIGNED): Define.
30711         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
30712
30713         regcomp.c: avoid a new -Wshadow warning
30714         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
30715
30716 2010-02-01  Jim Meyering  <meyering@redhat.com>
30717
30718         removing useless parentheses in cpp #define directives
30719         For motivation, see commit c0221df4, "define STREQ(a,b)
30720         consistently, removing useless parentheses"
30721         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
30722         * lib/mountlist.c (MNT_IGNORE): Likewise.
30723         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
30724
30725 2010-02-01  Eric Blake  <ebb9@byu.net>
30726
30727         sys_time: use link-warning
30728         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
30729         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
30730         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
30731         * modules/sys_time (Depends-on): Add warn-on-use.
30732         (Makefile.am): Always build replacement.
30733         (configure.ac): Update substitutions.
30734         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
30735         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
30736         bother with SYS_TIME_H.
30737         * modules/gettimeofday (configure.ac): Declare indicator.
30738         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
30739         in use.
30740
30741         closein-tests: silence compiler warning
30742         * tests/test-closein.c (main): Ignore fread result.
30743         * modules/closein-tests (Depends-on): Add ignore-value.
30744
30745         tests: silence warning about system return
30746         * tests/test-areadlink-with-size.c (main): Ignore system result.
30747         * tests/test-areadlink.c (main): Likewise.
30748         * tests/test-areadlinkat-with-size.c (main): Likewise.
30749         * tests/test-areadlinkat.c (main): Likewise.
30750         * tests/test-canonicalize-lgpl.c (main): Likewise.
30751         * tests/test-canonicalize.c (main): Likewise.
30752         * tests/test-chown.c (main): Likewise.
30753         * tests/test-fchownat.c (main): Likewise.
30754         * tests/test-fdutimensat.c (main): Likewise.
30755         * tests/test-fstatat.c (main): Likewise.
30756         * tests/test-futimens.c (main): Likewise.
30757         * tests/test-lchown.c (main): Likewise.
30758         * tests/test-link.c (main): Likewise.
30759         * tests/test-linkat.c (main): Likewise.
30760         * tests/test-lstat.c (main): Likewise.
30761         * tests/test-mkdir.c (main): Likewise.
30762         * tests/test-mkdirat.c (main): Likewise.
30763         * tests/test-mkfifo.c (main): Likewise.
30764         * tests/test-mkfifoat.c (main): Likewise.
30765         * tests/test-mknod.c (main): Likewise.
30766         * tests/test-readlink.c (main): Likewise.
30767         * tests/test-remove.c (main): Likewise.
30768         * tests/test-rename.c (main): Likewise.
30769         * tests/test-renameat.c (main): Likewise.
30770         * tests/test-rmdir.c (main): Likewise.
30771         * tests/test-symlink.c (main): Likewise.
30772         * tests/test-symlinkat.c (main): Likewise.
30773         * tests/test-unlink.c (main): Likewise.
30774         * tests/test-unlinkat.c (main): Likewise.
30775         * tests/test-utimens.c (main): Likewise.
30776         * tests/test-utimensat.c (main): Likewise.
30777         * modules/areadlink-tests (Depends-on): Add ignore-value.
30778         * modules/areadlink-with-size-tests (Depends-on): Likewise.
30779         * modules/areadlinkat-tests (Depends-on): Likewise.
30780         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
30781         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30782         * modules/canonicalize-tests (Depends-on): Likewise.
30783         * modules/chown-tests (Depends-on): Likewise.
30784         * modules/fdutimensat-tests (Depends-on): Likewise.
30785         * modules/futimens-tests (Depends-on): Likewise.
30786         * modules/lchown-tests (Depends-on): Likewise.
30787         * modules/link-tests (Depends-on): Likewise.
30788         * modules/linkat-tests (Depends-on): Likewise.
30789         * modules/lstat-tests (Depends-on): Likewise.
30790         * modules/mkdir-tests (Depends-on): Likewise.
30791         * modules/mkfifo-tests (Depends-on): Likewise.
30792         * modules/mkfifoat-tests (Depends-on): Likewise.
30793         * modules/mknod-tests (Depends-on): Likewise.
30794         * modules/openat-tests (Depends-on): Likewise.
30795         * modules/readlink-tests (Depends-on): Likewise.
30796         * modules/remove-tests (Depends-on): Likewise.
30797         * modules/rename-tests (Depends-on): Likewise.
30798         * modules/renameat-tests (Depends-on): Likewise.
30799         * modules/rmdir-tests (Depends-on): Likewise.
30800         * modules/symlink-tests (Depends-on): Likewise.
30801         * modules/symlinkat-tests (Depends-on): Likewise.
30802         * modules/unlink-tests (Depends-on): Likewise.
30803         * modules/utimens-tests (Depends-on): Likewise.
30804         * modules/utimensat-tests (Depends-on): Likewise.
30805
30806 2010-01-31  Bruno Haible  <bruno@clisp.org>
30807
30808         Perform the same test for many <math.h> functions.
30809         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
30810         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
30811         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
30812         of gl_MATHFUNC.
30813         * modules/acos (configure.ac): Likewise.
30814         * modules/asin (configure.ac): Likewise.
30815         * modules/atan (configure.ac): Likewise.
30816         * modules/atan2 (configure.ac): Likewise.
30817         * modules/cbrt (configure.ac): Likewise.
30818         * modules/copysign (configure.ac): Likewise.
30819         * modules/cos (configure.ac): Likewise.
30820         * modules/cosh (configure.ac): Likewise.
30821         * modules/erf (configure.ac): Likewise.
30822         * modules/erfc (configure.ac): Likewise.
30823         * modules/exp (configure.ac): Likewise.
30824         * modules/fmod (configure.ac): Likewise.
30825         * modules/hypot (configure.ac): Likewise.
30826         * modules/j0 (configure.ac): Likewise.
30827         * modules/j1 (configure.ac): Likewise.
30828         * modules/jn (configure.ac): Likewise.
30829         * modules/lgamma (configure.ac): Likewise.
30830         * modules/log (configure.ac): Likewise.
30831         * modules/log10 (configure.ac): Likewise.
30832         * modules/log1p (configure.ac): Likewise.
30833         * modules/pow (configure.ac): Likewise.
30834         * modules/remainder (configure.ac): Likewise.
30835         * modules/sin (configure.ac): Likewise.
30836         * modules/sinh (configure.ac): Likewise.
30837         * modules/tan (configure.ac): Likewise.
30838         * modules/tanh (configure.ac): Likewise.
30839         * modules/y0 (configure.ac): Likewise.
30840         * modules/y1 (configure.ac): Likewise.
30841         * modules/yn (configure.ac): Likewise.
30842         Suggested by Paolo Bonzini.
30843
30844 2010-01-31  Bruno Haible  <bruno@clisp.org>
30845
30846         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
30847
30848 2010-01-31  Bruno Haible  <bruno@clisp.org>
30849
30850         Work around getdelim() bug on FreeBSD 8.0.
30851         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
30852         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
30853         not work.
30854         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
30855         is 1.
30856         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
30857         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
30858         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
30859         a non-zero size.
30860         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
30861
30862 2010-01-31  Bruno Haible  <bruno@clisp.org>
30863
30864         Work around getline() bug on FreeBSD 8.0.
30865         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
30866         and a non-zero size.
30867         * tests/test-getline.c (main): Likewise.
30868         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
30869         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
30870
30871 2010-01-28  Eric Blake  <ebb9@byu.net>
30872
30873         regex: fix build failure
30874         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
30875         platforms.
30876
30877 2010-01-28  Jim Meyering  <meyering@redhat.com>
30878
30879         regex: do not ignore memory allocation failure
30880         * lib/regex_internal.c (create_cd_newstate): Detect
30881         re_node_set_init_copy failure.   Extracted from glibc commit
30882         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30883
30884         regex: sync more white-space changes from libc
30885         * lib/regex_internal.c: White-space only changes.
30886         * lib/regexec.c: Likewise.
30887
30888         regex: add many uses of __attribute_warn_unused_result__
30889         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
30890         * lib/regexec.c: Likewise.
30891         Extracted from a messy glibc commit.
30892
30893         regcomp.c: spelling and merge-artifact from glibc
30894         * lib/regcomp.c: Merge remainder of glibc's
30895         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30896
30897         regcomp.c: sync white-space changes from glibc
30898         * lib/regcomp.c: Merge to accommodate white space
30899         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30900
30901         regcomp.c: do not ignore internal return values
30902         * lib/regcomp.c: Do not ignore internal return values.
30903         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
30904         but without its white-space changes and spelling fixes.
30905
30906         regex_internal.h: define __attribute_warn_unused_result__
30907         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
30908
30909         maint: add a syntax-check rule to check for vulnerable Makefile.in
30910         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
30911
30912 2010-01-27  Jim Meyering  <meyering@redhat.com>
30913
30914         ncftpput-ftp: clean up spaces
30915         * build-aux/ncftpput-ftp: Make Copyright line consistent.
30916         Remove trailing blanks.
30917
30918 2010-01-27  Simon Josefsson  <simon@josefsson.org>
30919
30920         * build-aux/git-version-gen: Fix copyright statement.
30921         * build-aux/gnupload: Likewise.
30922         * tests/test-arcfour.c: Likewise.
30923         * tests/test-arctwo.c: Likewise.
30924         * tests/test-count-one-bits.c: Likewise.
30925         * tests/test-crc.c: Likewise.
30926         * tests/test-des.c: Likewise.
30927         * tests/test-gc-arcfour.c: Likewise.
30928         * tests/test-gc-arctwo.c: Likewise.
30929         * tests/test-gc-des.c: Likewise.
30930         * tests/test-gc-hmac-md5.c: Likewise.
30931         * tests/test-gc-hmac-sha1.c: Likewise.
30932         * tests/test-gc-md2.c: Likewise.
30933         * tests/test-gc-md4.c: Likewise.
30934         * tests/test-gc-md5.c: Likewise.
30935         * tests/test-gc-pbkdf2-sha1.c: Likewise.
30936         * tests/test-gc-rijndael.c: Likewise.
30937         * tests/test-gc-sha1.c: Likewise.
30938         * tests/test-gc.c: Likewise.
30939         * tests/test-gethostname.c: Likewise.
30940         * tests/test-gettimeofday.c: Likewise.
30941         * tests/test-hash.c: Likewise.
30942         * tests/test-hmac-md5.c: Likewise.
30943         * tests/test-hmac-sha1.c: Likewise.
30944         * tests/test-md2.c: Likewise.
30945         * tests/test-md4.c: Likewise.
30946         * tests/test-md5.c: Likewise.
30947         * tests/test-memchr.c: Likewise.
30948         * tests/test-memchr2.c: Likewise.
30949         * tests/test-memcmp.c: Likewise.
30950         * tests/test-memmem.c: Likewise.
30951         * tests/test-memrchr.c: Likewise.
30952         * tests/test-rawmemchr.c: Likewise.
30953         * tests/test-read-file.c: Likewise.
30954         * tests/test-rijndael.c: Likewise.
30955         * tests/test-sockets.c: Likewise.
30956         * tests/test-strchrnul.c: Likewise.
30957         * tests/test-strstr.c: Likewise.
30958         * tests/test-strtod.c: Likewise.
30959         * build-aux/ncftpput-ftp: Likewise.
30960
30961 2010-01-26  Eric Blake  <ebb9@byu.net>
30962
30963         ignore-value: update recommended header name
30964         * modules/ignore-value (Include): Only use <> for headers that
30965         exist in glibc.
30966
30967 2010-01-26  Jim Meyering  <meyering@redhat.com>
30968
30969         test-userspec.c: avoid compiler warnings
30970         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
30971         and "initialization discards qualifiers..." warnings.
30972         Put the first "uid" in its own scope, and make char* members "const".
30973
30974 2010-01-25  Bruno Haible  <bruno@clisp.org>
30975
30976         gnulib-tool: Make warning diagnostics consistent.
30977         * gnulib-tool (func_warning): New function.
30978         Use it everywhere where gnulib-tool produces output to stderr and it is
30979         not a fatal error.
30980
30981 2010-01-25  Bruno Haible  <bruno@clisp.org>
30982
30983         Fix test dependencies.
30984         * modules/xstrtol-tests (Depends-on): Add inttypes.
30985         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
30986
30987 2010-01-25 Pádraig Brady <P@draigBrady.com>
30988
30989         syntax-check: detect incorrect boolean macro values in config.h
30990         * modules/maintainer-makefile (configure.ac): Parameterize the location
30991         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
30992         The logic is from Eric Blake and the location indicated by Jim Meyering.
30993         Note the more natural CONFIG_HEADER name is prohibited by automake
30994         for backwards compatibility reasons.
30995         * top/maint.mk (sc_Wundef_boolean): New rule.
30996
30997 2010-01-25  Jim Meyering  <meyering@redhat.com>
30998
30999         bootstrap: detect MacOS 10.6's shasum, too
31000         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31001         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31002
31003 2010-01-23  Jim Meyering  <meyering@redhat.com>
31004
31005         xstrtoll: new module
31006         * modules/xstrtoll: New file.
31007         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31008         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31009         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31010         ./configure fails if you use this module and lack "long long".
31011         * modules/xstrtoll-tests: New module.
31012         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31013         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31014         new init.sh-based test framework.
31015
31016 2010-01-24  Bruno Haible  <bruno@clisp.org>
31017
31018         Tests for module 'yn'.
31019         * modules/yn-tests: New file.
31020         * tests/test-yn.c: New file.
31021
31022         Tests for module 'y1'.
31023         * modules/y1-tests: New file.
31024         * tests/test-y1.c: New file.
31025
31026         Tests for module 'y0'.
31027         * modules/y0-tests: New file.
31028         * tests/test-y0.c: New file.
31029
31030         Tests for module 'tanh'.
31031         * modules/tanh-tests: New file.
31032         * tests/test-tanh.c: New file.
31033
31034         Tests for module 'tan'.
31035         * modules/tan-tests: New file.
31036         * tests/test-tan.c: New file.
31037
31038         Tests for module 'sqrt'.
31039         * modules/sqrt-tests: New file.
31040         * tests/test-sqrt.c: New file.
31041
31042         Tests for module 'sinh'.
31043         * modules/sinh-tests: New file.
31044         * tests/test-sinh.c: New file.
31045
31046         Tests for module 'sin'.
31047         * modules/sin-tests: New file.
31048         * tests/test-sin.c: New file.
31049
31050         Tests for module 'rint'.
31051         * modules/rint-tests: New file.
31052         * tests/test-rint.c: New file.
31053
31054         Tests for module 'remainder'.
31055         * modules/remainder-tests: New file.
31056         * tests/test-remainder.c: New file.
31057
31058         Tests for module 'pow'.
31059         * modules/pow-tests: New file.
31060         * tests/test-pow.c: New file.
31061
31062         Tests for module 'nextafter'.
31063         * modules/nextafter-tests: New file.
31064         * tests/test-nextafter.c: New file.
31065
31066         Tests for module 'modf'.
31067         * modules/modf-tests: New file.
31068         * tests/test-modf.c: New file.
31069
31070         Tests for module 'logb'.
31071         * modules/logb-tests: New file.
31072         * tests/test-logb.c: New file.
31073
31074         Tests for module 'log1p'.
31075         * modules/log1p-tests: New file.
31076         * tests/test-log1p.c: New file.
31077
31078         Tests for module 'log10'.
31079         * modules/log10-tests: New file.
31080         * tests/test-log10.c: New file.
31081
31082         Tests for module 'log'.
31083         * modules/log-tests: New file.
31084         * tests/test-log.c: New file.
31085
31086         Tests for module 'lgamma'.
31087         * modules/lgamma-tests: New file.
31088         * tests/test-lgamma.c: New file.
31089
31090         Tests for module 'ldexp'.
31091         * modules/ldexp-tests: New file.
31092         * tests/test-ldexp.c: New file.
31093
31094         Tests for module 'jn'.
31095         * modules/jn-tests: New file.
31096         * tests/test-jn.c: New file.
31097
31098         Tests for module 'j1'.
31099         * modules/j1-tests: New file.
31100         * tests/test-j1.c: New file.
31101
31102         Tests for module 'j0'.
31103         * modules/j0-tests: New file.
31104         * tests/test-j0.c: New file.
31105
31106         Tests for module 'hypot'.
31107         * modules/hypot-tests: New file.
31108         * tests/test-hypot.c: New file.
31109
31110         Tests for module 'fmod'.
31111         * modules/fmod-tests: New file.
31112         * tests/test-fmod.c: New file.
31113
31114         Tests for module 'fabs'.
31115         * modules/fabs-tests: New file.
31116         * tests/test-fabs.c: New file.
31117
31118         Tests for module 'exp'.
31119         * modules/exp-tests: New file.
31120         * tests/test-exp.c: New file.
31121
31122         Tests for module 'erfc'.
31123         * modules/erfc-tests: New file.
31124         * tests/test-erfc.c: New file.
31125
31126         Tests for module 'erf'.
31127         * modules/erf-tests: New file.
31128         * tests/test-erf.c: New file.
31129
31130         Tests for module 'cosh'.
31131         * modules/cosh-tests: New file.
31132         * tests/test-cosh.c: New file.
31133
31134         Tests for module 'cos'.
31135         * modules/cos-tests: New file.
31136         * tests/test-cos.c: New file.
31137
31138         Tests for module 'copysign'.
31139         * modules/copysign-tests: New file.
31140         * tests/test-copysign.c: New file.
31141
31142         Tests for module 'cbrt'.
31143         * modules/cbrt-tests: New file.
31144         * tests/test-cbrt.c: New file.
31145
31146         Tests for module 'atan2'.
31147         * modules/atan2-tests: New file.
31148         * tests/test-atan2.c: New file.
31149
31150         Tests for module 'atan'.
31151         * modules/atan-tests: New file.
31152         * tests/test-atan.c: New file.
31153
31154         Tests for module 'asin'.
31155         * modules/asin-tests: New file.
31156         * tests/test-asin.c: New file.
31157
31158         Tests for module 'acos'.
31159         * modules/acos-tests: New file.
31160         * tests/test-acos.c: New file.
31161
31162 2010-01-24  Bruno Haible  <bruno@clisp.org>
31163
31164         Fix tests for common <math.h> functions.
31165         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
31166         code snippet that references the function pointer, rather than merely
31167         calling the function. Substitute the FUNC_LIBM variable.
31168         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31169         * modules/acos (configure.ac): Likewise.
31170         * modules/asin (configure.ac): Likewise.
31171         * modules/atan (configure.ac): Likewise.
31172         * modules/atan2 (configure.ac): Likewise.
31173         * modules/cbrt (configure.ac): Likewise.
31174         * modules/copysign (configure.ac): Likewise.
31175         * modules/cos (configure.ac): Likewise.
31176         * modules/cosh (configure.ac): Likewise.
31177         * modules/erf (configure.ac): Likewise.
31178         * modules/erfc (configure.ac): Likewise.
31179         * modules/exp (configure.ac): Likewise.
31180         * modules/fabs (configure.ac): Likewise.
31181         * modules/fmod (configure.ac): Likewise.
31182         * modules/hypot (configure.ac): Likewise.
31183         * modules/j0 (configure.ac): Likewise.
31184         * modules/j1 (configure.ac): Likewise.
31185         * modules/jn (configure.ac): Likewise.
31186         * modules/ldexp (configure.ac): Likewise.
31187         * modules/lgamma (configure.ac): Likewise.
31188         * modules/log (configure.ac): Likewise.
31189         * modules/log10 (configure.ac): Likewise.
31190         * modules/log1p (configure.ac): Likewise.
31191         * modules/logb (configure.ac): Likewise.
31192         * modules/modf (configure.ac): Likewise.
31193         * modules/nextafter (configure.ac): Likewise.
31194         * modules/pow (configure.ac): Likewise.
31195         * modules/remainder (configure.ac): Likewise.
31196         * modules/rint (configure.ac): Likewise.
31197         * modules/sin (configure.ac): Likewise.
31198         * modules/sinh (configure.ac): Likewise.
31199         * modules/tan (configure.ac): Likewise.
31200         * modules/tanh (configure.ac): Likewise.
31201         * modules/y0 (configure.ac): Likewise.
31202         * modules/y1 (configure.ac): Likewise.
31203         * modules/yn (configure.ac): Likewise.
31204
31205 2010-01-24  Bruno Haible  <bruno@clisp.org>
31206
31207         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
31208         * tests/test-acosl.c (x): New variable.
31209         (main): Store argument in x and fetch it from x.
31210         * tests/test-asinl.c (x): New variable.
31211         (main): Store argument in x and fetch it from x.
31212         * tests/test-atanl.c (x): New variable.
31213         (main): Store argument in x and fetch it from x.
31214         * tests/test-cosl.c (x): New variable.
31215         (main): Store argument in x and fetch it from x.
31216         * tests/test-expl.c (x): New variable.
31217         (main): Store argument in x and fetch it from x.
31218         * tests/test-logl.c (x): New variable.
31219         (main): Store argument in x and fetch it from x.
31220         * tests/test-sinl.c (x): New variable.
31221         (main): Store argument in x and fetch it from x.
31222         * tests/test-sqrtl.c (x): New variable.
31223         (main): Store argument in x and fetch it from x.
31224         * tests/test-tanl.c (x): New variable.
31225         (main): Store argument in x and fetch it from x.
31226
31227 2010-01-24  Bruno Haible  <bruno@clisp.org>
31228
31229         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
31230         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
31231         assignments to the initial TESTS_ENVIRONMENT.
31232         * doc/gnulib.texi (Unit test modules): Document it.
31233         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
31234         TESTS_ENVIRONMENT.
31235         * modules/btowc-tests (Makefile.am): Likewise.
31236         * modules/c-stack-tests (Makefile.am): Likewise.
31237         * modules/c-strcase-tests (Makefile.am): Likewise.
31238         * modules/copy-file-tests (Makefile.am): Likewise.
31239         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
31240         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
31241         * modules/mbrtowc-tests (Makefile.am): Likewise.
31242         * modules/mbscasecmp-tests (Makefile.am): Likewise.
31243         * modules/mbscasestr-tests (Makefile.am): Likewise.
31244         * modules/mbschr-tests (Makefile.am): Likewise.
31245         * modules/mbscspn-tests (Makefile.am): Likewise.
31246         * modules/mbsinit-tests (Makefile.am): Likewise.
31247         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
31248         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
31249         * modules/mbspbrk-tests (Makefile.am): Likewise.
31250         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
31251         * modules/mbsrchr-tests (Makefile.am): Likewise.
31252         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
31253         * modules/mbsspn-tests (Makefile.am): Likewise.
31254         * modules/mbsstr-tests (Makefile.am): Likewise.
31255         * modules/nl_langinfo-tests (Makefile.am): Likewise.
31256         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
31257         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
31258         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
31259         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
31260         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
31261         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
31262         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
31263         * modules/wcrtomb-tests (Makefile.am): Likewise.
31264         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
31265         * modules/wcsrtombs-tests (Makefile.am): Likewise.
31266         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
31267         assignments from TESTS_ENVIRONMENT.
31268         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
31269         augmentation.
31270         * modules/argp-version-etc-tests (Makefile.am): Likewise.
31271         * modules/atexit-tests (Makefile.am): Likewise.
31272         * modules/binary-io-tests (Makefile.am): Likewise.
31273         * modules/closein-tests (Makefile.am): Likewise.
31274         * modules/dprintf-posix-tests (Makefile.am): Likewise.
31275         * modules/exclude-tests (Makefile.am): Likewise.
31276         * modules/fflush-tests (Makefile.am): Likewise.
31277         * modules/fpending-tests (Makefile.am): Likewise.
31278         * modules/fprintf-posix-tests (Makefile.am): Likewise.
31279         * modules/freadahead-tests (Makefile.am): Likewise.
31280         * modules/freadptr-tests (Makefile.am): Likewise.
31281         * modules/freadseek-tests (Makefile.am): Likewise.
31282         * modules/fseek-tests (Makefile.am): Likewise.
31283         * modules/fseeko-tests (Makefile.am): Likewise.
31284         * modules/ftell-tests (Makefile.am): Likewise.
31285         * modules/ftello-tests (Makefile.am): Likewise.
31286         * modules/idpriv-drop-tests (Makefile.am): Likewise.
31287         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
31288         * modules/lseek-tests (Makefile.am): Likewise.
31289         * modules/parse-duration-tests (Makefile.am): Likewise.
31290         * modules/perror-tests (Makefile.am): Likewise.
31291         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
31292         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
31293         * modules/pipe-tests (Makefile.am): Likewise.
31294         * modules/pread-tests (Makefile.am): Likewise.
31295         * modules/printf-posix-tests (Makefile.am): Likewise.
31296         * modules/select-tests (Makefile.am): Likewise.
31297         * modules/sigpipe-tests (Makefile.am): Likewise.
31298         * modules/tsearch-tests (Makefile.am): Likewise.
31299         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
31300         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
31301         * modules/uniname/uniname-tests (Makefile.am): Likewise.
31302         * modules/uniwidth/width-tests (Makefile.am): Likewise.
31303         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
31304         * modules/version-etc-tests (Makefile.am): Likewise.
31305         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
31306         * modules/vprintf-posix-tests (Makefile.am): Likewise.
31307         * modules/xalloc-die-tests (Makefile.am): Likewise.
31308         * modules/xprintf-posix-tests (Makefile.am): Likewise.
31309         * modules/xstrtoimax-tests (Makefile.am): Likewise.
31310         * modules/xstrtol-tests (Makefile.am): Likewise.
31311         * modules/xstrtoumax-tests (Makefile.am): Likewise.
31312         * modules/yesno-tests (Makefile.am): Likewise.
31313         Suggested by Jim Meyering.
31314
31315 2010-01-24  Bruno Haible  <bruno@clisp.org>
31316
31317         More documentation.
31318         * doc/gnulib.texi (Writing modules): New chapter.
31319         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
31320         the new chapter.
31321
31322 2010-01-24  Jim Meyering  <meyering@redhat.com>
31323
31324         maint.mk: do not prepend "./" after filtering
31325         * top/maint.mk (_prepend_srcdir_prefix): New variable
31326         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
31327         "./" when $(srcdir) is ".".
31328
31329         define STREQ(a,b) consistently, removing useless parentheses
31330         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
31331         since the only risk is that "a" or "b" contains an unparenthesized
31332         comma, but if either did that, STREQ would have 3 or more arguments.
31333         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
31334         * lib/fts.c (STREQ): Remove unnecessary parentheses.
31335         * lib/hash-triple.c (STREQ): Likewise.
31336         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
31337         * lib/getugroups.c (STREQ): Likewise.
31338
31339 2010-01-23  Jim Meyering  <meyering@redhat.com>
31340
31341         maint.mk: fix syntax-check in a non-srcdir build directory
31342         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
31343         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
31344
31345 2010-01-22  Jim Meyering  <meyering@redhat.com>
31346
31347         userspec: add unit tests
31348         * tests/test-userspec.c: New file.
31349         * modules/userspec-tests: Likewise.
31350
31351 2010-01-21  Jim Meyering  <meyering@redhat.com>
31352
31353         maint.mk: handle source file names containing "." robustly
31354         * top/maint.mk (_dot_escaped_srcdir): Define.
31355         (VC_LIST): Use it in LHS of sed substitution.
31356
31357 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
31358
31359         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
31360         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
31361         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
31362         from a non-srcdir build.
31363
31364 2010-01-20  Eric Blake  <ebb9@byu.net>
31365
31366         warn-on-use: use instead of link-warning
31367         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
31368         * modules/unistd (Depends-on, Makefile.am): Likewise.
31369         * modules/arpa_inet (Depends-on): Replace link-warning with
31370         warn-on-use.
31371         (Makefile.am): Update rules accordingly.
31372         * modules/ctype (Depends-on, Makefile.am): Likewise.
31373         * modules/dirent (Depends-on, Makefile.am): Likewise.
31374         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
31375         * modules/inttypes (Depends-on, Makefile.am): Likewise.
31376         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31377         * modules/locale (Depends-on, Makefile.am): Likewise.
31378         * modules/math (Depends-on, Makefile.am): Likewise.
31379         * modules/search (Depends-on, Makefile.am): Likewise.
31380         * modules/signal (Depends-on, Makefile.am): Likewise.
31381         * modules/spawn (Depends-on, Makefile.am): Likewise.
31382         * modules/stdlib (Depends-on, Makefile.am): Likewise.
31383         * modules/string (Depends-on, Makefile.am): Likewise.
31384         * modules/strings (Depends-on, Makefile.am): Likewise.
31385         * modules/sys_file (Depends-on, Makefile.am): Likewise.
31386         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
31387         * modules/sys_select (Depends-on, Makefile.am): Likewise.
31388         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
31389         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
31390         * modules/sys_times (Depends-on, Makefile.am): Likewise.
31391         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31392         * modules/wchar (Depends-on, Makefile.am): Likewise.
31393         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
31394         should be poisoned.
31395         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
31396         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
31397         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
31398         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31399         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31400         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31401         * m4/math_h.m4 (gl_MATH_H): Likewise.
31402         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31403         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31404         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31405         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31406         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31407         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31408         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
31409         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
31410         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
31411         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31412         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31413         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31414         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31415         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31416         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31417         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31418         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
31419         GL_LINK_WARNING.
31420         * lib/ctype.in.h: Likewise.
31421         * lib/dirent.in.h: Likewise.
31422         * lib/fcntl.in.h: Likewise.
31423         * lib/inttypes.in.h: Likewise.
31424         * lib/langinfo.in.h: Likewise.
31425         * lib/locale.in.h: Likewise.
31426         * lib/math.in.h: Likewise.
31427         * lib/search.in.h: Likewise.
31428         * lib/signal.in.h: Likewise.
31429         * lib/spawn.in.h: Likewise.
31430         * lib/stdio.in.h: Likewise.
31431         * lib/stdlib.in.h: Likewise.
31432         * lib/string.in.h: Likewise.
31433         * lib/strings.in.h: Likewise.
31434         * lib/sys_file.in.h: Likewise.
31435         * lib/sys_ioctl.in.h: Likewise.
31436         * lib/sys_select.in.h: Likewise.
31437         * lib/sys_socket.in.h: Likewise.
31438         * lib/sys_stat.in.h: Likewise.
31439         * lib/sys_times.in.h: Likewise.
31440         * lib/sys_utsname.in.h: Likewise.
31441         * lib/unistd.in.h: Likewise.
31442         * lib/wchar.in.h: Likewise.
31443
31444 2010-01-20  Bruno Haible  <bruno@clisp.org>
31445
31446         Avoid duplicate -lm.
31447         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
31448         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
31449         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
31450         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
31451         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
31452         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
31453         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
31454         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
31455         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
31456         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
31457         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
31458         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31459         Reported by Paolo Bonzini.
31460
31461 2010-01-19  Bruno Haible  <bruno@clisp.org>
31462
31463         langinfo, nl_langinfo: Relicense under LGPLv2+.
31464         * modules/langinfo (License): Change to LGPLv2+.
31465         * modules/nl_langinfo (License): Likewise.
31466         Patch by David Lutterkort <lutter@redhat.com>.
31467
31468 2010-01-19  Bruno Haible  <bruno@clisp.org>
31469
31470         Avoid compilation error with cc on OSF/1 5.1.
31471         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
31472         statement, not before.
31473         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31474
31475 2010-01-18  Bruno Haible  <bruno@clisp.org>
31476
31477         Avoid a link error due to the __printf__ symbol.
31478         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
31479         and 2.6.x.
31480         (__format__, __printf__): Remove definitions.
31481         * lib/argp-fmtstream.h: Likewise.
31482         * lib/argp.h: Likewise.
31483         * lib/error.h: Likewise.
31484         * lib/vasnprintf.h: Likewise.
31485         * lib/xprintf.h: Likewise.
31486         * lib/xvasprintf.h: Likewise.
31487         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31488
31489 2010-01-18  Bruno Haible  <bruno@clisp.org>
31490
31491         Tests for module 'tanl'.
31492         * modules/tanl-tests: New file.
31493         * tests/test-tanl.c: New file.
31494
31495         Tests for module 'sqrtl'.
31496         * modules/sqrtl-tests: New file.
31497         * tests/test-sqrtl.c: New file.
31498
31499         Tests for module 'sinl'.
31500         * modules/sinl-tests: New file.
31501         * tests/test-sinl.c: New file.
31502
31503         Tests for module 'logl'.
31504         * modules/logl-tests: New file.
31505         * tests/test-logl.c: New file.
31506
31507         Tests for module 'expl'.
31508         * modules/expl-tests: New file.
31509         * tests/test-expl.c: New file.
31510
31511         Tests for module 'cosl'.
31512         * modules/cosl-tests: New file.
31513         * tests/test-cosl.c: New file.
31514
31515         Tests for module 'atanl'.
31516         * modules/atanl-tests: New file.
31517         * tests/test-atanl.c: New file.
31518
31519         Tests for module 'asinl'.
31520         * modules/asinl-tests: New file.
31521         * tests/test-asinl.c: New file.
31522
31523         Tests for module 'acosl'.
31524         * modules/acosl-tests: New file.
31525         * tests/test-acosl.c: New file.
31526
31527         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31528         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
31529         tanl): Use the standard gnulib idiom.
31530         * lib/cosl.c: Don't include trigl.c and sincosl.c.
31531         * lib/sinl.c: Likewise.
31532         * lib/tanl.c: Don't include trigl.c.
31533         (kernel_tanl): Make static.
31534         * lib/sincosl.c: Include trigl.h first.
31535         * lib/trigl.c: Likewise.
31536         * m4/acosl.m4: New file.
31537         * m4/asinl.m4: New file.
31538         * m4/atanl.m4: New file.
31539         * m4/cosl.m4: New file.
31540         * m4/expl.m4: New file.
31541         * m4/logl.m4: New file.
31542         * m4/sinl.m4: New file.
31543         * m4/sqrtl.m4: New file.
31544         * m4/tanl.m4: New file.
31545         * m4/mathl.m4: Remove file.
31546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
31547         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31548         Don't initialize GNULIB_MATHL.
31549         * modules/acosl: New file.
31550         * modules/asinl: New file.
31551         * modules/atanl: New file.
31552         * modules/cosl: New file.
31553         * modules/expl: New file.
31554         * modules/logl: New file.
31555         * modules/sinl: New file.
31556         * modules/sqrtl: New file.
31557         * modules/tanl: New file.
31558         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
31559         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
31560         substitute GNULIB_MATHL.
31561         * modules/mathl: Rewritten.
31562         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
31563         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
31564         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
31565         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
31566         * doc/posix-functions/expl.texi: Mention the 'expl' module.
31567         * doc/posix-functions/logl.texi: Mention the 'logl' module.
31568         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
31569         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
31570         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
31571
31572 2010-01-18  Bruno Haible  <bruno@clisp.org>
31573
31574         sqrt: Make gl_FUNC_SQRT requirable.
31575         * m4/sqrt.m4: New file.
31576         * modules/sqrt (Files): Add it.
31577         (configure.ac): Invoke gl_FUNC_SQRT.
31578
31579 2010-01-18  Bruno Haible  <bruno@clisp.org>
31580
31581         New modules for common <math.h> functions.
31582         * m4/mathfunc.m4: New file.
31583         * modules/acos: New file.
31584         * modules/asin: New file.
31585         * modules/atan: New file.
31586         * modules/atan2: New file.
31587         * modules/cbrt: New file.
31588         * modules/copysign: New file.
31589         * modules/cos: New file.
31590         * modules/cosh: New file.
31591         * modules/erf: New file.
31592         * modules/erfc: New file.
31593         * modules/exp: New file.
31594         * modules/fabs: New file.
31595         * modules/fmod: New file.
31596         * modules/hypot: New file.
31597         * modules/j0: New file.
31598         * modules/j1: New file.
31599         * modules/jn: New file.
31600         * modules/ldexp: New file.
31601         * modules/lgamma: New file.
31602         * modules/log: New file.
31603         * modules/log10: New file.
31604         * modules/log1p: New file.
31605         * modules/logb: New file.
31606         * modules/modf: New file.
31607         * modules/nextafter: New file.
31608         * modules/pow: New file.
31609         * modules/remainder: New file.
31610         * modules/rint: New file.
31611         * modules/sin: New file.
31612         * modules/sinh: New file.
31613         * modules/sqrt: New file.
31614         * modules/tan: New file.
31615         * modules/tanh: New file.
31616         * modules/y0: New file.
31617         * modules/y1: New file.
31618         * modules/yn: New file.
31619         * doc/posix-functions/acos.texi: Mention the 'acos' module.
31620         * doc/posix-functions/asin.texi: Mention the 'asin' module.
31621         * doc/posix-functions/atan.texi: Mention the 'atan' module.
31622         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
31623         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
31624         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
31625         * doc/posix-functions/cos.texi: Mention the 'cos' module.
31626         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
31627         * doc/posix-functions/erf.texi: Mention the 'erf' module.
31628         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
31629         * doc/posix-functions/exp.texi: Mention the 'exp' module.
31630         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
31631         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
31632         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
31633         * doc/posix-functions/j0.texi: Mention the 'j0' module.
31634         * doc/posix-functions/j1.texi: Mention the 'j1' module.
31635         * doc/posix-functions/jn.texi: Mention the 'jn' module.
31636         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
31637         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
31638         * doc/posix-functions/log.texi: Mention the 'log' module.
31639         * doc/posix-functions/log10.texi: Mention the 'log10' module.
31640         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
31641         * doc/posix-functions/logb.texi: Mention the 'logb' module.
31642         * doc/posix-functions/modf.texi: Mention the 'modf' module.
31643         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
31644         * doc/posix-functions/pow.texi: Mention the 'pow' module.
31645         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
31646         * doc/posix-functions/rint.texi: Mention the 'rint' module.
31647         * doc/posix-functions/sin.texi: Mention the 'sin' module.
31648         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
31649         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
31650         * doc/posix-functions/tan.texi: Mention the 'tan' module.
31651         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
31652         * doc/posix-functions/y0.texi: Mention the 'y0' module.
31653         * doc/posix-functions/y1.texi: Mention the 'y1' module.
31654         * doc/posix-functions/yn.texi: Mention the 'yn' module.
31655
31656 2010-01-18  Jim Meyering  <meyering@redhat.com>
31657
31658         ignore-value: relax license to LGPLv2+
31659         * modules/ignore-value (License): Relax to LGPLv2+.
31660
31661         getdate: don't leak when TZ contains two or more '"'s
31662         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
31663         double quote in TZ after the first one.
31664
31665         readtokens: do not leak internal token_lengths buffer
31666         * lib/readtokens.c (readtokens): Free the local, lengths,
31667         when the supplied "token_lengths" parameter is NULL.
31668
31669 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31670
31671         Fix a couple of missing LIBTHREAD link failures on AIX.
31672         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
31673         $(LIBTHREAD).
31674         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
31675
31676         Link test-poll against INET_PTON_LIB.
31677         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
31678         for inet_pton on Solaris 10.
31679
31680 2010-01-17  Bruno Haible  <bruno@clisp.org>
31681
31682         unistdio/*-sprintf: Fix typo in module description.
31683         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
31684         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
31685         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
31686         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
31687         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
31688         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
31689         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
31690         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31691
31692 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31693
31694         gnulib-tool: fix filelist for AIX, HP-UX ksh.
31695         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
31696         variables in shell case patterns, for AIX and HP-UX ksh.
31697
31698         Split large sed scripts, for HP-UX sed.
31699         * modules/stdio: Split sed scripts around 50 sed commands,
31700         to avoid HP-UX limit of 99 commands, in the near future.
31701         * modules/string: Likewise.
31702         * modules/unistd: Likewise.
31703
31704         gnulib-tool: avoid writing in the current directory.
31705         * gnulib-tool (func_emit_lib_Makefile_am)
31706         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
31707         not in the current directory, so concurrent gnulib-tool
31708         instances do not interfere.
31709
31710 2010-01-16  Jim Meyering  <meyering@redhat.com>
31711
31712         doc: update users.txt
31713         * users.txt: Add grep.
31714         (diffutils, gzip): Update URLs.
31715
31716 2010-01-12  Bruno Haible  <bruno@clisp.org>
31717
31718         posix_spawn: Avoid test failure on Cygwin.
31719         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
31720         characters.
31721         Reported by Simon Josefsson.
31722
31723 2010-01-12  Bruno Haible  <bruno@clisp.org>
31724
31725         * tests/test-cond.c (main): When skipping the test, show the reason.
31726
31727 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31728
31729         * lib/striconv.c (str_cd_iconv): Avoid if before free.
31730
31731 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31732
31733         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
31734         VC_LIST_ALWAYS_EXCLUDE_REGEX.
31735
31736 2010-01-12  Eric Blake  <ebb9@byu.net>
31737
31738         build: guarantee AS_VAR_IF
31739         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
31740         (gl_AS_VAR_IF): Move...
31741         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
31742         Reported by Simon Josefsson.
31743
31744 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31745
31746         * lib/stdio.in.h: Fix typo.
31747
31748 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31749
31750         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
31751         libgpg-error.
31752
31753 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31754
31755         * tests/test-xalloc-die.sh: Use $EXEEXT.
31756
31757 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31758             Bruno Haible  <bruno@clisp.org>
31759
31760         getlogin, getlogin_r: Avoid test failure.
31761         * tests/test-getlogin.c: Include <stdio.h>.
31762         (main): Skip the test when the function fails because stdin is not a
31763         tty.
31764         * tests/test-getlogin_r.c: Include <stdio.h>.
31765         (main): Skip the test when the function fails because stdin is not a
31766         tty.
31767
31768 2010-01-11  Eric Blake  <ebb9@byu.net>
31769
31770         tests: avoid more large file warnings
31771         * tests/test-fflush.c: Avoid warning about ftell use.
31772         * tests/test-fseek.c: Avoid warning about fseek use.
31773
31774 2010-01-10  Bruno Haible  <bruno@clisp.org>
31775
31776         nproc: Work better on Linux when /proc and /sys are not mounted.
31777         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
31778         as lower bound when, on glibc/Linux systems,
31779         sysconf (_SC_NPROCESSORS_CONF) returns 1.
31780         Suggested by Pádraig Brady <P@draigbrady.com>.
31781         Reported by Dmitry V. Levin <ldv@altlinux.org>.
31782
31783         nproc: Refactor.
31784         * lib/nproc.c (num_processors_via_affinity_mask): New function,
31785         extracted from num_processors.
31786         (num_processors): Call it.
31787
31788 2010-01-11  Jim Meyering  <meyering@redhat.com>
31789
31790         utimecmp: avoid new warning from upcoming gcc-4.5.0
31791         * lib/utimecmp.c (BILLION): Define using #define rather than an
31792         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
31793
31794 2010-01-11  Eric Blake  <ebb9@byu.net>
31795
31796         math: add portability warnings for classification macros
31797         * modules/math (Depends-on): Add warn-on-use.
31798         (Makefile.am): Provide new substitutions.
31799         * m4/math_h.m4 (gl_MATH_H): Require inline.
31800         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
31801         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
31802         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
31803         implement warnings.
31804
31805         unistd: warn on use of environ without module
31806         * modules/unistd (Depends-on): Add warn-on-use.
31807         (Makefile.am): Provide new substitutions.
31808         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
31809         * lib/unistd.in.h (environ): Wrap with a warning helper function.
31810
31811         stdio: warn on suspicious uses
31812         * modules/stdio (Depends-on): Add warn-on-use.
31813         (Makefile.am): Provide new substitutions.
31814         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
31815         fseeko.
31816         * lib/stdio.in.h (gets): Always warn on use.
31817         (fseek, ftell): Adjust when warnings are issued, and honor
31818         _GL_NO_LARGE_FILES as a way to silence the warning.
31819         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
31820         any warning about large file offsets.
31821         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
31822         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
31823         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
31824         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
31825         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
31826         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
31827         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
31828         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
31829
31830         warn-on-use: new module
31831         * modules/warn-on-use: New file.
31832         * build-aux/warn-on-use.h: Likewise.
31833         * m4/warn-on-use.m4: Likewise.
31834         * MODULES.html.sh (Support for building): Mention it.
31835
31836 2010-01-10  Bruno Haible  <bruno@clisp.org>
31837
31838         Tests for module 'unistr/u32-strdup'.
31839         * modules/unistr/u32-strdup-tests: New file.
31840         * tests/unistr/test-u32-strdup.c: New file.
31841
31842         Tests for module 'unistr/u16-strdup'.
31843         * modules/unistr/u16-strdup-tests: New file.
31844         * tests/unistr/test-u16-strdup.c: New file.
31845
31846         Tests for module 'unistr/u8-strdup'.
31847         * modules/unistr/u8-strdup-tests: New file.
31848         * tests/unistr/test-u8-strdup.c: New file.
31849         * tests/unistr/test-strdup.h: New file.
31850
31851         Tests for module 'unistr/u32-strncmp'.
31852         * modules/unistr/u32-strncmp-tests: New file.
31853         * tests/unistr/test-u32-strncmp.c: New file.
31854
31855         Tests for module 'unistr/u16-strncmp'.
31856         * modules/unistr/u16-strncmp-tests: New file.
31857         * tests/unistr/test-u16-strncmp.c: New file.
31858
31859         Tests for module 'unistr/u8-strncmp'.
31860         * modules/unistr/u8-strncmp-tests: New file.
31861         * tests/unistr/test-u8-strncmp.c: New file.
31862         * tests/unistr/test-strncmp.h: New file.
31863
31864         Tests for module 'unistr/u32-strcoll'.
31865         * modules/unistr/u32-strcoll-tests: New file.
31866         * tests/unistr/test-u32-strcoll.c: New file.
31867
31868         Tests for module 'unistr/u16-strcoll'.
31869         * modules/unistr/u16-strcoll-tests: New file.
31870         * tests/unistr/test-u16-strcoll.c: New file.
31871
31872         Tests for module 'unistr/u8-strcoll'.
31873         * modules/unistr/u8-strcoll-tests: New file.
31874         * tests/unistr/test-u8-strcoll.c: New file.
31875
31876         Tests for module 'unistr/u32-strcmp'.
31877         * modules/unistr/u32-strcmp-tests: New file.
31878         * tests/unistr/test-u32-strcmp.c: New file.
31879         * tests/unistr/test-u32-strcmp.h: New file.
31880
31881         Tests for module 'unistr/u16-strcmp'.
31882         * modules/unistr/u16-strcmp-tests: New file.
31883         * tests/unistr/test-u16-strcmp.c: New file.
31884         * tests/unistr/test-u16-strcmp.h: New file.
31885
31886         Tests for module 'unistr/u8-strcmp'.
31887         * modules/unistr/u8-strcmp-tests: New file.
31888         * tests/unistr/test-u8-strcmp.c: New file.
31889         * tests/unistr/test-u8-strcmp.h: New file.
31890         * tests/unistr/test-strcmp.h: New file.
31891
31892         Tests for module 'unistr/u32-strncat'.
31893         * modules/unistr/u32-strncat-tests: New file.
31894         * tests/unistr/test-u32-strncat.c: New file.
31895
31896         Tests for module 'unistr/u16-strncat'.
31897         * modules/unistr/u16-strncat-tests: New file.
31898         * tests/unistr/test-u16-strncat.c: New file.
31899
31900         Tests for module 'unistr/u8-strncat'.
31901         * modules/unistr/u8-strncat-tests: New file.
31902         * tests/unistr/test-u8-strncat.c: New file.
31903         * tests/unistr/test-strncat.h: New file.
31904
31905         Tests for module 'unistr/u32-strcat'.
31906         * modules/unistr/u32-strcat-tests: New file.
31907         * tests/unistr/test-u32-strcat.c: New file.
31908
31909         Tests for module 'unistr/u16-strcat'.
31910         * modules/unistr/u16-strcat-tests: New file.
31911         * tests/unistr/test-u16-strcat.c: New file.
31912
31913         Tests for module 'unistr/u8-strcat'.
31914         * modules/unistr/u8-strcat-tests: New file.
31915         * tests/unistr/test-u8-strcat.c: New file.
31916         * tests/unistr/test-strcat.h: New file.
31917
31918         Tests for module 'unistr/u32-stpncpy'.
31919         * modules/unistr/u32-stpncpy-tests: New file.
31920         * tests/unistr/test-u32-stpncpy.c: New file.
31921
31922         Tests for module 'unistr/u16-stpncpy'.
31923         * modules/unistr/u16-stpncpy-tests: New file.
31924         * tests/unistr/test-u16-stpncpy.c: New file.
31925
31926         Tests for module 'unistr/u8-stpncpy'.
31927         * modules/unistr/u8-stpncpy-tests: New file.
31928         * tests/unistr/test-u8-stpncpy.c: New file.
31929         * tests/unistr/test-stpncpy.h: New file.
31930
31931         Tests for module 'unistr/u32-strncpy'.
31932         * modules/unistr/u32-strncpy-tests: New file.
31933         * tests/unistr/test-u32-strncpy.c: New file.
31934
31935         Tests for module 'unistr/u16-strncpy'.
31936         * modules/unistr/u16-strncpy-tests: New file.
31937         * tests/unistr/test-u16-strncpy.c: New file.
31938
31939         Tests for module 'unistr/u8-strncpy'.
31940         * modules/unistr/u8-strncpy-tests: New file.
31941         * tests/unistr/test-u8-strncpy.c: New file.
31942         * tests/unistr/test-strncpy.h: New file.
31943
31944         Tests for module 'unistr/u32-stpcpy'.
31945         * modules/unistr/u32-stpcpy-tests: New file.
31946         * tests/unistr/test-u32-stpcpy.c: New file.
31947
31948         Tests for module 'unistr/u16-stpcpy'.
31949         * modules/unistr/u16-stpcpy-tests: New file.
31950         * tests/unistr/test-u16-stpcpy.c: New file.
31951
31952         Tests for module 'unistr/u8-stpcpy'.
31953         * modules/unistr/u8-stpcpy-tests: New file.
31954         * tests/unistr/test-u8-stpcpy.c: New file.
31955         * tests/unistr/test-stpcpy.h: New file.
31956
31957         Tests for module 'unistr/u32-strcpy'.
31958         * modules/unistr/u32-strcpy-tests: New file.
31959         * tests/unistr/test-u32-strcpy.c: New file.
31960
31961         Tests for module 'unistr/u16-strcpy'.
31962         * modules/unistr/u16-strcpy-tests: New file.
31963         * tests/unistr/test-u16-strcpy.c: New file.
31964
31965         Tests for module 'unistr/u8-strcpy'.
31966         * modules/unistr/u8-strcpy-tests: New file.
31967         * tests/unistr/test-u8-strcpy.c: New file.
31968         * tests/unistr/test-strcpy.h: New file.
31969
31970         Tests for module 'unistr/u32-strnlen'.
31971         * modules/unistr/u32-strnlen-tests: New file.
31972         * tests/unistr/test-u32-strnlen.c: New file.
31973
31974         Tests for module 'unistr/u16-strnlen'.
31975         * modules/unistr/u16-strnlen-tests: New file.
31976         * tests/unistr/test-u16-strnlen.c: New file.
31977
31978         Tests for module 'unistr/u8-strnlen'.
31979         * modules/unistr/u8-strnlen-tests: New file.
31980         * tests/unistr/test-u8-strnlen.c: New file.
31981         * tests/unistr/test-strnlen.h: New file.
31982
31983         Tests for module 'unistr/u32-strlen'.
31984         * modules/unistr/u32-strlen-tests: New file.
31985         * tests/unistr/test-u32-strlen.c: New file.
31986
31987         Tests for module 'unistr/u16-strlen'.
31988         * modules/unistr/u16-strlen-tests: New file.
31989         * tests/unistr/test-u16-strlen.c: New file.
31990
31991         Tests for module 'unistr/u8-strlen'.
31992         * modules/unistr/u8-strlen-tests: New file.
31993         * tests/unistr/test-u8-strlen.c: New file.
31994
31995         Tests for module 'unistr/u32-prev'.
31996         * modules/unistr/u32-prev-tests: New file.
31997         * tests/unistr/test-u32-prev.c: New file.
31998
31999         Tests for module 'unistr/u16-prev'.
32000         * modules/unistr/u16-prev-tests: New file.
32001         * tests/unistr/test-u16-prev.c: New file.
32002
32003         Tests for module 'unistr/u8-prev'.
32004         * modules/unistr/u8-prev-tests: New file.
32005         * tests/unistr/test-u8-prev.c: New file.
32006
32007         Tests for module 'unistr/u32-next'.
32008         * modules/unistr/u32-next-tests: New file.
32009         * tests/unistr/test-u32-next.c: New file.
32010
32011         Tests for module 'unistr/u16-next'.
32012         * modules/unistr/u16-next-tests: New file.
32013         * tests/unistr/test-u16-next.c: New file.
32014
32015         Tests for module 'unistr/u8-next'.
32016         * modules/unistr/u8-next-tests: New file.
32017         * tests/unistr/test-u8-next.c: New file.
32018
32019         Tests for module 'unistr/u32-strmbtouc'.
32020         * modules/unistr/u32-strmbtouc-tests: New file.
32021         * tests/unistr/test-u32-strmbtouc.c: New file.
32022
32023         Tests for module 'unistr/u16-strmbtouc'.
32024         * modules/unistr/u16-strmbtouc-tests: New file.
32025         * tests/unistr/test-u16-strmbtouc.c: New file.
32026
32027         Tests for module 'unistr/u8-strmbtouc'.
32028         * modules/unistr/u8-strmbtouc-tests: New file.
32029         * tests/unistr/test-u8-strmbtouc.c: New file.
32030
32031         Tests for module 'unistr/u32-strmblen'.
32032         * modules/unistr/u32-strmblen-tests: New file.
32033         * tests/unistr/test-u32-strmblen.c: New file.
32034
32035         Tests for module 'unistr/u16-strmblen'.
32036         * modules/unistr/u16-strmblen-tests: New file.
32037         * tests/unistr/test-u16-strmblen.c: New file.
32038
32039         Tests for module 'unistr/u8-strmblen'.
32040         * modules/unistr/u8-strmblen-tests: New file.
32041         * tests/unistr/test-u8-strmblen.c: New file.
32042
32043         Tests for module 'unistr/u32-cpy-alloc'.
32044         * modules/unistr/u32-cpy-alloc-tests: New file.
32045         * tests/unistr/test-u32-cpy-alloc.c: New file.
32046
32047         Tests for module 'unistr/u16-cpy-alloc'.
32048         * modules/unistr/u16-cpy-alloc-tests: New file.
32049         * tests/unistr/test-u16-cpy-alloc.c: New file.
32050
32051         Tests for module 'unistr/u8-cpy-alloc'.
32052         * modules/unistr/u8-cpy-alloc-tests: New file.
32053         * tests/unistr/test-u8-cpy-alloc.c: New file.
32054         * tests/unistr/test-cpy-alloc.h: New file.
32055
32056         Tests for module 'unistr/u32-mbsnlen'.
32057         * modules/unistr/u32-mbsnlen-tests: New file.
32058         * tests/unistr/test-u32-mbsnlen.c: New file.
32059
32060         Tests for module 'unistr/u16-mbsnlen'.
32061         * modules/unistr/u16-mbsnlen-tests: New file.
32062         * tests/unistr/test-u16-mbsnlen.c: New file.
32063
32064         Tests for module 'unistr/u8-mbsnlen'.
32065         * modules/unistr/u8-mbsnlen-tests: New file.
32066         * tests/unistr/test-u8-mbsnlen.c: New file.
32067
32068         Tests for module 'unistr/u32-chr'.
32069         * modules/unistr/u32-chr-tests: New file.
32070         * tests/unistr/test-u32-chr.c: New file.
32071
32072         Tests for module 'unistr/u16-chr'.
32073         * modules/unistr/u16-chr-tests: New file.
32074         * tests/unistr/test-u16-chr.c: New file.
32075
32076         Tests for module 'unistr/u8-chr'.
32077         * modules/unistr/u8-chr-tests: New file.
32078         * tests/unistr/test-u8-chr.c: New file.
32079         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32080
32081         Tests for module 'unistr/u32-cmp2'.
32082         * modules/unistr/u32-cmp2-tests: New file.
32083         * tests/unistr/test-u32-cmp2.c: New file.
32084
32085         Tests for module 'unistr/u16-cmp2'.
32086         * modules/unistr/u16-cmp2-tests: New file.
32087         * tests/unistr/test-u16-cmp2.c: New file.
32088
32089         Tests for module 'unistr/u8-cmp2'.
32090         * modules/unistr/u8-cmp2-tests: New file.
32091         * tests/unistr/test-u8-cmp2.c: New file.
32092         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32093
32094         Tests for module 'unistr/u32-cmp'.
32095         * modules/unistr/u32-cmp-tests: New file.
32096         * tests/unistr/test-u32-cmp.c: New file.
32097
32098         Tests for module 'unistr/u16-cmp'.
32099         * modules/unistr/u16-cmp-tests: New file.
32100         * tests/unistr/test-u16-cmp.c: New file.
32101
32102         Tests for module 'unistr/u8-cmp'.
32103         * modules/unistr/u8-cmp-tests: New file.
32104         * tests/unistr/test-u8-cmp.c: New file.
32105         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32106
32107         Tests for module 'unistr/u32-set'.
32108         * modules/unistr/u32-set-tests: New file.
32109         * tests/unistr/test-u32-set.c: New file.
32110
32111         Tests for module 'unistr/u16-set'.
32112         * modules/unistr/u16-set-tests: New file.
32113         * tests/unistr/test-u16-set.c: New file.
32114
32115         Tests for module 'unistr/u8-set'.
32116         * modules/unistr/u8-set-tests: New file.
32117         * tests/unistr/test-u8-set.c: New file.
32118         * tests/unistr/test-set.h: New file.
32119
32120         Tests for module 'unistr/u32-move'.
32121         * modules/unistr/u32-move-tests: New file.
32122         * tests/unistr/test-u32-move.c: New file.
32123
32124         Tests for module 'unistr/u16-move'.
32125         * modules/unistr/u16-move-tests: New file.
32126         * tests/unistr/test-u16-move.c: New file.
32127
32128         Tests for module 'unistr/u8-move'.
32129         * modules/unistr/u8-move-tests: New file.
32130         * tests/unistr/test-u8-move.c: New file.
32131         * tests/unistr/test-move.h: New file.
32132
32133         Tests for module 'unistr/u32-cpy'.
32134         * modules/unistr/u32-cpy-tests: New file.
32135         * tests/unistr/test-u32-cpy.c: New file.
32136
32137         Tests for module 'unistr/u16-cpy'.
32138         * modules/unistr/u16-cpy-tests: New file.
32139         * tests/unistr/test-u16-cpy.c: New file.
32140
32141         Tests for module 'unistr/u8-cpy'.
32142         * modules/unistr/u8-cpy-tests: New file.
32143         * tests/unistr/test-u8-cpy.c: New file.
32144         * tests/unistr/test-cpy.h: New file.
32145
32146 2010-01-09  Bruno Haible  <bruno@clisp.org>
32147
32148         Tests for module 'unistr/u32-uctomb'.
32149         * modules/unistr/u32-uctomb-tests: New file.
32150         * tests/unistr/test-u32-uctomb.c: New file.
32151
32152         Tests for module 'unistr/u16-uctomb'.
32153         * modules/unistr/u16-uctomb-tests: New file.
32154         * tests/unistr/test-u16-uctomb.c: New file.
32155
32156         Tests for module 'unistr/u8-uctomb'.
32157         * modules/unistr/u8-uctomb-tests: New file.
32158         * tests/unistr/test-u8-uctomb.c: New file.
32159
32160         Tests for module 'unistr/u32-mbtoucr'.
32161         * modules/unistr/u32-mbtoucr-tests: New file.
32162         * tests/unistr/test-u32-mbtoucr.c: New file.
32163
32164         Tests for module 'unistr/u16-mbtoucr'.
32165         * modules/unistr/u16-mbtoucr-tests: New file.
32166         * tests/unistr/test-u16-mbtoucr.c: New file.
32167
32168         Tests for module 'unistr/u8-mbtoucr'.
32169         * modules/unistr/u8-mbtoucr-tests: New file.
32170         * tests/unistr/test-u8-mbtoucr.c: New file.
32171
32172         Tests for module 'unistr/u32-mbtouc'.
32173         * modules/unistr/u32-mbtouc-tests: New file.
32174         * tests/unistr/test-u32-mbtouc.c: New file.
32175
32176         Tests for module 'unistr/u16-mbtouc'.
32177         * modules/unistr/u16-mbtouc-tests: New file.
32178         * tests/unistr/test-u16-mbtouc.c: New file.
32179
32180         Tests for module 'unistr/u8-mbtouc'.
32181         * modules/unistr/u8-mbtouc-tests: New file.
32182         * tests/unistr/test-u8-mbtouc.c: New file.
32183
32184         Tests for module 'unistr/u32-mbtouc-unsafe'.
32185         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32186         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32187         * tests/unistr/test-u32-mbtouc.h: New file.
32188
32189         Tests for module 'unistr/u16-mbtouc-unsafe'.
32190         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
32191         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
32192         * tests/unistr/test-u16-mbtouc.h: New file.
32193
32194         Tests for module 'unistr/u8-mbtouc-unsafe'.
32195         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
32196         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
32197         * tests/unistr/test-u8-mbtouc.h: New file.
32198
32199         Tests for module 'unistr/u32-mblen'.
32200         * modules/unistr/u32-mblen-tests: New file.
32201         * tests/unistr/test-u32-mblen.c: New file.
32202
32203         Tests for module 'unistr/u16-mblen'.
32204         * modules/unistr/u16-mblen-tests: New file.
32205         * tests/unistr/test-u16-mblen.c: New file.
32206
32207         Tests for module 'unistr/u8-mblen'.
32208         * modules/unistr/u8-mblen-tests: New file.
32209         * tests/unistr/test-u8-mblen.c: New file.
32210
32211         Tests for module 'unistr/u32-to-u16'.
32212         * modules/unistr/u32-to-u16-tests: New file.
32213         * tests/unistr/test-u32-to-u16.c: New file.
32214
32215         Tests for module 'unistr/u32-to-u8'.
32216         * modules/unistr/u32-to-u8-tests: New file.
32217         * tests/unistr/test-u32-to-u8.c: New file.
32218
32219         Tests for module 'unistr/u16-to-u32'.
32220         * modules/unistr/u16-to-u32-tests: New file.
32221         * tests/unistr/test-u16-to-u32.c: New file.
32222
32223         Tests for module 'unistr/u16-to-u8'.
32224         * modules/unistr/u16-to-u8-tests: New file.
32225         * tests/unistr/test-u16-to-u8.c: New file.
32226
32227         Tests for module 'unistr/u8-to-u32'.
32228         * modules/unistr/u8-to-u32-tests: New file.
32229         * tests/unistr/test-u8-to-u32.c: New file.
32230
32231         Tests for module 'unistr/u8-to-u16'.
32232         * modules/unistr/u8-to-u16-tests: New file.
32233         * tests/unistr/test-u8-to-u16.c: New file.
32234
32235         Tests for module 'unistr/u32-check'.
32236         * modules/unistr/u32-check-tests: New file.
32237         * tests/unistr/test-u32-check.c: New file.
32238
32239         Tests for module 'unistr/u16-check'.
32240         * modules/unistr/u16-check-tests: New file.
32241         * tests/unistr/test-u16-check.c: New file.
32242
32243         Tests for module 'unistr/u8-check'.
32244         * modules/unistr/u8-check-tests: New file.
32245         * tests/unistr/test-u8-check.c: New file.
32246
32247         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
32248         (category_equals): New function.
32249         (main): Add more tests.
32250         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
32251
32252         * tests/unictype/test-bidi_byname.c (main): Add more tests.
32253
32254 2010-01-10  Bruno Haible  <bruno@clisp.org>
32255
32256         unistr/u*-strcoll: Try harder to distinguish different strings.
32257         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
32258         compare s1 and s2 to see if they are different.
32259
32260 2010-01-10  Bruno Haible  <bruno@clisp.org>
32261
32262         unistr/u*-stpncpy: Fix the return value.
32263         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
32264         description of the return value consistent with stpncpy in glibc.
32265         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
32266         written non-NUL unit.
32267
32268 2010-01-10  Bruno Haible  <bruno@clisp.org>
32269
32270         unistr/u*-next: Add missing dependencies.
32271         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
32272         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
32273         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
32274
32275 2010-01-10  Bruno Haible  <bruno@clisp.org>
32276
32277         unistr/u8-mbsnlen: Fix return value for incomplete character.
32278         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
32279         u8_mblen.
32280         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
32281         Remove unistr/u8-mblen.
32282         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
32283         u16_mblen.
32284         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
32285         Remove unistr/u16-mblen.
32286
32287 2010-01-10  Bruno Haible  <bruno@clisp.org>
32288
32289         wchar: Fix compilation error when <wchar.h> is used from coreutils.
32290         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
32291         Reported by Brian Gough <bjg@gnu.org> and
32292         Chris Clayton <chris2553@googlemail.com> via
32293         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
32294
32295 2010-01-09  Bruno Haible  <bruno@clisp.org>
32296
32297         unistr/u16-to-u32: Reject invalid input.
32298         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
32299         u16_mbtouc.
32300         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
32301         Remove unistr/u16-mbtouc.
32302
32303         unistr/u16-to-u8: Reject invalid input.
32304         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
32305         u16_mbtouc.
32306         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
32307         Remove unistr/u16-mbtouc.
32308
32309         unistr/u8-to-u32: Reject invalid input.
32310         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
32311         u8_mbtouc.
32312         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
32313         Remove unistr/u8-mbtouc.
32314
32315         unistr/u8-to-u16: Reject invalid input.
32316         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
32317         u8_mbtouc.
32318         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
32319         Remove unistr/u8-mbtouc.
32320
32321 2010-01-09  Bruno Haible  <bruno@clisp.org>
32322
32323         Tests for module 'getlogin'.
32324         * modules/getlogin-tests: New file.
32325         * tests/test-getlogin.c: New file.
32326
32327         New module 'getlogin'.
32328         * lib/unistd.in.h (getlogin): New declaration.
32329         * lib/getlogin.c: New file.
32330         * m4/getlogin.m4: New file.
32331         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
32332         HAVE_GETLOGIN.
32333         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
32334         HAVE_GETLOGIN.
32335         * modules/getlogin: New file.
32336         * doc/posix-functions/getlogin.texi: Mention the new module.
32337         Reported by John W. Eaton <jwe@gnu.org>.
32338
32339 2010-01-09  Bruno Haible  <bruno@clisp.org>
32340
32341         getlogin_r: Support for native Windows.
32342         * lib/getlogin_r.c: Include <windows.h>
32343         (getlogin_r): Implement for native Windows.
32344         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
32345         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
32346         via John W. Eaton <jwe@gnu.org>.
32347
32348 2010-01-09  Bruno Haible  <bruno@clisp.org>
32349
32350         getlogin_r: Small fixes.
32351         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
32352         succeeds.
32353         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
32354         before testing whether getlogin_r is declared. No need to set
32355         HAVE_DECL_GETLOGIN_R to 1.
32356         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
32357
32358 2010-01-09  Bruno Haible  <bruno@clisp.org>
32359
32360         * lib/unistd.in.h (getlogin_r): Add comment.
32361
32362 2010-01-09  Bruno Haible  <bruno@clisp.org>
32363
32364         Tests for module 'getlogin_r'.
32365         * modules/getlogin_r-tests: New file.
32366         * tests/test-getlogin_r.c: New file.
32367
32368 2010-01-09  Jim Meyering  <meyering@redhat.com>
32369
32370         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
32371         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
32372         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
32373
32374 2010-01-08  Simon Josefsson  <simon@josefsson.org>
32375
32376         * lib/dup2.c (rpl_dup2): Improve comment.
32377
32378 2010-01-08  Eric Blake  <ebb9@byu.net>
32379
32380         maint.mk: allow packages to add makefile @@ exceptions
32381         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
32382         (sc_makefile_check): Rename...
32383         (sc_makefile_at_at_check): ...to this, and use hook.
32384
32385         dup2: work around mingw bug
32386         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
32387         Reported by Simon Josefsson.
32388
32389 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
32390
32391         glob: Fix C++ compilation.
32392         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
32393         C++.
32394
32395 2010-01-07  Bruno Haible  <bruno@clisp.org>
32396
32397         Fix indentation of wctype.in.h, broken since 2007-01-06.
32398         * lib/wctype.in.h: Fix indentation of preprocessor directives.
32399
32400 2010-01-07  Bruno Haible  <bruno@clisp.org>
32401
32402         mbslen: Avoid collision with system function.
32403         * lib/string.in.h [MirBSD]: Include <wchar.h>.
32404         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
32405         * m4/mbslen.m4: New file.
32406         * modules/mbslen (Files): Add it.
32407         (configure.ac): Invoke gl_MBSLEN.
32408         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
32409         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
32410         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
32411         via Ian Beckwith <ianb@erislabs.net>.
32412
32413 2010-01-07  Bruno Haible  <bruno@clisp.org>
32414
32415         dirent: Document the last fix.
32416         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
32417
32418 2010-01-07  Bruno Haible  <bruno@clisp.org>
32419
32420         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
32421         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
32422         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
32423         va_list are defined.
32424         * doc/posix-headers/stdio.texi: Document the bug of missing types.
32425         Reported by Eric Blake.
32426
32427 2010-01-07  Bruno Haible  <bruno@clisp.org>
32428
32429         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
32430         * modules/xlist (Depends-on): Add 'list',
32431         * modules/xoset (Depends-on): Add 'oset'.
32432         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32433
32434 2010-01-07  Bruno Haible  <bruno@clisp.org>
32435
32436         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
32437         * doc/posix-functions/strncasecmp.texi: Likewise.
32438
32439 2010-01-07  Bruno Haible  <bruno@clisp.org>
32440
32441         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
32442
32443 2010-01-07  John W. Eaton  <jwe@octave.org>
32444
32445         wctype: allow C++ use
32446         * lib/wctype.in.h: Add extern "C" block for C++.
32447
32448 2010-01-06  Eric Blake  <ebb9@byu.net>
32449
32450         maint.mk: detect incorrect GFDL usage
32451         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
32452
32453 2010-01-06  Jim Meyering  <meyering@redhat.com>
32454         and Eric Blake  <ebb9@byu.net>
32455
32456         maint.mk: ignore multi-line copyright in NEWS
32457         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
32458
32459 2010-01-06  Eric Blake  <ebb9@byu.net>
32460
32461         select: add missing dependency
32462         * modules/select-tests (Depends-on): Move sockets dependency...
32463         * modules/select (Depends-on): ...here.
32464         Reported by Ian Beckwith.
32465
32466         doc: regenerate INSTALL
32467         * doc/INSTALL: Reflect recent autoconf update.
32468         * doc/INSTALL.ISO: Likewise.
32469         * doc/INSTALL.UTF-8: Likewise.
32470
32471         pread: fix compilation on glibc
32472         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
32473         Reported by Ralf Wildenhues.
32474
32475         dirent: fix test failure
32476         * lib/dirent.in.h (includes): Guarantee ino_t.
32477         Reported by Ralf Wildenhues.
32478
32479 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
32480
32481         linkat, renameat: avoid bad free
32482         * lib/at-func2.c (at_func2): Fix typo.
32483         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
32484
32485 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32486
32487         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
32488         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
32489         to avoid failure of symlink test later.
32490
32491 2010-01-06  Eric Blake  <ebb9@byu.net>
32492
32493         stdio, unistd: guarantee ssize_t
32494         * lib/unistd.in.h (includes): Ensure that types required by POSIX
32495         2008 are exposed when needed.
32496         * lib/stdio.in.h (includes): Likewise.
32497         Reported by Ralf Wildenhues.
32498
32499 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
32500
32501         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
32502         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
32503         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
32504
32505 2010-01-06  Jim Meyering  <meyering@redhat.com>
32506
32507         readtokens: this module *does* require xalloc.h
32508         It uses only functions that were omitted by the old syntax-check rule.
32509         * lib/readtokens.c: Include "xalloc.h" once again.
32510         * modules/readtokens (Depends-on): Add xalloc.
32511         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
32512
32513 2010-01-05  Eric Blake  <ebb9@byu.net>
32514
32515         maint: support 'make announcement' from a VPATH build
32516         * top/maint.mk (announcement): Look for correct NEWS file.
32517
32518 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
32519
32520         utimens (fdutimens): ignore a negative FD, per contract
32521         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
32522         when we have a valid file descriptor.  Otherwise, using a brand
32523         new glibc (with just-patched futimens that now fails with EBADF)
32524         would cause this function to fail with ENOSYS.
32525         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
32526         See also http://bugzilla.redhat.com/552320.
32527
32528 2010-01-05  Eric Blake  <ebb9@byu.net>
32529
32530         strcase: document what it provides
32531         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
32532         gnulib module.
32533         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
32534         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
32535
32536 2010-01-05  Jim Meyering  <meyering@redhat.com>
32537
32538         maint: remove useless inclusions of "xalloc.h"
32539         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
32540         * lib/readtokens.c: Likewise.
32541         * lib/same.c: Likewise.
32542         * modules/getloadavg (Depends-on): Remove xalloc.
32543         * modules/readtokens: Likewise.
32544         * modules/same: Likewise.
32545
32546         maint.mk: include 4 more function names in alloca.h-checking regexp
32547         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
32548         regexp.  Before, we would give a false-positive (saying alloca.h
32549         is included unnecessarily) when the only uses involved omitted symbols.
32550
32551         xalloc.h: use consistent formatting
32552         * lib/xalloc.h: Move declarations to start in the first column.
32553
32554 2010-01-05  Eric Blake  <ebb9@byu.net>
32555
32556         mkdir: avoid xalloc
32557         * lib/mkdir.c (includes): Drop unused header.
32558         Reported by John W. Eaton.
32559
32560 2010-01-04  Jim Meyering  <meyering@redhat.com>
32561
32562         nl_langinfo: avoid configure-time syntax error
32563         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
32564         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
32565         the empty string.  Don't let that provoke a shell syntax error.
32566
32567         regcomp, regexec, fnmatch: avoid array bounds read error
32568         * lib/regcomp.c (build_equiv_class): From glibc:
32569         Use only the low 24 bits of a findidx return value as an index
32570         into the weights array.  Patch by Ulrich Drepper:
32571         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
32572         * lib/regexec.c (check_node_accept_bytes): Likewise.
32573         * lib/fnmatch_loop.c (FCT): Likewise.
32574
32575         regcomp: skip collseq lookup when there are no rules
32576         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
32577         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
32578
32579         regcomp: recognize ill-formed { } expressions
32580         * lib/regcomp.c (parse_dup_op): From glibc:
32581         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
32582
32583         regcomp: fix typo in comment
32584         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
32585         s/satisfy/satisfies/.
32586
32587         regcomp: sync from glibc: remove dead store
32588         * lib/regcomp.c (duplicate_node_closure): Remove useless
32589         search_duplicated_node call and dead store.
32590
32591         regcomp: sync from glibc; always use nl_langinfo
32592         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
32593         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
32594         * modules/regex (Depends-on): Add nl_langinfo.
32595
32596 2010-01-04  Eric Blake  <ebb9@byu.net>
32597
32598         fdopendir: fix configure test
32599         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
32600
32601 2010-01-01  Bruno Haible  <bruno@clisp.org>
32602
32603         wchar: Remove unused configure check.
32604         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
32605
32606 2010-01-01  Eric Blake  <ebb9@byu.net>
32607
32608         headers: make check of system header explicit
32609         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
32610         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
32611         ourselves.
32612         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32613         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32614         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
32615         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
32616         internals.
32617         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
32618         missing.
32619         Suggested by Bruno Haible.
32620
32621 2010-01-01  Jim Meyering  <meyering@redhat.com>
32622
32623         ChangeLog: tweak to eliminate unnecessary copyright line
32624         * ChangeLog: Remove a copyright line that was mistakenly updated
32625         by today's update-copyright run.  Reported by Eric Blake.
32626
32627         test-update-copyright: don't let envvar setting cause test failure
32628         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32629
32630 2010-01-01  Bruno Haible  <bruno@clisp.org>
32631
32632         localename: Avoid gcc warning.
32633         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
32634         function if it is not used.
32635
32636 2010-01-01  Jim Meyering  <meyering@redhat.com>
32637
32638         update nearly all FSF copyright year lists to include 2010
32639         Use the same procedure as for 2009, outlined in
32640         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
32641
32642         version-etc: set COPYRIGHT_YEAR to 2010
32643         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
32644
32645 2009-12-31  Eric Blake  <ebb9@byu.net>
32646
32647         doc: correct availability of cygwin 1.5.x getopt
32648         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
32649         variables.
32650         * doc/posix-functions/opterr.texi (opterr): Likewise.
32651         * doc/posix-functions/optind.texi (optind): Likewise.
32652         * doc/posix-functions/optopt.texi (optopt): Likewise.
32653         * doc/posix-functions/tzname.texi (tzname): Likewise.
32654
32655         openat: update maintainer
32656         * modules/openat (Maintainer): Add myself.
32657
32658         utimens: avoid shadowing warning
32659         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
32660         buffers into one, to avoid shadowing, as well as avoiding a
32661         redundant stat.
32662         Reported by Jim Meyering.
32663
32664         test-dup2: avoid compiler warning
32665         * tests/test-dup2.c (is_inheritable): Only define if used.
32666
32667 2010-01-01  Bruno Haible  <bruno@clisp.org>
32668
32669         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
32670         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
32671         defined, use wctomb instead of wcrtomb.
32672
32673 2010-01-01  Bruno Haible  <bruno@clisp.org>
32674
32675         iconv: Reject native Solaris iconv.
32676         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
32677         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
32678
32679 2009-12-31  Bruno Haible  <bruno@clisp.org>
32680
32681         * tests/test-signal.c (main): Remove test of 'SIG'.
32682
32683 2009-12-31  Bruno Haible  <bruno@clisp.org>
32684
32685         spawn: Fix incomplete fix.
32686         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32687         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32688         warnings for GNULIB_POSIXCHECK again.
32689         Reported by Eric Blake.
32690
32691 2009-12-31  Bruno Haible  <bruno@clisp.org>
32692
32693         Avoid namespace pollution on glibc systems.
32694         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
32695         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
32696         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
32697         glibc systems.
32698
32699 2009-12-31  Bruno Haible  <bruno@clisp.org>
32700
32701         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
32702         (gl_REPLACE_WCHAR_H): Turn into a no-op.
32703         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
32704         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
32705         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
32706         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
32707         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
32708
32709 2009-12-31  Bruno Haible  <bruno@clisp.org>
32710
32711         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32712         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
32713         afterwards.
32714
32715 2009-12-31  Bruno Haible  <bruno@clisp.org>
32716
32717         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
32718         SYS_UTSNAME_H.
32719
32720 2009-12-31  Bruno Haible  <bruno@clisp.org>
32721
32722         spawn: Fix misapplied patch.
32723         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32724         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32725         warnings for GNULIB_POSIXCHECK.
32726
32727 2009-12-31  Bruno Haible  <bruno@clisp.org>
32728
32729         times: Update after sys_times changed.
32730         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
32731         * modules/times (Files): Add it.
32732         (configure.ac): Invoke gl_FUNC_TIMES.
32733
32734 2009-12-31  Bruno Haible  <bruno@clisp.org>
32735
32736         Use AC_C_INLINE where necessary.
32737         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
32738         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
32739         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
32740         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32741         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32742         * m4/mbiter.m4 (gl_MBITER): Likewise.
32743         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32744         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
32745         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
32746         * modules/u64 (configure.ac): Likewise.
32747
32748 2009-12-31  Bruno Haible  <bruno@clisp.org>
32749
32750         Use AC_C_INLINE instead of module 'inline' where possible.
32751         * modules/inline (Description): Clarify purpose.
32752         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
32753         * modules/count-one-bits (Depends-on): Remove inline.
32754         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
32755         * modules/openat (Depends-on): Remove inline.
32756         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
32757         instead of depending on module 'inline'.
32758         * modules/filevercmp (Depends-on, configure.ac): Likewise.
32759         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
32760         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
32761         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
32762         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
32763         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
32764         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
32765         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
32766         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
32767         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
32768         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
32769         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
32770         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
32771         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
32772         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
32773         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
32774         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
32775         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
32776         Likewise.
32777         * modules/unictype/property-ascii-hex-digit (Depends-on,
32778         configure.ac): Likewise.
32779         * modules/unictype/property-bidi-arabic-digit (Depends-on,
32780         configure.ac): Likewise.
32781         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
32782         configure.ac): Likewise.
32783         * modules/unictype/property-bidi-block-separator (Depends-on,
32784         configure.ac): Likewise.
32785         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
32786         configure.ac): Likewise.
32787         * modules/unictype/property-bidi-common-separator (Depends-on,
32788         configure.ac): Likewise.
32789         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
32790         Likewise.
32791         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
32792         configure.ac): Likewise.
32793         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
32794         configure.ac): Likewise.
32795         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
32796         configure.ac): Likewise.
32797         * modules/unictype/property-bidi-european-digit (Depends-on,
32798         configure.ac): Likewise.
32799         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
32800         configure.ac): Likewise.
32801         * modules/unictype/property-bidi-left-to-right (Depends-on,
32802         configure.ac): Likewise.
32803         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
32804         configure.ac): Likewise.
32805         * modules/unictype/property-bidi-other-neutral (Depends-on,
32806         configure.ac): Likewise.
32807         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
32808         Likewise.
32809         * modules/unictype/property-bidi-segment-separator (Depends-on,
32810         configure.ac): Likewise.
32811         * modules/unictype/property-bidi-whitespace (Depends-on,
32812         configure.ac): Likewise.
32813         * modules/unictype/property-combining (Depends-on, configure.ac):
32814         Likewise.
32815         * modules/unictype/property-composite (Depends-on, configure.ac):
32816         Likewise.
32817         * modules/unictype/property-currency-symbol (Depends-on,
32818         configure.ac): Likewise.
32819         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
32820         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
32821         Likewise.
32822         * modules/unictype/property-default-ignorable-code-point (Depends-on,
32823         configure.ac): Likewise.
32824         * modules/unictype/property-deprecated (Depends-on, configure.ac):
32825         Likewise.
32826         * modules/unictype/property-diacritic (Depends-on, configure.ac):
32827         Likewise.
32828         * modules/unictype/property-extender (Depends-on, configure.ac):
32829         Likewise.
32830         * modules/unictype/property-format-control (Depends-on, configure.ac):
32831         Likewise.
32832         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
32833         Likewise.
32834         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
32835         Likewise.
32836         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
32837         Likewise.
32838         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
32839         Likewise.
32840         * modules/unictype/property-hyphen (Depends-on, configure.ac):
32841         Likewise.
32842         * modules/unictype/property-id-continue (Depends-on, configure.ac):
32843         Likewise.
32844         * modules/unictype/property-id-start (Depends-on, configure.ac):
32845         Likewise.
32846         * modules/unictype/property-ideographic (Depends-on, configure.ac):
32847         Likewise.
32848         * modules/unictype/property-ids-binary-operator (Depends-on,
32849         configure.ac): Likewise.
32850         * modules/unictype/property-ids-trinary-operator (Depends-on,
32851         configure.ac): Likewise.
32852         * modules/unictype/property-ignorable-control (Depends-on,
32853         configure.ac): Likewise.
32854         * modules/unictype/property-iso-control (Depends-on, configure.ac):
32855         Likewise.
32856         * modules/unictype/property-join-control (Depends-on, configure.ac):
32857         Likewise.
32858         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
32859         Likewise.
32860         * modules/unictype/property-line-separator (Depends-on, configure.ac):
32861         Likewise.
32862         * modules/unictype/property-logical-order-exception (Depends-on,
32863         configure.ac): Likewise.
32864         * modules/unictype/property-lowercase (Depends-on, configure.ac):
32865         Likewise.
32866         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
32867         * modules/unictype/property-non-break (Depends-on, configure.ac):
32868         Likewise.
32869         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
32870         Likewise.
32871         * modules/unictype/property-numeric (Depends-on, configure.ac):
32872         Likewise.
32873         * modules/unictype/property-other-alphabetic (Depends-on,
32874         configure.ac): Likewise.
32875         * modules/unictype/property-other-default-ignorable-code-point
32876         (Depends-on, configure.ac): Likewise.
32877         * modules/unictype/property-other-grapheme-extend (Depends-on,
32878         configure.ac): Likewise.
32879         * modules/unictype/property-other-id-continue (Depends-on,
32880         configure.ac): Likewise.
32881         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
32882         Likewise.
32883         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
32884         Likewise.
32885         * modules/unictype/property-other-math (Depends-on, configure.ac):
32886         Likewise.
32887         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
32888         Likewise.
32889         * modules/unictype/property-paired-punctuation (Depends-on,
32890         configure.ac): Likewise.
32891         * modules/unictype/property-paragraph-separator (Depends-on,
32892         configure.ac): Likewise.
32893         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
32894         Likewise.
32895         * modules/unictype/property-pattern-white-space (Depends-on,
32896         configure.ac): Likewise.
32897         * modules/unictype/property-private-use (Depends-on, configure.ac):
32898         Likewise.
32899         * modules/unictype/property-punctuation (Depends-on, configure.ac):
32900         Likewise.
32901         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
32902         Likewise.
32903         * modules/unictype/property-radical (Depends-on, configure.ac):
32904         Likewise.
32905         * modules/unictype/property-sentence-terminal (Depends-on,
32906         configure.ac): Likewise.
32907         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
32908         Likewise.
32909         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
32910         * modules/unictype/property-terminal-punctuation (Depends-on,
32911         configure.ac): Likewise.
32912         * modules/unictype/property-titlecase (Depends-on, configure.ac):
32913         Likewise.
32914         * modules/unictype/property-unassigned-code-value (Depends-on,
32915         configure.ac): Likewise.
32916         * modules/unictype/property-unified-ideograph (Depends-on,
32917         configure.ac): Likewise.
32918         * modules/unictype/property-uppercase (Depends-on, configure.ac):
32919         Likewise.
32920         * modules/unictype/property-variation-selector (Depends-on,
32921         configure.ac): Likewise.
32922         * modules/unictype/property-white-space (Depends-on, configure.ac):
32923         Likewise.
32924         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
32925         Likewise.
32926         * modules/unictype/property-xid-start (Depends-on, configure.ac):
32927         Likewise.
32928         * modules/unictype/property-zero-width (Depends-on, configure.ac):
32929         Likewise.
32930         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
32931         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
32932         Likewise.
32933
32934 2009-12-31  Bruno Haible  <bruno@clisp.org>
32935
32936         Remove unnecessary AC_C_INLINE invocation.
32937         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
32938         since 2009-08-21.
32939
32940 2009-12-31  Jim Meyering  <meyering@redhat.com>
32941
32942         maint.mk: don't require explicit gpg_key_ID in cfg.mk
32943         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
32944         With this change, we can all remove the gpg_key_ID = ... definition
32945         from our respective cfg.mk files.
32946
32947         maint.mk: create announcement template in ~/, not in /tmp
32948         * top/maint.mk (emit_upload_commands): Adjust.
32949         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
32950         Remove temporary file, .ci-msg.
32951
32952 2009-12-31  Eric Blake  <ebb9@byu.net>
32953
32954         link-warning: always build headers with link warnings
32955         * modules/arpa_inet (Makefile.am): Always build replacement
32956         header.
32957         * modules/ctype (Makefile.am): Likewise.
32958         * modules/dirent (Makefile.am): Likewise.
32959         * modules/inttypes (Makefile.am): Likewise.
32960         * modules/langinfo (Makefile.am): Likewise.
32961         * modules/locale (Makefile.am): Likewise.
32962         * modules/spawn (Makefile.am): Likewise.
32963         * modules/sys_file (Makefile.am): Likewise.
32964         * modules/sys_ioctl (Makefile.am): Likewise.
32965         * modules/sys_select (Makefile.am): Likewise.
32966         * modules/sys_socket (Makefile.am): Likewise.
32967         * modules/sys_times (Makefile.am): Likewise.
32968         * modules/sys_utsname (Makefile.am): Likewise.
32969         * modules/sys_wait (Makefile.am): Likewise.
32970         * modules/wchar (Makefile.am): Likewise.
32971         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
32972         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
32973         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
32974         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
32975         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
32976         Likewise.
32977         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32978         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32979         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
32980         Likewise.
32981         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
32982         Likewise.
32983         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
32984         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
32985         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
32986         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32987         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32988         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32989         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32990         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
32991         (gl_WCHAR_H_DEFAULTS): Likewise.
32992
32993 2009-12-31  Eric Blake  <ebb9@byu.net>
32994
32995         signal, spawn: use link warnings
32996         * lib/signal.in.h (sigset_t): Make unconditional.
32997         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
32998         (sigpending, sigprocmask, sigaction): Add link warnings.
32999         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33000         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33001         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33002         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33003         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33004         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33005         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33006         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33007         (posix_spawn_file_actions_destroy)
33008         (posix_spawn_file_actions_addopen)
33009         (posix_spawn_file_actions_addclose)
33010         (posix_spawn_file_actions_adddup2): Likewise.
33011         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33012         * tests/test-signal.c (main): Enhance test.
33013
33014         spawn: improve wrapper support
33015         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33016         (gl_SPAWN_H_DEFAULTS): New defaults.
33017         * modules/spawn (Makefile.am): Substitute them.
33018         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33019         Only declare if missing or broken.
33020
33021         sys_times, sys_utsname: use include_next
33022         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33023         header.
33024         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33025         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33026         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33027         * modules/sys_times (Depends-on): Add include_next.
33028         (Makefile.am): Substitute additional values.
33029         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33030         * lib/sys_times.in.h (includes): Include native header, if
33031         available.
33032         * lib/sys_utsname.in.h (includes): Likewise.
33033         * tests/test-sys_times.c (main): Enhance test.
33034
33035         fdutimensat: revert prior patch
33036         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33037         utimens.h.
33038         Reported by Bruno Haible.
33039
33040 2009-12-30  Eric Blake  <ebb9@byu.net>
33041
33042         sys_wait: drop link-warning dependency
33043         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33044         link-warning efforts.
33045         * lib/sys_wait.in.h: Likewise.
33046
33047         fdutimensat: remove bogus dependency
33048         * modules/fdutimensat (Depends-on): Drop inline.
33049
33050         unistd: fix typo
33051         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33052
33053 2009-12-30  Bruno Haible  <bruno@clisp.org>
33054
33055         Fix compilation error with Solaris cc.
33056         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33057         * lib/unicase/u16-is-invariant.c: Likewise.
33058         * lib/unicase/u32-is-invariant.c: Likewise.
33059         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33060
33061 2009-12-30  Bruno Haible  <bruno@clisp.org>
33062
33063         Fix test crash.
33064         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33065         locales.
33066         Reported by Simon Josefsson <simon@josefsson.org>.
33067
33068 2009-12-30  Bruno Haible  <bruno@clisp.org>
33069
33070         Fix compilation error on most platforms.
33071         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33072         Reported by Simon Josefsson <simon@josefsson.org>
33073         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33074
33075 2009-12-30  Eric Blake  <ebb9@byu.net>
33076
33077         futimens, utimensat: work around ntfs-3g bug
33078         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33079         a ctime bug is present, and expand workaround to cover ntfs-3g.
33080         * lib/utimens.c (fdutimens, lutimens): Likewise.
33081         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33082         (validate_timespec): Adjust return value.
33083         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33084         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33085         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33086
33087 2009-12-29  Eric Blake  <ebb9@byu.net>
33088
33089         link-warning: make usage consistent
33090         * modules/ctype (Depends-on): Add link-warning.
33091         (Makefile.am): Update rules accordingly.
33092         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33093         * modules/locale (Depends-on, Makefile.am): Likewise.
33094         * modules/sys_file (Makefile.am): Likewise.
33095         * modules/getopt-posix (Makefile.am): Delete unused link warning
33096         efforts.
33097         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33098         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33099         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33100         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33101
33102         stdio: remove unused variables
33103         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33104         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33105         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33106
33107         tests: test more substitute headers
33108         * modules/ctype-tests: New file.
33109         * modules/dirent-tests: Likewise.
33110         * modules/spawn-tests: Likewise.
33111         * modules/sys_file-tests: Likewise.
33112         * modules/sys_ioctl-tests: Likewise.
33113         * modules/sys_wait-tests: Likewise.
33114         * tests/test-ctype.c: Likewise.
33115         * tests/test-dirent.c: Likewise.
33116         * tests/test-spawn.c: Likewise.
33117         * tests/test-sys_file.c: Likewise.
33118         * tests/test-sys_ioctl.c: Likewise.
33119         * tests/test-sys_wait.c: Likewise.
33120         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33121         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33122         whether or not flock is in use.
33123
33124         tests: remove License section from module
33125         * modules/arpa_inet-tests: Remove unneeded section.
33126         * modules/byteswap-tests: Likewise.
33127         * modules/ceilf-tests: Likewise.
33128         * modules/ceill-tests: Likewise.
33129         * modules/crypto/des-tests: Likewise.
33130         * modules/crypto/gc-arcfour-tests: Likewise.
33131         * modules/crypto/gc-arctwo-tests: Likewise.
33132         * modules/crypto/gc-des-tests: Likewise.
33133         * modules/crypto/gc-hmac-md5-tests: Likewise.
33134         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33135         * modules/crypto/gc-md2-tests: Likewise.
33136         * modules/crypto/gc-md4-tests: Likewise.
33137         * modules/crypto/gc-md5-tests: Likewise.
33138         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33139         * modules/crypto/gc-rijndael-tests: Likewise.
33140         * modules/crypto/gc-sha1-tests: Likewise.
33141         * modules/crypto/gc-tests: Likewise.
33142         * modules/crypto/md2-tests: Likewise.
33143         * modules/crypto/md4-tests: Likewise.
33144         * modules/fcntl-h-tests: Likewise.
33145         * modules/floorf-tests: Likewise.
33146         * modules/floorl-tests: Likewise.
33147         * modules/frexp-nolibm-tests: Likewise.
33148         * modules/frexp-tests: Likewise.
33149         * modules/frexpl-nolibm-tests: Likewise.
33150         * modules/frexpl-tests: Likewise.
33151         * modules/getaddrinfo-tests: Likewise.
33152         * modules/inttypes-tests: Likewise.
33153         * modules/isfinite-tests: Likewise.
33154         * modules/isinf-tests: Likewise.
33155         * modules/ldexpl-tests: Likewise.
33156         * modules/locale-tests: Likewise.
33157         * modules/math-tests: Likewise.
33158         * modules/netdb-tests: Likewise.
33159         * modules/netinet_in-tests: Likewise.
33160         * modules/printf-frexp-tests: Likewise.
33161         * modules/printf-frexpl-tests: Likewise.
33162         * modules/priv-set-tests: Likewise.
33163         * modules/random_r-tests: Likewise.
33164         * modules/round-tests: Likewise.
33165         * modules/roundf-tests: Likewise.
33166         * modules/roundl-tests: Likewise.
33167         * modules/search-tests: Likewise.
33168         * modules/select-tests: Likewise.
33169         * modules/signal-tests: Likewise.
33170         * modules/stdbool-tests: Likewise.
33171         * modules/stddef-tests: Likewise.
33172         * modules/stdint-tests: Likewise.
33173         * modules/stdio-tests: Likewise.
33174         * modules/stdlib-tests: Likewise.
33175         * modules/string-tests: Likewise.
33176         * modules/strings-tests: Likewise.
33177         * modules/sys_select-tests: Likewise.
33178         * modules/sys_socket-tests: Likewise.
33179         * modules/sys_stat-tests: Likewise.
33180         * modules/sys_time-tests: Likewise.
33181         * modules/sys_utsname-tests: Likewise.
33182         * modules/sysexits-tests: Likewise.
33183         * modules/time-tests: Likewise.
33184         * modules/trunc-tests: Likewise.
33185         * modules/truncf-tests: Likewise.
33186         * modules/truncl-tests: Likewise.
33187         * modules/tsearch-tests: Likewise.
33188         * modules/unistd-tests: Likewise.
33189         * modules/wchar-tests: Likewise.
33190         * modules/wctype-tests: Likewise.
33191
33192         tests: fix license on several tests
33193         * tests/test-des.c: Update to GPLv3+.
33194         * tests/test-flock.c: Likewise.
33195         * tests/test-fsync.c: Likewise.
33196         * tests/test-futimens.h: Likewise.
33197         * tests/test-gc-arcfour.c: Likewise.
33198         * tests/test-gc-arctwo.c: Likewise.
33199         * tests/test-gc-des.c: Likewise.
33200         * tests/test-gc-hmac-md5.c: Likewise.
33201         * tests/test-gc-hmac-sha1.c: Likewise.
33202         * tests/test-gc-md2.c: Likewise.
33203         * tests/test-gc-md4.c: Likewise.
33204         * tests/test-gc-md5.c: Likewise.
33205         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33206         * tests/test-gc-rijndael.c: Likewise.
33207         * tests/test-gc-sha1.c: Likewise.
33208         * tests/test-gc.c: Likewise.
33209         * tests/test-getcwd.c: Likewise.
33210         * tests/test-link.c: Likewise.
33211         * tests/test-link.h: Likewise.
33212         * tests/test-lutimens.h: Likewise.
33213         * tests/test-md2.c: Likewise.
33214         * tests/test-md4.c: Likewise.
33215         * tests/test-mkdir.h: Likewise.
33216         * tests/test-rename.c: Likewise.
33217         * tests/test-rename.h: Likewise.
33218         * tests/test-safe-alloc.c: Likewise.
33219         * tests/test-utimens-common.h: Likewise.
33220         * tests/test-utimens.h: Likewise.
33221
33222         maint: sync license texts
33223         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
33224         * doc/gpl-3.0.texi: Revert copyright year update.
33225         * doc/lgpl-3.0.texi: Likewise.
33226
33227 2009-12-29  Jim Meyering  <meyering@redhat.com>
33228
33229         update nearly all FSF copyright year lists to include 2009
33230         The files named by the following are exempted:
33231             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
33232               test -f "$dst" && { echo "$dst"; continue; }
33233               test -d "$dst" || continue
33234               echo "$dst"/$(basename "$src")
33235             done > exempt
33236             git ls-files tests/unictype >> exempt
33237         In the remaining files, convert to all-interval notation if
33238         - there is already at least one year interval like 2000-2003
33239         - the file is maintained by me
33240         - the file is in lib/uni*/, where that style already prevails
33241         Otherwise, use update-copyright's default.
33242
33243 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33244         and Eric Blake  <ebb9@byu.net>
33245
33246         tests: don't require debug system() to pass
33247         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
33248         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33249         * tests/test-unlink.h (test_unlink_func): Likewise.
33250         * tests/test-fstatat.c (main): ...into callers.
33251         * tests/test-lstat.c (main): Likewise.
33252         * tests/test-rmdir.c (main): Likewise.
33253         * tests/test-unlink.c (main): Likewise.
33254         * tests/test-unlinkat.c (main): Likewise.
33255         * tests/test-areadlink-with-size.c (main): Don't require a
33256         debug-only system call to pass, aiding cross-testing to mingw.
33257         * tests/test-areadlink.c (main): Likewise.
33258         * tests/test-areadlinkat-with-size.c (main): Likewise.
33259         * tests/test-areadlinkat.c (main): Likewise.
33260         * tests/test-canonicalize-lgpl.c (main): Likewise.
33261         * tests/test-canonicalize.c (main): Likewise.
33262         * tests/test-chown.c (main): Likewise.
33263         * tests/test-fchownat.c (main): Likewise.
33264         * tests/test-lchown.c (main): Likewise.
33265         * tests/test-fdutimensat.c (main): Likewise.
33266         * tests/test-futimens.c (main): Likewise.
33267         * tests/test-link.c (main): Likewise.
33268         * tests/test-linkat.c (main): Likewise.
33269         * tests/test-mkdir.c (main): Likewise.
33270         * tests/test-mkdirat.c (main): Likewise.
33271         * tests/test-mkfifo.c (main): Likewise.
33272         * tests/test-mkfifoat.c (main): Likewise.
33273         * tests/test-mknod.c (main): Likewise.
33274         * tests/test-readlink.c (main): Likewise.
33275         * tests/test-remove.c (main): Likewise.
33276         * tests/test-rename.c (main): Likewise.
33277         * tests/test-renameat.c (main): Likewise.
33278         * tests/test-symlink.c (main): Likewise.
33279         * tests/test-symlinkat.c (main): Likewise.
33280         * tests/test-utimens.c (main): Likewise.
33281         * tests/test-utimensat.c (main): Likewise.
33282
33283 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33284
33285         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
33286         on $(UNUSED_PARAMETER_H) to avoid build failure.
33287
33288 2009-12-28  Jim Meyering  <meyering@redhat.com>
33289
33290         update-copyright: you may specify a max. line length other than 72
33291         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33292
33293         maint: use consistent FSF copyright line syntax
33294         * lib/posixtm.c: Add missing comma in FSF copyright line.
33295         * lib/posixtm.h: Likewise.
33296         * lib/getugroups.c: Add missing ", Inc.".
33297
33298         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
33299         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
33300         FSF copyright line.  Remove trailing blanks.
33301
33302 2009-12-28  Eric Blake  <ebb9@byu.net>
33303
33304         test-dup2: reduce dependencies
33305         * modules/cloexec (Configure.ac): Set witness.
33306         * modules/dup2-tests (Depends-on): Drop cloexec.
33307         * tests/test-dup2.c (main): Skip portion of test if cloexec module
33308         not present.
33309         Suggested by Bruno Haible.
33310
33311 2009-12-26  Bruno Haible  <bruno@clisp.org>
33312
33313         Remove an unneeded dependency.
33314         * modules/fseterr (Depends-on): Remove dup2.
33315
33316 2009-12-26  Eric Blake  <ebb9@byu.net>
33317
33318         tests: use macros.h in more places
33319         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
33320         (ASSERT_STREAM): Provide default of stderr.
33321         * tests/test-dirent-safer.c: Include macros.h, using alternate
33322         stream for assertions.
33323         * tests/test-dup-safer.c: Likewise.
33324         * tests/test-freopen-safer.c: Likewise.
33325         * tests/test-getopt.c: Likewise.
33326         * tests/test-openat-safer.c: Likewise.
33327         * tests/test-pipe.c: Likewise.
33328         * tests/test-popen-safer.c: Likewise.
33329         * modules/dirent-safer-tests (Files): Include macros.h.
33330         * modules/unistd-safer-tests (Files): Likewise.
33331         * modules/freopen-safer-tests (Files): Likewise.
33332         * modules/getopt-posix-tests (Files): Likewise.
33333         * modules/openat-safer-tests (Files): Likewise.
33334         * modules/pipe-tests (Files): Likewise.
33335
33336 2009-12-26  Bruno Haible  <bruno@clisp.org>
33337
33338         javacomp: Portability fix.
33339         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
33340         that it also works on Solaris.
33341
33342 2009-12-26  Bruno Haible  <bruno@clisp.org>
33343
33344         localename: Fix storage allocation of gl_locale_name_thread's result.
33345         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
33346         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
33347         all platforms that have 'uselocale'.
33348         (gl_locale_name_thread_unsafe): New function, extracted from
33349         gl_locale_name_thread.
33350         (gl_locale_name_thread): Call struniq on all platforms that have
33351         'uselocale'.
33352         * tests/test-localename.c (test_locale_name_thread): Check that the
33353         resulting strings are permanently allocated.
33354         * modules/localename-tests (Depends-on): Add strdup.
33355
33356 2009-12-26  Bruno Haible  <bruno@clisp.org>
33357
33358         * tests/test-localename.c (categories): Fill in the strings.
33359
33360 2009-12-26  Jim Meyering  <meyering@redhat.com>
33361
33362         isdir: complete the removal of m4/isdir.m4
33363         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
33364
33365         isdir: clean up, since at least grep still uses it
33366         * lib/isdir.c: Include "isdir.h".
33367         (S_ISDIR): Remove now-unneeded definition.
33368         * modules/isdir (Files): Add lib/isdir.h.
33369         * lib/isdir.h: New file, with declaration.
33370         * m4/isdir.m4: Remove file -- unneeded.
33371
33372 2009-12-25  Bruno Haible  <bruno@clisp.org>
33373
33374         selinux-h: Make generated .h files standalone.
33375         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
33376         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
33377         * lib/se-selinux.in.h: Likewise.
33378         * modules/selinux-h (Depends-on): Add unused-parameter.
33379         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
33380         selinux/selinux.h and selinux/context.h.
33381         Suggested by Eric Blake.
33382
33383 2009-12-25  Bruno Haible  <bruno@clisp.org>
33384
33385         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
33386         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
33387         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
33388         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
33389         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
33390
33391 2009-12-24  Bruno Haible  <bruno@clisp.org>
33392
33393         openat: Fix warning.
33394         * lib/openat-proc.c: Include <unistd.h>.
33395
33396 2009-12-24  Bruno Haible  <bruno@clisp.org>
33397
33398         New module 'unused-parameter'.
33399         * build-aux/unused-parameter.h: New file, extracted from earlier
33400         gnulib-common.m4.
33401         * modules/unused-parameter: New file.
33402         * lib/unistr.h: Include unused-parameter.h.
33403         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
33404         _GL_UNUSED.
33405         * modules/unistr/base (Depends-on): Add unused-parameter.
33406
33407 2009-12-24  Bruno Haible  <bruno@clisp.org>
33408
33409         Add missing dependencies to 'extensions' module.
33410         * m4/extensions.m4: Add comment.
33411         * modules/accept4 (Depends-on): Add extensions.
33412         * modules/dup3 (Depends-on): Likewise.
33413         * modules/fcntl (Depends-on): Likewise.
33414         * modules/futimens (Depends-on): Likewise.
33415         * modules/mknod (Depends-on): Likewise.
33416         * modules/pipe2 (Depends-on): Likewise.
33417         * modules/stat-time (Depends-on): Likewise.
33418         * modules/strcasestr-simple (Depends-on): Likewise.
33419         * modules/strsignal (Depends-on): Likewise.
33420         * modules/utimensat (Depends-on): Likewise.
33421         * modules/localcharset (Depends-on): Likewise. Needed because of
33422         gl_FCNTL_O_FLAGS.
33423         * modules/wcrtomb (Depends-on): Likewise. Needed because of
33424         AC_TYPE_MBSTATE_T.
33425         * modules/wcsnrtombs (Depends-on): Likewise.
33426         * modules/wcsrtombs (Depends-on): Likewise.
33427
33428 2009-12-24  Bruno Haible  <bruno@clisp.org>
33429
33430         binary-io: Avoid gcc warning due to SET_BINARY.
33431         * lib/binary-io.h (SET_BINARY): Cast the result to void.
33432         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
33433
33434 2009-12-24  Bruno Haible  <bruno@clisp.org>
33435
33436         Avoid future namespace pollution on glibc systems.
33437         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
33438         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
33439         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
33440         glibc systems.
33441
33442 2009-12-24  Bruno Haible  <bruno@clisp.org>
33443
33444         Refactor common macros used in tests.
33445         * tests/macros.h: New file.
33446         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
33447         and/or <stdlib.h>, if appropriate.
33448         (ASSERT, SIZEOF): Remove macros.
33449         * tests/test-areadlink-with-size.c: Likewise.
33450         * tests/test-areadlinkat.c: Likewise.
33451         * tests/test-areadlinkat-with-size.c: Likewise.
33452         * tests/test-argmatch.c: Likewise.
33453         * tests/test-argv-iter.c: Likewise.
33454         * tests/test-array-mergesort.c: Likewise.
33455         * tests/test-array_list.c: Likewise.
33456         * tests/test-array_oset.c: Likewise.
33457         * tests/test-avltree_list.c: Likewise.
33458         * tests/test-avltree_oset.c: Likewise.
33459         * tests/test-avltreehash_list.c: Likewise.
33460         * tests/test-base64.c: Likewise.
33461         * tests/test-binary-io.c: Likewise.
33462         * tests/test-bitrotate.c: Likewise.
33463         * tests/test-btowc.c: Likewise.
33464         * tests/test-byteswap.c: Likewise.
33465         * tests/test-c-ctype.c: Likewise.
33466         * tests/test-c-stack.c: Likewise.
33467         * tests/test-c-strcasecmp.c: Likewise.
33468         * tests/test-c-strcasestr.c: Likewise.
33469         * tests/test-c-strncasecmp.c: Likewise.
33470         * tests/test-c-strstr.c: Likewise.
33471         * tests/test-canonicalize-lgpl.c: Likewise.
33472         * tests/test-canonicalize.c: Likewise.
33473         * tests/test-carray_list.c: Likewise.
33474         * tests/test-ceilf1.c: Likewise.
33475         * tests/test-ceilf2.c: Likewise.
33476         * tests/test-ceill.c: Likewise.
33477         * tests/test-chown.c: Likewise.
33478         * tests/test-cloexec.c: Likewise.
33479         * tests/test-copy-acl.c: Likewise.
33480         * tests/test-copy-file.c: Likewise.
33481         * tests/test-count-one-bits.c: Likewise.
33482         * tests/test-dprintf-posix.c: Likewise.
33483         * tests/test-dup2.c: Likewise.
33484         * tests/test-dup3.c: Likewise.
33485         * tests/test-duplocale.c: Likewise.
33486         * tests/test-fbufmode.c: Likewise.
33487         * tests/test-fchdir.c: Likewise.
33488         * tests/test-fchownat.c: Likewise.
33489         * tests/test-fcntl-safer.c: Likewise.
33490         * tests/test-fcntl.c: Likewise.
33491         * tests/test-fdopendir.c: Likewise.
33492         * tests/test-fdutimensat.c: Likewise.
33493         * tests/test-fflush2.c: Likewise.
33494         * tests/test-file-has-acl.c: Likewise.
33495         * tests/test-filevercmp.c: Likewise.
33496         * tests/test-flock.c: Likewise.
33497         * tests/test-floorf1.c: Likewise.
33498         * tests/test-floorf2.c: Likewise.
33499         * tests/test-floorl.c: Likewise.
33500         * tests/test-fnmatch.c: Likewise.
33501         * tests/test-fopen.h: Likewise.
33502         * tests/test-fpending.c: Likewise.
33503         * tests/test-fprintf-posix.c: Likewise.
33504         * tests/test-fpurge.c: Likewise.
33505         * tests/test-freadable.c: Likewise.
33506         * tests/test-freadahead.c: Likewise.
33507         * tests/test-freading.c: Likewise.
33508         * tests/test-freadptr.c: Likewise.
33509         * tests/test-freadptr2.c: Likewise.
33510         * tests/test-freadseek.c: Likewise.
33511         * tests/test-freopen.c: Likewise.
33512         * tests/test-frexp.c: Likewise.
33513         * tests/test-frexpl.c: Likewise.
33514         * tests/test-fseek.c: Likewise.
33515         * tests/test-fseeko.c: Likewise.
33516         * tests/test-fstatat.c: Likewise.
33517         * tests/test-fstrcmp.c: Likewise.
33518         * tests/test-fsync.c: Likewise.
33519         * tests/test-ftell.c: Likewise.
33520         * tests/test-ftello.c: Likewise.
33521         * tests/test-func.c: Likewise.
33522         * tests/test-futimens.c: Likewise.
33523         * tests/test-fwritable.c: Likewise.
33524         * tests/test-fwriting.c: Likewise.
33525         * tests/test-getcwd.c: Likewise.
33526         * tests/test-getdate.c: Likewise.
33527         * tests/test-getdelim.c: Likewise.
33528         * tests/test-getdtablesize.c: Likewise.
33529         * tests/test-getgroups.c: Likewise.
33530         * tests/test-getline.c: Likewise.
33531         * tests/test-getndelim2.c: Likewise.
33532         * tests/test-glob.c: Likewise.
33533         * tests/test-hash.c: Likewise.
33534         * tests/test-i-ring.c: Likewise.
33535         * tests/test-iconv-utf.c: Likewise.
33536         * tests/test-iconv.c: Likewise.
33537         * tests/test-idpriv-drop.c: Likewise.
33538         * tests/test-idpriv-droptemp.c: Likewise.
33539         * tests/test-inet_ntop.c: Likewise.
33540         * tests/test-inet_pton.c: Likewise.
33541         * tests/test-isblank.c: Likewise.
33542         * tests/test-isfinite.c: Likewise.
33543         * tests/test-isinf.c: Likewise.
33544         * tests/test-isnan.c: Likewise.
33545         * tests/test-isnand.h: Likewise.
33546         * tests/test-isnanf.h: Likewise.
33547         * tests/test-isnanl.h: Likewise.
33548         * tests/test-lchown.c: Likewise.
33549         * tests/test-ldexpl.c: Likewise.
33550         * tests/test-link.c: Likewise.
33551         * tests/test-linkat.c: Likewise.
33552         * tests/test-linked_list.c: Likewise.
33553         * tests/test-linkedhash_list.c: Likewise.
33554         * tests/test-localename.c: Likewise.
33555         * tests/test-lseek.c: Likewise.
33556         * tests/test-lstat.c: Likewise.
33557         * tests/test-mbmemcasecmp.c: Likewise.
33558         * tests/test-mbmemcasecoll.c: Likewise.
33559         * tests/test-mbrtowc.c: Likewise.
33560         * tests/test-mbscasecmp.c: Likewise.
33561         * tests/test-mbscasestr1.c: Likewise.
33562         * tests/test-mbscasestr2.c: Likewise.
33563         * tests/test-mbscasestr3.c: Likewise.
33564         * tests/test-mbscasestr4.c: Likewise.
33565         * tests/test-mbschr.c: Likewise.
33566         * tests/test-mbscspn.c: Likewise.
33567         * tests/test-mbsinit.c: Likewise.
33568         * tests/test-mbsncasecmp.c: Likewise.
33569         * tests/test-mbsnrtowcs.c: Likewise.
33570         * tests/test-mbspbrk.c: Likewise.
33571         * tests/test-mbspcasecmp.c: Likewise.
33572         * tests/test-mbsrchr.c: Likewise.
33573         * tests/test-mbsrtowcs.c: Likewise.
33574         * tests/test-mbsspn.c: Likewise.
33575         * tests/test-mbsstr1.c: Likewise.
33576         * tests/test-mbsstr2.c: Likewise.
33577         * tests/test-mbsstr3.c: Likewise.
33578         * tests/test-memchr.c: Likewise.
33579         * tests/test-memchr2.c: Likewise.
33580         * tests/test-memcmp.c: Likewise.
33581         * tests/test-memmem.c: Likewise.
33582         * tests/test-memrchr.c: Likewise.
33583         * tests/test-mkdir.c: Likewise.
33584         * tests/test-mkdirat.c: Likewise.
33585         * tests/test-mkfifo.c: Likewise.
33586         * tests/test-mkfifoat.c: Likewise.
33587         * tests/test-mknod.c: Likewise.
33588         * tests/test-nanosleep.c: Likewise.
33589         * tests/test-nl_langinfo.c: Likewise.
33590         * tests/test-obstack-printf.c: Likewise.
33591         * tests/test-open.c: Likewise.
33592         * tests/test-openat.c: Likewise.
33593         * tests/test-pipe-filter-gi1.c: Likewise.
33594         * tests/test-pipe-filter-gi2-main.c: Likewise.
33595         * tests/test-pipe-filter-ii1.c: Likewise.
33596         * tests/test-pipe-filter-ii2-main.c: Likewise.
33597         * tests/test-pipe2.c: Likewise.
33598         * tests/test-popen.h: Likewise.
33599         * tests/test-posixtm.c: Likewise.
33600         * tests/test-pread.c: Likewise.
33601         * tests/test-printf-frexp.c: Likewise.
33602         * tests/test-printf-frexpl.c: Likewise.
33603         * tests/test-printf-posix.c: Likewise.
33604         * tests/test-priv-set.c: Likewise.
33605         * tests/test-quotearg.c: Likewise.
33606         * tests/test-random_r.c: Likewise.
33607         * tests/test-rawmemchr.c: Likewise.
33608         * tests/test-rbtree_list.c: Likewise.
33609         * tests/test-rbtree_oset.c: Likewise.
33610         * tests/test-rbtreehash_list.c: Likewise.
33611         * tests/test-readlink.c: Likewise.
33612         * tests/test-remove.c: Likewise.
33613         * tests/test-rename.c: Likewise.
33614         * tests/test-renameat.c: Likewise.
33615         * tests/test-rmdir.c: Likewise.
33616         * tests/test-round1.c: Likewise.
33617         * tests/test-roundf1.c: Likewise.
33618         * tests/test-roundl.c: Likewise.
33619         * tests/test-safe-alloc.c: Likewise.
33620         * tests/test-sameacls.c: Likewise.
33621         * tests/test-set-mode-acl.c: Likewise.
33622         * tests/test-setenv.c: Likewise.
33623         * tests/test-sigaction.c: Likewise.
33624         * tests/test-signbit.c: Likewise.
33625         * tests/test-sleep.c: Likewise.
33626         * tests/test-snprintf-posix.c: Likewise.
33627         * tests/test-snprintf.c: Likewise.
33628         * tests/test-sprintf-posix.c: Likewise.
33629         * tests/test-stat-time.c: Likewise.
33630         * tests/test-stat.c: Likewise.
33631         * tests/test-strcasestr.c: Likewise.
33632         * tests/test-strchrnul.c: Likewise.
33633         * tests/test-strerror.c: Likewise.
33634         * tests/test-striconv.c: Likewise.
33635         * tests/test-striconveh.c: Likewise.
33636         * tests/test-striconveha.c: Likewise.
33637         * tests/test-strsignal.c: Likewise.
33638         * tests/test-strstr.c: Likewise.
33639         * tests/test-strtod.c: Likewise.
33640         * tests/test-strverscmp.c: Likewise.
33641         * tests/test-symlink.c: Likewise.
33642         * tests/test-symlinkat.c: Likewise.
33643         * tests/test-trunc1.c: Likewise.
33644         * tests/test-trunc2.c: Likewise.
33645         * tests/test-truncf1.c: Likewise.
33646         * tests/test-truncf2.c: Likewise.
33647         * tests/test-truncl.c: Likewise.
33648         * tests/test-uname.c: Likewise.
33649         * tests/test-unlink.c: Likewise.
33650         * tests/test-unlinkat.c: Likewise.
33651         * tests/test-unsetenv.c: Likewise.
33652         * tests/test-usleep.c: Likewise.
33653         * tests/test-utimens.c: Likewise.
33654         * tests/test-utimensat.c: Likewise.
33655         * tests/test-vasnprintf-posix.c: Likewise.
33656         * tests/test-vasnprintf-posix2.c: Likewise.
33657         * tests/test-vasnprintf.c: Likewise.
33658         * tests/test-vasprintf-posix.c: Likewise.
33659         * tests/test-vasprintf.c: Likewise.
33660         * tests/test-vdprintf-posix.c: Likewise.
33661         * tests/test-vfprintf-posix.c: Likewise.
33662         * tests/test-vprintf-posix.c: Likewise.
33663         * tests/test-vsnprintf-posix.c: Likewise.
33664         * tests/test-vsnprintf.c: Likewise.
33665         * tests/test-vsprintf-posix.c: Likewise.
33666         * tests/test-wcrtomb.c: Likewise.
33667         * tests/test-wcsnrtombs.c: Likewise.
33668         * tests/test-wcsrtombs.c: Likewise.
33669         * tests/test-wctype.c: Likewise.
33670         * tests/test-wcwidth.c: Likewise.
33671         * tests/test-xfprintf-posix.c: Likewise.
33672         * tests/test-xmemdup0.c: Likewise.
33673         * tests/test-xprintf-posix.c: Likewise.
33674         * tests/test-xvasprintf.c: Likewise.
33675         * tests/unicase/test-locale-language.c: Likewise.
33676         * tests/unicase/test-mapping-part1.h: Likewise.
33677         * tests/unicase/test-predicate-part1.h: Likewise.
33678         * tests/unicase/test-u8-casecmp.c: Likewise.
33679         * tests/unicase/test-u8-casecoll.c: Likewise.
33680         * tests/unicase/test-u8-casefold.c: Likewise.
33681         * tests/unicase/test-u8-is-cased.c: Likewise.
33682         * tests/unicase/test-u8-is-casefolded.c: Likewise.
33683         * tests/unicase/test-u8-is-lowercase.c: Likewise.
33684         * tests/unicase/test-u8-is-titlecase.c: Likewise.
33685         * tests/unicase/test-u8-is-uppercase.c: Likewise.
33686         * tests/unicase/test-u8-tolower.c: Likewise.
33687         * tests/unicase/test-u8-totitle.c: Likewise.
33688         * tests/unicase/test-u8-toupper.c: Likewise.
33689         * tests/unicase/test-u16-casecmp.c: Likewise.
33690         * tests/unicase/test-u16-casecoll.c: Likewise.
33691         * tests/unicase/test-u16-casefold.c: Likewise.
33692         * tests/unicase/test-u16-is-cased.c: Likewise.
33693         * tests/unicase/test-u16-is-casefolded.c: Likewise.
33694         * tests/unicase/test-u16-is-lowercase.c: Likewise.
33695         * tests/unicase/test-u16-is-titlecase.c: Likewise.
33696         * tests/unicase/test-u16-is-uppercase.c: Likewise.
33697         * tests/unicase/test-u16-tolower.c: Likewise.
33698         * tests/unicase/test-u16-totitle.c: Likewise.
33699         * tests/unicase/test-u16-toupper.c: Likewise.
33700         * tests/unicase/test-u32-casecmp.c: Likewise.
33701         * tests/unicase/test-u32-casecoll.c: Likewise.
33702         * tests/unicase/test-u32-casefold.c: Likewise.
33703         * tests/unicase/test-u32-is-cased.c: Likewise.
33704         * tests/unicase/test-u32-is-casefolded.c: Likewise.
33705         * tests/unicase/test-u32-is-lowercase.c: Likewise.
33706         * tests/unicase/test-u32-is-titlecase.c: Likewise.
33707         * tests/unicase/test-u32-is-uppercase.c: Likewise.
33708         * tests/unicase/test-u32-tolower.c: Likewise.
33709         * tests/unicase/test-u32-totitle.c: Likewise.
33710         * tests/unicase/test-u32-toupper.c: Likewise.
33711         * tests/unicase/test-ulc-casecmp.c: Likewise.
33712         * tests/unicase/test-ulc-casecoll.c: Likewise.
33713         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
33714         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
33715         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
33716         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
33717         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
33718         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
33719         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
33720         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
33721         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
33722         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
33723         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
33724         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
33725         * tests/unictype/test-bidi_byname.c: Likewise.
33726         * tests/unictype/test-bidi_name.c: Likewise.
33727         * tests/unictype/test-bidi_of.c: Likewise.
33728         * tests/unictype/test-bidi_test.c: Likewise.
33729         * tests/unictype/test-block_list.c: Likewise.
33730         * tests/unictype/test-block_of.c: Likewise.
33731         * tests/unictype/test-block_test.c: Likewise.
33732         * tests/unictype/test-categ_and.c: Likewise.
33733         * tests/unictype/test-categ_and_not.c: Likewise.
33734         * tests/unictype/test-categ_byname.c: Likewise.
33735         * tests/unictype/test-categ_name.c: Likewise.
33736         * tests/unictype/test-categ_none.c: Likewise.
33737         * tests/unictype/test-categ_of.c: Likewise.
33738         * tests/unictype/test-categ_or.c: Likewise.
33739         * tests/unictype/test-categ_test_withtable.c: Likewise.
33740         * tests/unictype/test-combining.c: Likewise.
33741         * tests/unictype/test-decdigit.c: Likewise.
33742         * tests/unictype/test-digit.c: Likewise.
33743         * tests/unictype/test-mirror.c: Likewise.
33744         * tests/unictype/test-numeric.c: Likewise.
33745         * tests/unictype/test-pr_byname.c: Likewise.
33746         * tests/unictype/test-pr_test.c: Likewise.
33747         * tests/unictype/test-predicate-part1.h: Likewise.
33748         * tests/unictype/test-scripts.c: Likewise.
33749         * tests/unictype/test-sy_c_ident.c: Likewise.
33750         * tests/unictype/test-sy_java_ident.c: Likewise.
33751         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
33752         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
33753         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
33754         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
33755         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
33756         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
33757         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
33758         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
33759         * tests/uninorm/test-canonical-decomposition.c: Likewise.
33760         * tests/uninorm/test-compat-decomposition.c: Likewise.
33761         * tests/uninorm/test-composition.c: Likewise.
33762         * tests/uninorm/test-decomposing-form.c: Likewise.
33763         * tests/uninorm/test-decomposition.c: Likewise.
33764         * tests/uninorm/test-u8-nfc.c: Likewise.
33765         * tests/uninorm/test-u8-nfd.c: Likewise.
33766         * tests/uninorm/test-u8-nfkc.c: Likewise.
33767         * tests/uninorm/test-u8-nfkd.c: Likewise.
33768         * tests/uninorm/test-u8-normcmp.c: Likewise.
33769         * tests/uninorm/test-u8-normcoll.c: Likewise.
33770         * tests/uninorm/test-u16-nfc.c: Likewise.
33771         * tests/uninorm/test-u16-nfd.c: Likewise.
33772         * tests/uninorm/test-u16-nfkc.c: Likewise.
33773         * tests/uninorm/test-u16-nfkd.c: Likewise.
33774         * tests/uninorm/test-u16-normcmp.c: Likewise.
33775         * tests/uninorm/test-u16-normcoll.c: Likewise.
33776         * tests/uninorm/test-u32-nfc.c: Likewise.
33777         * tests/uninorm/test-u32-nfd.c: Likewise.
33778         * tests/uninorm/test-u32-nfkc.c: Likewise.
33779         * tests/uninorm/test-u32-nfkd.c: Likewise.
33780         * tests/uninorm/test-u32-normalize-big.c: Likewise.
33781         * tests/uninorm/test-u32-normcmp.c: Likewise.
33782         * tests/uninorm/test-u32-normcoll.c: Likewise.
33783         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
33784         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
33785         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
33786         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
33787         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
33788         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
33789         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
33790         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
33791         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
33792         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
33793         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
33794         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
33795         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
33796         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
33797         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
33798         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
33799         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
33800         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
33801         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
33802         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
33803         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
33804         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
33805         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
33806         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
33807         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
33808         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
33809         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
33810         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
33811         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
33812         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
33813         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
33814         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
33815         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
33816         * tests/uniwidth/test-u8-strwidth.c: Likewise.
33817         * tests/uniwidth/test-u8-width.c: Likewise.
33818         * tests/uniwidth/test-u16-strwidth.c: Likewise.
33819         * tests/uniwidth/test-u16-width.c: Likewise.
33820         * tests/uniwidth/test-u32-strwidth.c: Likewise.
33821         * tests/uniwidth/test-u32-width.c: Likewise.
33822         * tests/uniwidth/test-uc_width.c: Likewise.
33823         * tests/uniwidth/test-uc_width2.c: Likewise.
33824         * modules/acl-tests (Files): Add tests/macros.h.
33825         * modules/areadlink-tests (Files): Likewise.
33826         * modules/areadlink-with-size-tests (Files): Likewise.
33827         * modules/areadlinkat-tests (Files): Likewise.
33828         * modules/areadlinkat-with-size-tests (Files): Likewise.
33829         * modules/argmatch-tests (Files): Likewise.
33830         * modules/argv-iter-tests (Files): Likewise.
33831         * modules/array-list-tests (Files): Likewise.
33832         * modules/array-mergesort-tests (Files): Likewise.
33833         * modules/array-oset-tests (Files): Likewise.
33834         * modules/avltree-list-tests (Files): Likewise.
33835         * modules/avltree-oset-tests (Files): Likewise.
33836         * modules/avltreehash-list-tests (Files): Likewise.
33837         * modules/base64-tests (Files): Likewise.
33838         * modules/binary-io-tests (Files): Likewise.
33839         * modules/bitrotate-tests (Files): Likewise.
33840         * modules/btowc-tests (Files): Likewise.
33841         * modules/byteswap-tests (Files): Likewise.
33842         * modules/c-ctype-tests (Files): Likewise.
33843         * modules/c-stack-tests (Files): Likewise.
33844         * modules/c-strcase-tests (Files): Likewise.
33845         * modules/c-strcasestr-tests (Files): Likewise.
33846         * modules/c-strstr-tests (Files): Likewise.
33847         * modules/canonicalize-lgpl-tests (Files): Likewise.
33848         * modules/canonicalize-tests (Files): Likewise.
33849         * modules/carray-list-tests (Files): Likewise.
33850         * modules/ceilf-tests (Files): Likewise.
33851         * modules/ceill-tests (Files): Likewise.
33852         * modules/chown-tests (Files): Likewise.
33853         * modules/cloexec-tests (Files): Likewise.
33854         * modules/copy-file-tests (Files): Likewise.
33855         * modules/count-one-bits-tests (Files): Likewise.
33856         * modules/dprintf-posix-tests (Files): Likewise.
33857         * modules/dup2-tests (Files): Likewise.
33858         * modules/dup3-tests (Files): Likewise.
33859         * modules/duplocale-tests (Files): Likewise.
33860         * modules/fbufmode-tests (Files): Likewise.
33861         * modules/fchdir-tests (Files): Likewise.
33862         * modules/fcntl-safer-tests (Files): Likewise.
33863         * modules/fcntl-tests (Files): Likewise.
33864         * modules/fdopendir-tests (Files): Likewise.
33865         * modules/fdutimensat-tests (Files): Likewise.
33866         * modules/fflush-tests (Files): Likewise.
33867         * modules/filevercmp-tests (Files): Likewise.
33868         * modules/flock-tests (Files): Likewise.
33869         * modules/floorf-tests (Files): Likewise.
33870         * modules/floorl-tests (Files): Likewise.
33871         * modules/fnmatch-tests (Files): Likewise.
33872         * modules/fopen-safer-tests (Files): Likewise.
33873         * modules/fopen-tests (Files): Likewise.
33874         * modules/fpending-tests (Files): Likewise.
33875         * modules/fprintf-posix-tests (Files): Likewise.
33876         * modules/fpurge-tests (Files): Likewise.
33877         * modules/freadable-tests (Files): Likewise.
33878         * modules/freadahead-tests (Files): Likewise.
33879         * modules/freading-tests (Files): Likewise.
33880         * modules/freadptr-tests (Files): Likewise.
33881         * modules/freadseek-tests (Files): Likewise.
33882         * modules/freopen-tests (Files): Likewise.
33883         * modules/frexp-nolibm-tests (Files): Likewise.
33884         * modules/frexp-tests (Files): Likewise.
33885         * modules/frexpl-nolibm-tests (Files): Likewise.
33886         * modules/frexpl-tests (Files): Likewise.
33887         * modules/fseek-tests (Files): Likewise.
33888         * modules/fseeko-tests (Files): Likewise.
33889         * modules/fstrcmp-tests (Files): Likewise.
33890         * modules/fsync-tests (Files): Likewise.
33891         * modules/ftell-tests (Files): Likewise.
33892         * modules/ftello-tests (Files): Likewise.
33893         * modules/func-tests (Files): Likewise.
33894         * modules/futimens-tests (Files): Likewise.
33895         * modules/fwritable-tests (Files): Likewise.
33896         * modules/fwriting-tests (Files): Likewise.
33897         * modules/getcwd-tests (Files): Likewise.
33898         * modules/getdate-tests (Files): Likewise.
33899         * modules/getdelim-tests (Files): Likewise.
33900         * modules/getdtablesize-tests (Files): Likewise.
33901         * modules/getgroups-tests (Files): Likewise.
33902         * modules/getline-tests (Files): Likewise.
33903         * modules/getndelim2-tests (Files): Likewise.
33904         * modules/glob-tests (Files): Likewise.
33905         * modules/hash-tests (Files): Likewise.
33906         * modules/i-ring-tests (Files): Likewise.
33907         * modules/iconv-tests (Files): Likewise.
33908         * modules/iconv_open-utf-tests (Files): Likewise.
33909         * modules/idpriv-drop-tests (Files): Likewise.
33910         * modules/idpriv-droptemp-tests (Files): Likewise.
33911         * modules/inet_ntop-tests (Files): Likewise.
33912         * modules/inet_pton-tests (Files): Likewise.
33913         * modules/isblank-tests (Files): Likewise.
33914         * modules/isfinite-tests (Files): Likewise.
33915         * modules/isinf-tests (Files): Likewise.
33916         * modules/isnan-tests (Files): Likewise.
33917         * modules/isnand-nolibm-tests (Files): Likewise.
33918         * modules/isnand-tests (Files): Likewise.
33919         * modules/isnanf-nolibm-tests (Files): Likewise.
33920         * modules/isnanf-tests (Files): Likewise.
33921         * modules/isnanl-nolibm-tests (Files): Likewise.
33922         * modules/isnanl-tests (Files): Likewise.
33923         * modules/lchown-tests (Files): Likewise.
33924         * modules/ldexpl-tests (Files): Likewise.
33925         * modules/link-tests (Files): Likewise.
33926         * modules/linkat-tests (Files): Likewise.
33927         * modules/linked-list-tests (Files): Likewise.
33928         * modules/linkedhash-list-tests (Files): Likewise.
33929         * modules/localename-tests (Files): Likewise.
33930         * modules/lseek-tests (Files): Likewise.
33931         * modules/lstat-tests (Files): Likewise.
33932         * modules/mbmemcasecmp-tests (Files): Likewise.
33933         * modules/mbmemcasecoll-tests (Files): Likewise.
33934         * modules/mbrtowc-tests (Files): Likewise.
33935         * modules/mbscasecmp-tests (Files): Likewise.
33936         * modules/mbscasestr-tests (Files): Likewise.
33937         * modules/mbschr-tests (Files): Likewise.
33938         * modules/mbscspn-tests (Files): Likewise.
33939         * modules/mbsinit-tests (Files): Likewise.
33940         * modules/mbsncasecmp-tests (Files): Likewise.
33941         * modules/mbsnrtowcs-tests (Files): Likewise.
33942         * modules/mbspbrk-tests (Files): Likewise.
33943         * modules/mbspcasecmp-tests (Files): Likewise.
33944         * modules/mbsrchr-tests (Files): Likewise.
33945         * modules/mbsrtowcs-tests (Files): Likewise.
33946         * modules/mbsspn-tests (Files): Likewise.
33947         * modules/mbsstr-tests (Files): Likewise.
33948         * modules/memchr-tests (Files): Likewise.
33949         * modules/memchr2-tests (Files): Likewise.
33950         * modules/memcmp-tests (Files): Likewise.
33951         * modules/memmem-tests (Files): Likewise.
33952         * modules/memrchr-tests (Files): Likewise.
33953         * modules/mkdir-tests (Files): Likewise.
33954         * modules/mkfifo-tests (Files): Likewise.
33955         * modules/mkfifoat-tests (Files): Likewise.
33956         * modules/mknod-tests (Files): Likewise.
33957         * modules/nanosleep-tests (Files): Likewise.
33958         * modules/nl_langinfo-tests (Files): Likewise.
33959         * modules/obstack-printf-tests (Files): Likewise.
33960         * modules/open-tests (Files): Likewise.
33961         * modules/openat-tests (Files): Likewise.
33962         * modules/pipe-filter-gi-tests (Files): Likewise.
33963         * modules/pipe-filter-ii-tests (Files): Likewise.
33964         * modules/pipe2-tests (Files): Likewise.
33965         * modules/popen-safer-tests (Files): Likewise.
33966         * modules/popen-tests (Files): Likewise.
33967         * modules/posixtm-tests (Files): Likewise.
33968         * modules/pread-tests (Files): Likewise.
33969         * modules/printf-frexp-tests (Files): Likewise.
33970         * modules/printf-frexpl-tests (Files): Likewise.
33971         * modules/printf-posix-tests (Files): Likewise.
33972         * modules/priv-set-tests (Files): Likewise.
33973         * modules/quotearg-tests (Files): Likewise.
33974         * modules/random_r-tests (Files): Likewise.
33975         * modules/rawmemchr-tests (Files): Likewise.
33976         * modules/rbtree-list-tests (Files): Likewise.
33977         * modules/rbtree-oset-tests (Files): Likewise.
33978         * modules/rbtreehash-list-tests (Files): Likewise.
33979         * modules/readlink-tests (Files): Likewise.
33980         * modules/remove-tests (Files): Likewise.
33981         * modules/rename-tests (Files): Likewise.
33982         * modules/renameat-tests (Files): Likewise.
33983         * modules/rmdir-tests (Files): Likewise.
33984         * modules/round-tests (Files): Likewise.
33985         * modules/roundf-tests (Files): Likewise.
33986         * modules/roundl-tests (Files): Likewise.
33987         * modules/safe-alloc-tests (Files): Likewise.
33988         * modules/setenv-tests (Files): Likewise.
33989         * modules/sigaction-tests (Files): Likewise.
33990         * modules/signbit-tests (Files): Likewise.
33991         * modules/sleep-tests (Files): Likewise.
33992         * modules/snprintf-posix-tests (Files): Likewise.
33993         * modules/snprintf-tests (Files): Likewise.
33994         * modules/sprintf-posix-tests (Files): Likewise.
33995         * modules/stat-tests (Files): Likewise.
33996         * modules/stat-time-tests (Files): Likewise.
33997         * modules/strcasestr-tests (Files): Likewise.
33998         * modules/strchrnul-tests (Files): Likewise.
33999         * modules/strerror-tests (Files): Likewise.
34000         * modules/striconv-tests (Files): Likewise.
34001         * modules/striconveh-tests (Files): Likewise.
34002         * modules/striconveha-tests (Files): Likewise.
34003         * modules/strsignal-tests (Files): Likewise.
34004         * modules/strstr-tests (Files): Likewise.
34005         * modules/strtod-tests (Files): Likewise.
34006         * modules/strverscmp-tests (Files): Likewise.
34007         * modules/symlink-tests (Files): Likewise.
34008         * modules/symlinkat-tests (Files): Likewise.
34009         * modules/trunc-tests (Files): Likewise.
34010         * modules/truncf-tests (Files): Likewise.
34011         * modules/truncl-tests (Files): Likewise.
34012         * modules/uname-tests (Files): Likewise.
34013         * modules/unicase/cased-tests (Files): Likewise.
34014         * modules/unicase/ignorable-tests (Files): Likewise.
34015         * modules/unicase/locale-language-tests (Files): Likewise.
34016         * modules/unicase/tolower-tests (Files): Likewise.
34017         * modules/unicase/totitle-tests (Files): Likewise.
34018         * modules/unicase/toupper-tests (Files): Likewise.
34019         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34020         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34021         * modules/unicase/u8-casefold-tests (Files): Likewise.
34022         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34023         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34024         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34025         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34026         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34027         * modules/unicase/u8-tolower-tests (Files): Likewise.
34028         * modules/unicase/u8-totitle-tests (Files): Likewise.
34029         * modules/unicase/u8-toupper-tests (Files): Likewise.
34030         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34031         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34032         * modules/unicase/u16-casefold-tests (Files): Likewise.
34033         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34034         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34035         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34036         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34037         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34038         * modules/unicase/u16-tolower-tests (Files): Likewise.
34039         * modules/unicase/u16-totitle-tests (Files): Likewise.
34040         * modules/unicase/u16-toupper-tests (Files): Likewise.
34041         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34042         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34043         * modules/unicase/u32-casefold-tests (Files): Likewise.
34044         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34045         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34046         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34047         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34048         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34049         * modules/unicase/u32-tolower-tests (Files): Likewise.
34050         * modules/unicase/u32-totitle-tests (Files): Likewise.
34051         * modules/unicase/u32-toupper-tests (Files): Likewise.
34052         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34053         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34054         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34055         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34056         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34057         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34058         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34059         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34060         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34061         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34062         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34063         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34064         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34065         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34066         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34067         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34068         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34069         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34070         * modules/unictype/block-list-tests (Files): Likewise.
34071         * modules/unictype/block-of-tests (Files): Likewise.
34072         * modules/unictype/block-test-tests (Files): Likewise.
34073         * modules/unictype/category-C-tests (Files): Likewise.
34074         * modules/unictype/category-Cc-tests (Files): Likewise.
34075         * modules/unictype/category-Cf-tests (Files): Likewise.
34076         * modules/unictype/category-Cn-tests (Files): Likewise.
34077         * modules/unictype/category-Co-tests (Files): Likewise.
34078         * modules/unictype/category-Cs-tests (Files): Likewise.
34079         * modules/unictype/category-L-tests (Files): Likewise.
34080         * modules/unictype/category-Ll-tests (Files): Likewise.
34081         * modules/unictype/category-Lm-tests (Files): Likewise.
34082         * modules/unictype/category-Lo-tests (Files): Likewise.
34083         * modules/unictype/category-Lt-tests (Files): Likewise.
34084         * modules/unictype/category-Lu-tests (Files): Likewise.
34085         * modules/unictype/category-M-tests (Files): Likewise.
34086         * modules/unictype/category-Mc-tests (Files): Likewise.
34087         * modules/unictype/category-Me-tests (Files): Likewise.
34088         * modules/unictype/category-Mn-tests (Files): Likewise.
34089         * modules/unictype/category-N-tests (Files): Likewise.
34090         * modules/unictype/category-Nd-tests (Files): Likewise.
34091         * modules/unictype/category-Nl-tests (Files): Likewise.
34092         * modules/unictype/category-No-tests (Files): Likewise.
34093         * modules/unictype/category-P-tests (Files): Likewise.
34094         * modules/unictype/category-Pc-tests (Files): Likewise.
34095         * modules/unictype/category-Pd-tests (Files): Likewise.
34096         * modules/unictype/category-Pe-tests (Files): Likewise.
34097         * modules/unictype/category-Pf-tests (Files): Likewise.
34098         * modules/unictype/category-Pi-tests (Files): Likewise.
34099         * modules/unictype/category-Po-tests (Files): Likewise.
34100         * modules/unictype/category-Ps-tests (Files): Likewise.
34101         * modules/unictype/category-S-tests (Files): Likewise.
34102         * modules/unictype/category-Sc-tests (Files): Likewise.
34103         * modules/unictype/category-Sk-tests (Files): Likewise.
34104         * modules/unictype/category-Sm-tests (Files): Likewise.
34105         * modules/unictype/category-So-tests (Files): Likewise.
34106         * modules/unictype/category-Z-tests (Files): Likewise.
34107         * modules/unictype/category-Zl-tests (Files): Likewise.
34108         * modules/unictype/category-Zp-tests (Files): Likewise.
34109         * modules/unictype/category-Zs-tests (Files): Likewise.
34110         * modules/unictype/category-and-not-tests (Files): Likewise.
34111         * modules/unictype/category-and-tests (Files): Likewise.
34112         * modules/unictype/category-byname-tests (Files): Likewise.
34113         * modules/unictype/category-name-tests (Files): Likewise.
34114         * modules/unictype/category-none-tests (Files): Likewise.
34115         * modules/unictype/category-of-tests (Files): Likewise.
34116         * modules/unictype/category-or-tests (Files): Likewise.
34117         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34118         * modules/unictype/combining-class-tests (Files): Likewise.
34119         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34120         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34121         * modules/unictype/ctype-blank-tests (Files): Likewise.
34122         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34123         * modules/unictype/ctype-digit-tests (Files): Likewise.
34124         * modules/unictype/ctype-graph-tests (Files): Likewise.
34125         * modules/unictype/ctype-lower-tests (Files): Likewise.
34126         * modules/unictype/ctype-print-tests (Files): Likewise.
34127         * modules/unictype/ctype-punct-tests (Files): Likewise.
34128         * modules/unictype/ctype-space-tests (Files): Likewise.
34129         * modules/unictype/ctype-upper-tests (Files): Likewise.
34130         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34131         * modules/unictype/decimal-digit-tests (Files): Likewise.
34132         * modules/unictype/digit-tests (Files): Likewise.
34133         * modules/unictype/mirror-tests (Files): Likewise.
34134         * modules/unictype/numeric-tests (Files): Likewise.
34135         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34136         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34137         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34138         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34139         Likewise.
34140         * modules/unictype/property-bidi-block-separator-tests (Files):
34141         Likewise.
34142         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34143         Likewise.
34144         * modules/unictype/property-bidi-common-separator-tests (Files):
34145         Likewise.
34146         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34147         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34148         Likewise.
34149         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34150         Likewise.
34151         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34152         Likewise.
34153         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34154         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
34155         Likewise.
34156         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
34157         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
34158         Likewise.
34159         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
34160         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
34161         * modules/unictype/property-bidi-segment-separator-tests (Files):
34162         Likewise.
34163         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
34164         * modules/unictype/property-byname-tests (Files): Likewise.
34165         * modules/unictype/property-combining-tests (Files): Likewise.
34166         * modules/unictype/property-composite-tests (Files): Likewise.
34167         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
34168         * modules/unictype/property-dash-tests (Files): Likewise.
34169         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34170         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34171         Likewise.
34172         * modules/unictype/property-deprecated-tests (Files): Likewise.
34173         * modules/unictype/property-diacritic-tests (Files): Likewise.
34174         * modules/unictype/property-extender-tests (Files): Likewise.
34175         * modules/unictype/property-format-control-tests (Files): Likewise.
34176         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34177         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34178         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34179         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34180         * modules/unictype/property-hyphen-tests (Files): Likewise.
34181         * modules/unictype/property-id-continue-tests (Files): Likewise.
34182         * modules/unictype/property-id-start-tests (Files): Likewise.
34183         * modules/unictype/property-ideographic-tests (Files): Likewise.
34184         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34185         * modules/unictype/property-ids-trinary-operator-tests (Files):
34186         Likewise.
34187         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
34188         * modules/unictype/property-iso-control-tests (Files): Likewise.
34189         * modules/unictype/property-join-control-tests (Files): Likewise.
34190         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
34191         * modules/unictype/property-line-separator-tests (Files): Likewise.
34192         * modules/unictype/property-logical-order-exception-tests (Files):
34193         Likewise.
34194         * modules/unictype/property-lowercase-tests (Files): Likewise.
34195         * modules/unictype/property-math-tests (Files): Likewise.
34196         * modules/unictype/property-non-break-tests (Files): Likewise.
34197         * modules/unictype/property-not-a-character-tests (Files): Likewise.
34198         * modules/unictype/property-numeric-tests (Files): Likewise.
34199         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
34200         * modules/unictype/property-other-default-ignorable-code-point-tests
34201         (Files): Likewise.
34202         * modules/unictype/property-other-grapheme-extend-tests (Files):
34203         Likewise.
34204         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
34205         * modules/unictype/property-other-id-start-tests (Files): Likewise.
34206         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
34207         * modules/unictype/property-other-math-tests (Files): Likewise.
34208         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
34209         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
34210         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
34211         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
34212         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
34213         * modules/unictype/property-private-use-tests (Files): Likewise.
34214         * modules/unictype/property-punctuation-tests (Files): Likewise.
34215         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
34216         * modules/unictype/property-radical-tests (Files): Likewise.
34217         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
34218         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
34219         * modules/unictype/property-space-tests (Files): Likewise.
34220         * modules/unictype/property-terminal-punctuation-tests (Files):
34221         Likewise.
34222         * modules/unictype/property-test-tests (Files): Likewise.
34223         * modules/unictype/property-titlecase-tests (Files): Likewise.
34224         * modules/unictype/property-unassigned-code-value-tests (Files):
34225         Likewise.
34226         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
34227         * modules/unictype/property-uppercase-tests (Files): Likewise.
34228         * modules/unictype/property-variation-selector-tests (Files): Likewise.
34229         * modules/unictype/property-white-space-tests (Files): Likewise.
34230         * modules/unictype/property-xid-continue-tests (Files): Likewise.
34231         * modules/unictype/property-xid-start-tests (Files): Likewise.
34232         * modules/unictype/property-zero-width-tests (Files): Likewise.
34233         * modules/unictype/scripts-tests (Files): Likewise.
34234         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
34235         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
34236         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
34237         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
34238         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
34239         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
34240         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
34241         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
34242         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
34243         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
34244         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
34245         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
34246         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
34247         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
34248         * modules/uninorm/composition-tests (Files): Likewise.
34249         * modules/uninorm/decomposing-form-tests (Files): Likewise.
34250         * modules/uninorm/decomposition-tests (Files): Likewise.
34251         * modules/uninorm/filter-tests (Files): Likewise.
34252         * modules/uninorm/nfc-tests (Files): Likewise.
34253         * modules/uninorm/nfd-tests (Files): Likewise.
34254         * modules/uninorm/nfkc-tests (Files): Likewise.
34255         * modules/uninorm/nfkd-tests (Files): Likewise.
34256         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
34257         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
34258         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
34259         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
34260         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
34261         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
34262         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
34263         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34264         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
34265         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
34266         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
34267         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
34268         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34269         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
34270         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
34271         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
34272         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
34273         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34274         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
34275         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
34276         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
34277         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
34278         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34279         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
34280         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
34281         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
34282         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
34283         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
34284         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
34285         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
34286         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
34287         * modules/uniwidth/u8-width-tests (Files): Likewise.
34288         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
34289         * modules/uniwidth/u16-width-tests (Files): Likewise.
34290         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
34291         * modules/uniwidth/u32-width-tests (Files): Likewise.
34292         * modules/uniwidth/width-tests (Files): Likewise.
34293         * modules/unlink-tests (Files): Likewise.
34294         * modules/unsetenv-tests (Files): Likewise.
34295         * modules/usleep-tests (Files): Likewise.
34296         * modules/utimens-tests (Files): Likewise.
34297         * modules/utimensat-tests (Files): Likewise.
34298         * modules/vasnprintf-posix-tests (Files): Likewise.
34299         * modules/vasnprintf-tests (Files): Likewise.
34300         * modules/vasprintf-posix-tests (Files): Likewise.
34301         * modules/vasprintf-tests (Files): Likewise.
34302         * modules/vdprintf-posix-tests (Files): Likewise.
34303         * modules/vfprintf-posix-tests (Files): Likewise.
34304         * modules/vprintf-posix-tests (Files): Likewise.
34305         * modules/vsnprintf-posix-tests (Files): Likewise.
34306         * modules/vsnprintf-tests (Files): Likewise.
34307         * modules/vsprintf-posix-tests (Files): Likewise.
34308         * modules/wcrtomb-tests (Files): Likewise.
34309         * modules/wcsnrtombs-tests (Files): Likewise.
34310         * modules/wcsrtombs-tests (Files): Likewise.
34311         * modules/wctype-tests (Files): Likewise.
34312         * modules/wcwidth-tests (Files): Likewise.
34313         * modules/xmemdup0-tests (Files): Likewise.
34314         * modules/xprintf-posix-tests (Files): Likewise.
34315         * modules/xvasprintf-tests (Files): Likewise.
34316
34317 2009-12-24  Eric Blake  <ebb9@byu.net>
34318
34319         test-nanosleep: fix typo
34320         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
34321         patch.
34322         Reported by Bruno Haible.
34323
34324 2009-12-24  Bruno Haible  <bruno@clisp.org>
34325
34326         Reduce namespace pollution on glibc systems.
34327         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
34328         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
34329         systems.
34330         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
34331         <getopt.h> on glibc systems.
34332         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
34333         systems.
34334         * lib/fcntl.c: Include <unistd.h> here instead.
34335
34336 2009-12-24  Bruno Haible  <bruno@clisp.org>
34337
34338         * lib/stdlib.in.h (includes): Fix typo in today's commit.
34339
34340 2009-12-24  Eric Blake  <ebb9@byu.net>
34341
34342         tests: add signature checks
34343         * tests/signature.h (SIGNATURE_CHECK): New file.
34344         * modules/atexit-tests (Files): Use it.
34345         * modules/btowc-tests (Files): Likewise.
34346         * modules/canonicalize-lgpl-tests (Files): Likewise.
34347         * modules/ceilf-tests (Files): Likewise.
34348         * modules/ceill-tests (Files): Likewise.
34349         * modules/chown-tests (Files): Likewise.
34350         * modules/dprintf-posix-tests (Files): Likewise.
34351         * modules/dup2-tests (Files): Likewise.
34352         * modules/dup3-tests (Files): Likewise.
34353         * modules/duplocale-tests (Files): Likewise.
34354         * modules/fchdir-tests (Files): Likewise.
34355         * modules/fcntl-tests (Files): Likewise.
34356         * modules/fdopendir-tests (Files): Likewise.
34357         * modules/fflush-tests (Files): Likewise.
34358         * modules/flock-tests (Files): Likewise.
34359         * modules/floorf-tests (Files): Likewise.
34360         * modules/floorl-tests (Files): Likewise.
34361         * modules/fnmatch-tests (Files): Likewise.
34362         * modules/fopen-tests (Files): Likewise.
34363         * modules/fprintf-posix-tests (Files): Likewise.
34364         * modules/freopen-tests (Files): Likewise.
34365         * modules/frexp-nolibm-tests (Files): Likewise.
34366         * modules/frexp-tests (Files): Likewise.
34367         * modules/frexpl-nolibm-tests (Files): Likewise.
34368         * modules/frexpl-tests (Files): Likewise.
34369         * modules/fseek-tests (Files): Likewise.
34370         * modules/fseeko-tests (Files): Likewise.
34371         * modules/fsync-tests (Files): Likewise.
34372         * modules/ftell-tests (Files): Likewise.
34373         * modules/ftello-tests (Files): Likewise.
34374         * modules/futimens-tests (Files): Likewise.
34375         * modules/getaddrinfo-tests (Files): Likewise.
34376         * modules/getcwd-tests (Files): Likewise.
34377         * modules/getdelim-tests (Files): Likewise.
34378         * modules/getdtablesize-tests (Files): Likewise.
34379         * modules/getgroups-tests (Files): Likewise.
34380         * modules/gethostname-tests (Files): Likewise.
34381         * modules/getline-tests (Files): Likewise.
34382         * modules/getopt-posix-tests (Files): Likewise.
34383         * modules/gettimeofday-tests (Files): Likewise.
34384         * modules/glob-tests (Files): Likewise.
34385         * modules/iconv-tests (Files): Likewise.
34386         * modules/inet_ntop-tests (Files): Likewise.
34387         * modules/inet_pton-tests (Files): Likewise.
34388         * modules/isblank-tests (Files): Likewise.
34389         * modules/lchown-tests (Files): Likewise.
34390         * modules/ldexpl-tests (Files): Likewise.
34391         * modules/link-tests (Files): Likewise.
34392         * modules/linkat-tests (Files): Likewise.
34393         * modules/lseek-tests (Files): Likewise.
34394         * modules/lstat-tests (Files): Likewise.
34395         * modules/mbrtowc-tests (Files): Likewise.
34396         * modules/mbsinit-tests (Files): Likewise.
34397         * modules/mbsnrtowcs-tests (Files): Likewise.
34398         * modules/mbsrtowcs-tests (Files): Likewise.
34399         * modules/memchr-tests (Files): Likewise.
34400         * modules/memcmp-tests (Files): Likewise.
34401         * modules/memmem-tests (Files): Likewise.
34402         * modules/memrchr-tests (Files): Likewise.
34403         * modules/mkdir-tests (Files): Likewise.
34404         * modules/mkfifo-tests (Files): Likewise.
34405         * modules/mkfifoat-tests (Files): Likewise.
34406         * modules/mknod-tests (Files): Likewise.
34407         * modules/nanosleep-tests (Files): Likewise.
34408         * modules/nl_langinfo-tests (Files): Likewise.
34409         * modules/obstack-printf-tests (Files): Likewise.
34410         * modules/open-tests (Files): Likewise.
34411         * modules/openat-tests (Files): Likewise.
34412         * modules/perror-tests (Files): Likewise.
34413         * modules/pipe2-tests (Files): Likewise.
34414         * modules/poll-tests (Files): Likewise.
34415         * modules/popen-tests (Files): Likewise.
34416         * modules/posix_spawn-tests (Files): Likewise.
34417         * modules/posix_spawnp-tests (Files): Likewise.
34418         * modules/pread-tests (Files): Likewise.
34419         * modules/printf-posix-tests (Files): Likewise.
34420         * modules/pty-tests (Files): Likewise.
34421         * modules/random_r-tests (Files): Likewise.
34422         * modules/rawmemchr-tests (Files): Likewise.
34423         * modules/readlink-tests (Files): Likewise.
34424         * modules/remove-tests (Files): Likewise.
34425         * modules/rename-tests (Files): Likewise.
34426         * modules/renameat-tests (Files): Likewise.
34427         * modules/rmdir-tests (Files): Likewise.
34428         * modules/round-tests (Files): Likewise.
34429         * modules/roundf-tests (Files): Likewise.
34430         * modules/roundl-tests (Files): Likewise.
34431         * modules/select-tests (Files): Likewise.
34432         * modules/setenv-tests (Files): Likewise.
34433         * modules/sigaction-tests (Files): Likewise.
34434         * modules/sleep-tests (Files): Likewise.
34435         * modules/snprintf-posix-tests (Files): Likewise.
34436         * modules/snprintf-tests (Files): Likewise.
34437         * modules/sprintf-posix-tests (Files): Likewise.
34438         * modules/stat-tests (Files): Likewise.
34439         * modules/strcasestr-tests (Files): Likewise.
34440         * modules/strchrnul-tests (Files): Likewise.
34441         * modules/strerror-tests (Files): Likewise.
34442         * modules/strsignal-tests (Files): Likewise.
34443         * modules/strstr-tests (Files): Likewise.
34444         * modules/strtod-tests (Files): Likewise.
34445         * modules/strverscmp-tests (Files): Likewise.
34446         * modules/symlink-tests (Files): Likewise.
34447         * modules/symlinkat-tests (Files): Likewise.
34448         * modules/times-tests (Files): Likewise.
34449         * modules/trunc-tests (Files): Likewise.
34450         * modules/truncf-tests (Files): Likewise.
34451         * modules/truncl-tests (Files): Likewise.
34452         * modules/tsearch-tests (Files): Likewise.
34453         * modules/uname-tests (Files): Likewise.
34454         * modules/unlink-tests (Files): Likewise.
34455         * modules/unsetenv-tests (Files): Likewise.
34456         * modules/usleep-tests (Files): Likewise.
34457         * modules/utimensat-tests (Files): Likewise.
34458         * modules/vasprintf-tests (Files): Likewise.
34459         * modules/vdprintf-posix-tests (Files): Likewise.
34460         * modules/vfprintf-posix-tests (Files): Likewise.
34461         * modules/vprintf-posix-tests (Files): Likewise.
34462         * modules/vsnprintf-posix-tests (Files): Likewise.
34463         * modules/vsnprintf-tests (Files): Likewise.
34464         * modules/vsprintf-posix-tests (Files): Likewise.
34465         * modules/wcrtomb-tests (Files): Likewise.
34466         * modules/wcsnrtombs-tests (Files): Likewise.
34467         * modules/wcsrtombs-tests (Files): Likewise.
34468         * modules/wcwidth-tests (Files): Likewise.
34469         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
34470         * tests/test-isinf.c (isinf): Likewise.
34471         * tests/test-isnan.c (isnan): Likewise.
34472         * tests/test-signbit.c (signbit): Likewise.
34473         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
34474         declaration, either as macro or with correct signature.
34475         (select): Ensure function under test is declared with correct
34476         signature in correct header.
34477         * tests/test-atexit.c (atexit): Likewise.
34478         * tests/test-btowc.c (btowc): Likewise.
34479         * tests/test-canonicalize-lgpl.c (realpath)
34480         (canonicalize_file_name): Likewise.
34481         * tests/test-ceilf1.c (ceilf): Likewise.
34482         * tests/test-ceill.c (ceill): Likewise.
34483         * tests/test-chown.c (chown): Likewise.
34484         * tests/test-dprintf-posix.c (dprintf): Likewise.
34485         * tests/test-dup2.c (dup2): Likewise.
34486         * tests/test-dup3.c (dup3): Likewise.
34487         * tests/test-duplocale.c (duplocale): Likewise.
34488         * tests/test-fchdir.c (fchdir): Likewise.
34489         * tests/test-fchownat.c (fchownat): Likewise.
34490         * tests/test-fcntl.c (fcntl): Likewise.
34491         * tests/test-fdopendir.c (fdopendir): Likewise.
34492         * tests/test-fflush.c (fflush): Likewise.
34493         * tests/test-flock.c (flock): Likewise.
34494         * tests/test-floorf1.c (floorf): Likewise.
34495         * tests/test-floorl.c (floorl): Likewise.
34496         * tests/test-fnmatch.c (fnmatch): Likewise.
34497         * tests/test-fopen.c (fopen): Likewise.
34498         * tests/test-fprintf-posix.c (fprintf): Likewise.
34499         * tests/test-freopen.c (freopen): Likewise.
34500         * tests/test-frexp.c (frexp): Likewise.
34501         * tests/test-frexpl.c (frexpl): Likewise.
34502         * tests/test-fseek.c (fseek): Likewise.
34503         * tests/test-fseeko.c (fseeko): Likewise.
34504         * tests/test-fstatat.c (fstatat): Likewise.
34505         * tests/test-fsync.c (fsync): Likewise.
34506         * tests/test-ftell.c (ftell): Likewise.
34507         * tests/test-ftello.c (ftello): Likewise.
34508         * tests/test-futimens.c (futimens): Likewise.
34509         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
34510         (gai_strerror): Likewise.
34511         * tests/test-getcwd.c (getcwd): Likewise.
34512         * tests/test-getdelim.c (getdelim): Likewise.
34513         * tests/test-getdtablesize.c (getdtablesize): Likewise.
34514         * tests/test-getgroups.c (getgroups): Likewise.
34515         * tests/test-gethostname.c (gethostname): Likewise.
34516         * tests/test-getline.c (getline): Likewise.
34517         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
34518         Likewise.
34519         * tests/test-gettimeofday.c (gettimeofday): Likewise.
34520         * tests/test-glob.c (glob, globfree): Likewise.
34521         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
34522         * tests/test-inet_ntop.c (inet_ntop): Likewise.
34523         * tests/test-inet_pton.c (inet_pton): Likewise.
34524         * tests/test-isblank.c (isblank): Likewise.
34525         * tests/test-lchown.c (lchown): Likewise.
34526         * tests/test-ldexpl.c (ldexpl): Likewise.
34527         * tests/test-link.c (link): Likewise.
34528         * tests/test-linkat.c (linkat): Likewise.
34529         * tests/test-lseek.c (lseek): Likewise.
34530         * tests/test-lstat.c (lstat): Likewise.
34531         * tests/test-mbrtowc.c (mbrtowc): Likewise.
34532         * tests/test-mbsinit.c (mbsinit): Likewise.
34533         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
34534         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
34535         * tests/test-memchr.c (memchr): Likewise.
34536         * tests/test-memcmp.c (memcmp): Likewise.
34537         * tests/test-memmem.c (memmem): Likewise.
34538         * tests/test-memrchr.c (memrchr): Likewise.
34539         * tests/test-mkdir.c (mkdir): Likewise.
34540         * tests/test-mkdirat.c (mkdirat): Likewise.
34541         * tests/test-mkfifo.c (mkfifo): Likewise.
34542         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
34543         * tests/test-mknod.c (mknod): Likewise.
34544         * tests/test-nanosleep.c (nanosleep): Likewise.
34545         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
34546         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
34547         Likewise.
34548         * tests/test-open.c (open): Likewise.
34549         * tests/test-openat.c (openat): Likewise.
34550         * tests/test-perror.c (perror): Likewise.
34551         * tests/test-pipe2.c (pipe2): Likewise.
34552         * tests/test-poll.c (poll): Likewise.
34553         * tests/test-popen.c (popen, pclose): Likewise.
34554         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
34555         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
34556         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
34557         (posix_spawn_file_actions_destroy)
34558         (posix_spawn_file_actions_addclose)
34559         (posix_spawn_file_actions_addopen)
34560         (posix_spawn_file_actions_adddup2): Likewise.
34561         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
34562         * tests/test-pread.c (pread): Likewise.
34563         * tests/test-printf-posix.c (printf): Likewise.
34564         * tests/test-pty.c (openpty, forkpty): Likewise.
34565         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
34566         (random_r): Likewise.
34567         * tests/test-rawmemchr.c (rawmemchr): Likewise.
34568         * tests/test-readlink.c (readlink): Likewise.
34569         * tests/test-remove.c (remove): Likewise.
34570         * tests/test-rename.c (rename): Likewise.
34571         * tests/test-renameat.c (renameat): Likewise.
34572         * tests/test-rmdir.c (rmdir): Likewise.
34573         * tests/test-round1.c (round): Likewise.
34574         * tests/test-roundf1.c (roundf): Likewise.
34575         * tests/test-roundl.c (roundl): Likewise.
34576         * tests/test-setenv.c (setenv): Likewise.
34577         * tests/test-sigaction.c (sigaction): Likewise.
34578         * tests/test-sleep.c (sleep): Likewise.
34579         * tests/test-snprintf.c (snprintf): Likewise.
34580         * tests/test-sprintf-posix.c (sprintf): Likewise.
34581         * tests/test-stat.c (stat): Likewise.
34582         * tests/test-stpncpy.c (stpncpy): Likewise.
34583         * tests/test-strcasestr.c (strcasestr): Likewise.
34584         * tests/test-strchrnul.c (strchrnul): Likewise.
34585         * tests/test-strerror.c (strerror): Likewise.
34586         * tests/test-strsignal.c (strsignal): Likewise.
34587         * tests/test-strstr.c (strstr): Likewise.
34588         * tests/test-strtod.c (strtod): Likewise.
34589         * tests/test-strverscmp.c (strverscmp): Likewise.
34590         * tests/test-symlink.c (symlink): Likewise.
34591         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
34592         * tests/test-times.c (times): Likewise.
34593         * tests/test-trunc1.c (trunc): Likewise.
34594         * tests/test-truncf1.c (truncf): Likewise.
34595         * tests/test-truncl.c (truncl): Likewise.
34596         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
34597         Likewise.
34598         * tests/test-uname.c (uname): Likewise.
34599         * tests/test-unlink.c (unlink): Likewise.
34600         * tests/test-unlinkat.c (unlinkat): Likewise.
34601         * tests/test-unsetenv.c (unsetenv): Likewise.
34602         * tests/test-usleep.c (usleep): Likewise.
34603         * tests/test-utimensat.c (utimensat): Likewise.
34604         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
34605         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
34606         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
34607         * tests/test-vprintf-posix.c (vprintf): Likewise.
34608         * tests/test-vsnprintf.c (vsnprintf): Likewise.
34609         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
34610         * tests/test-wcrtomb.c (wcrtomb): Likewise.
34611         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
34612         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
34613         * tests/test-wcwidth.c (wcwidth): Likewise.
34614
34615         build: pull in conditional headers during GNULIB_POSIXCHECK
34616         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
34617         definitions from any conditionally-included headers.
34618         * lib/stdlib.in.h (includes): Likewise.
34619         * lib/unistd.in.h (includes): Likewise.
34620
34621 2009-12-24  Bruno Haible  <bruno@clisp.org>
34622
34623         * tests/test-argv-iter.c: Include header file being tested immediately
34624         after config.h.
34625         * tests/test-base64.c: Likewise.
34626         * tests/test-flock.c: Likewise.
34627         * tests/test-fsync.c: Likewise.
34628         * tests/test-getdate.c: Likewise.
34629         * tests/test-getndelim2.c: Likewise.
34630         * tests/test-isfinite.c: Likewise.
34631         * tests/test-isinf.c: Likewise.
34632         * tests/test-strerror.c: Likewise.
34633         * tests/test-strsignal.c: Likewise.
34634
34635 2009-12-23  Eric Blake  <ebb9@byu.net>
34636
34637         unistd: work around cygwin bug
34638         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
34639         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
34640         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34641
34642 2009-12-23  Bruno Haible  <bruno@clisp.org>
34643
34644         localename: More tests.
34645         * tests/test-localename.c (SIZEOF): New macro.
34646         (categories): New variable.
34647         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
34648         test_locale_name_default): Add test w.r.t. thread locale.
34649         (test_locale_name_thread): New function.
34650         (main): Invoke it.
34651
34652         localename: Make aware of thread locale.
34653         * lib/localename.h (gl_locale_name_thread): New declaration.
34654         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
34655         behaviour with respect to thread locale.
34656         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
34657         <langinfo.h>, glthread/lock.h.
34658         (SIZE_BITS): New macro.
34659         (string_hash): New function.
34660         (struct hash_node): New type.
34661         (HASH_TABLE_SIZE): New macro.
34662         (struniq_hash_table, struniq_lock): New variables.
34663         (struniq): New function.
34664         (gl_locale_name_thread): New function.
34665         (gl_locale_name): Invoke it.
34666         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
34667         * modules/localename (Depends-on): Add lock.
34668         Reported by Mike Gran <spk121@yahoo.com>.
34669
34670 2009-12-23  Eric Blake  <ebb9@byu.net>
34671
34672         va-args: new module
34673         * modules/va-args: New file.
34674         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
34675         * MODULES.html.sh (Core language properties): Mention it.
34676
34677         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
34678         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
34679         named alias for __attribute__((__unused__)).
34680         * lib/chown.c: Update client.
34681         * lib/fchmodat.c: Likewise.
34682         * lib/fts.c: Likewise.
34683         * lib/getdate.y: Likewise.
34684         * lib/getgroups.c: Likewise.
34685         * lib/getopt.c: Likewise.
34686         * lib/getugroups.c: Likewise.
34687         * lib/mkdir.c: Likewise.
34688         * lib/mkfifo.c: Likewise.
34689         * lib/mkfifoat.c: Likewise.
34690         * lib/mknod.c: Likewise.
34691         * lib/mknodat.c: Likewise.
34692         * lib/readlink.c: Likewise.
34693         * lib/se-context.in.h: Likewise.
34694         * lib/se-selinux.in.h: Likewise.
34695         * lib/sockets.c: Likewise.
34696         * lib/symlink.c: Likewise.
34697         * lib/symlinkat.c: Likewise.
34698         * lib/unicodeio.c: Likewise.
34699         * lib/unistr.h: Likewise.
34700         * tests/test-areadlink.c: Likewise.
34701         * tests/test-areadlinkat.c: Likewise.
34702         * tests/test-filenamecat.c: Likewise.
34703         * tests/test-fseeko.c: Likewise.
34704         * tests/test-ftello.c: Likewise.
34705         * tests/test-getdate.c: Likewise.
34706         * tests/test-getgroups.c: Likewise.
34707         * tests/test-gethostname.c: Likewise.
34708         * tests/test-quotearg.c: Likewise.
34709         * tests/test-version-etc.c: Likewise.
34710         * tests/test-xalloc-die.c: Likewise.
34711         * tests/test-xfprintf-posix.c: Likewise.
34712         * tests/test-xprintf-posix.c: Likewise.
34713         * tests/test-xvasprintf.c: Likewise.
34714
34715         tests: avoid compiler warnings
34716         * tests/test-fcntl.c (main): Delete unused parameters.
34717         * tests/test-freopen-safer.c (main): Likewise.
34718         * tests/test-xalloc-die.c (main): Mark unused parameters.
34719         * tests/test-fseeko.c (main): Likewise.
34720         * tests/test-ftello.c (main): Likewise.
34721         * tests/test-nanosleep.c (main): Avoid declaration warning.
34722         * tests/test-sleep.c (main): Likewise.
34723         * tests/test-unsetenv.c (main): Silence warning about string
34724         literal.
34725         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
34726
34727 2009-12-23  Bruno Haible  <bruno@clisp.org>
34728
34729         * tests/test-localename.c (test_locale_name): New function, extracted
34730         from main. Also test mixed situations.
34731         (test_locale_name_posix, test_locale_name_environ,
34732         test_locale_name_default): New functions.
34733         (main): Invoke them all.
34734         * modules/localename-tests (configure.ac): Test for newlocale.
34735
34736 2009-12-23  Bruno Haible  <bruno@clisp.org>
34737
34738         unistd: Ensure getcwd gets declared before being overridden.
34739         * lib/unistd.in.h: Conditionally include <io.h>.
34740
34741 2009-12-22  Bruno Haible  <bruno@clisp.org>
34742
34743         wchar: Diagnose broken combination of glibc and gcc versions and flags.
34744         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
34745         (gl_WCHAR_H): Invoke it.
34746         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
34747         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
34748         Reported by Karl Berry <karl@freefriends.org>.
34749
34750 2009-12-22  Eric Blake  <ebb9@byu.net>
34751
34752         math, unistd: avoid redundant includes
34753         * lib/math.in.h (isnan): No need to re-include <math.h>.
34754         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
34755
34756         getsubopt: work around cygwin bug
34757         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
34758         avoid conflicting with system getsubopt.
34759         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
34760         bug.
34761
34762         getopt: synchronize from glibc
34763         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
34764         parameter order.  Adjust all callers.
34765         (_getopt_internal_r, main): Adjust quoting in error messages.
34766         Drop considerations for outdated POSIX 1003.2 error message.
34767         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
34768         callers.
34769         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
34770
34771         test-getopt: test stderr behavior
34772         * modules/getopt-posix-tests (Depends-on): Add dup2.
34773         * tests/test-getopt.c (ASSERT): Avoid stderr.
34774         (main): Move stderr to a temporary file.
34775         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
34776         Instead, add parameter to inform caller if output occurred.
34777         (test_getopt): Adjust all existing tests to expect silence, and
34778         add new tests of leading ":".
34779         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34780         glibc shortcomings with leading "-:" or "+:" in optstring.
34781         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34782         Likewise.
34783         * doc/posix-functions/getopt.texi (getopt): Likewise.
34784
34785         test-getopt: enhance test
34786         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
34787         supports optind=0.
34788         * tests/test-getopt.c (OPTIND_MIN): Move...
34789         * tests/test-getopt.h (OPTIND_MIN): ...here.
34790         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
34791         Require that optind=0 works, since modern BSD supports it in
34792         addition to optreset, and since coreutils expects it.
34793         (test_getopt_long_only): New test.
34794         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34795         glibc shortcomings with 'W;', and enforcement of optind=0.
34796         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34797         Likewise.
34798
34799 2009-12-21  Bruno Haible  <bruno@clisp.org>
34800
34801         localename: Improvements for MacOS X and Cygwin.
34802         * lib/localename.h (gl_locale_name_environ): New declaration.
34803         * lib/localename.c (gl_locale_name_environ): New function, extracted from
34804         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
34805         (gl_locale_name_posix): Invoke it.
34806         (gl_locale_name_default): Add comments. Use Windows native API also on
34807         Cygwin.
34808
34809 2009-12-21  Bruno Haible  <bruno@clisp.org>
34810
34811         Update list of Win32 locale ids.
34812         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
34813         (LANG_SAMI): Renamed from LANG_SAAMI.
34814         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
34815         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
34816         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
34817         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
34818         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
34819         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
34820         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
34821         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
34822         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
34823         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
34824         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
34825         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
34826         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
34827         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
34828         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
34829         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
34830         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
34831         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
34832         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
34833         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
34834         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
34835         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
34836         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
34837         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
34838         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
34839         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
34840         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
34841         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
34842         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
34843         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
34844         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
34845         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
34846         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
34847         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
34848         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
34849         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
34850         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
34851         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
34852         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
34853         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
34854         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
34855         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
34856         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
34857         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
34858         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
34859         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
34860         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
34861         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
34862         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
34863         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
34864         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
34865         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
34866         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
34867         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
34868         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
34869         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
34870         Add more languages and countries for Sami, Sorbian. Add more countries
34871         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
34872         for Pashto. Change country for Syriac, Tswana.
34873
34874 2009-12-21  Eric Blake  <ebb9@byu.net>
34875
34876         test-utimens: avoid spurious failure
34877         * tests/test-chown.h (nap): Factor...
34878         * tests/nap.h: ...into new file.
34879         * tests/test-lchown.h (nap): Avoid duplication.
34880         * tests/test-utimens-common.h (nap): Use shared implementation,
34881         necessary on file systems with 1-second resolution.
34882         * modules/chown-tests (Files): Include new file.
34883         * modules/fdutimensat-tests (Files): Likewise.
34884         * modules/futimens-tests (Files): Likewise.
34885         * modules/lchown-tests (Files): Likewise.
34886         * modules/openat-tests (Files): Likewise.
34887         * modules/utimens-tests (Files): Likewise.
34888         * modules/utimensat-tests (Files): Likewise.
34889
34890 2009-12-19  Eric Blake  <ebb9@byu.net>
34891
34892         futimens, utimensat: work around Linux bug
34893         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
34894         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34895         * lib/utimensat.c (rpl_utimensat): Work around it.
34896         * lib/futimens.c (rpl_futimens): Adjust comment.
34897
34898         utimens: work around Linux ctime bug
34899         * lib/utimens.c (detect_ctime_bug): New helper function.
34900         (update_timespec): Differentiate between workaround needed for
34901         this bug vs. what is needed for systems that lack utimensat.
34902         (fdutimens, lutimens): Work around bug.
34903
34904         utimens: check for ctime update
34905         * tests/test-utimens-common.h (check_ctime): Define.
34906         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
34907         * tests/test-futimens.h (test_futimens): Likewise.
34908         * tests/test-lutimens.h (test_lutimens): Likewise.
34909         * doc/posix-functions/futimens.texi (futimens): Document the bug.
34910         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34911
34912 2009-12-19  Bruno Haible  <bruno@clisp.org>
34913
34914         dprintf-posix: Check against memory leak fixed on 2009-12-15.
34915         * tests/test-dprintf-posix2.sh: New file.
34916         * tests/test-dprintf-posix2.c: New file.
34917         * modules/dprintf-posix-tests (Files): Add them.
34918         (configure.ac): Check for getrlimit and setrlimit.
34919         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34920
34921 2009-12-19  Bruno Haible  <bruno@clisp.org>
34922
34923         fprintf-posix: Check against memory leak fixed on 2009-12-15.
34924         * tests/test-fprintf-posix3.sh: New file.
34925         * tests/test-fprintf-posix3.c: New file.
34926         * modules/fprintf-posix-tests (Files): Add them.
34927         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34928
34929 2009-12-19  Eric Blake  <ebb9@byu.net>
34930
34931         dirfd: fix prototype
34932         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
34933         * lib/dirfd.c (dirfd): Likewise.
34934
34935         canonicalize: reduce memory usage
34936         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
34937         allocation to size.
34938         Reported by Solar Designer <solar@openwall.com>.
34939
34940 2009-12-19  Bruno Haible  <bruno@clisp.org>
34941
34942         New module attribute 'Applicability'.
34943         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
34944         * gnulib-tool: New option --extract-applicability.
34945         (func_usage): Document it.
34946         (sed_extract_prog): Recognize it.
34947         (func_get_applicability): New function.
34948         (func_import): Generalize handling of 'link-warning' module.
34949         * modules/link-warning (Applicability): New section.
34950         * modules/arg-nonnull (Applicability): New section.
34951         Repoted by Simon Josefsson <simon@josefsson.org>.
34952
34953 2009-12-19  Bruno Haible  <bruno@clisp.org>
34954
34955         fflush: tweak
34956         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
34957         * lib/fseeko.c (rpl_fseeko): Likewise.
34958
34959 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
34960
34961         * lib/gl_list.h: Fix typo in comment.
34962
34963 2009-12-16  Eric Blake  <ebb9@byu.net>
34964
34965         fcntl: use to simplify other modules
34966         * modules/cloexec (Depends-on): Add fcntl.
34967         * modules/fchdir (Depends-on): Likewise.
34968         * modules/fd-safer-flag (Depends-on): Likewise.
34969         * modules/unistd-safer (Depends-on): Likewise.
34970         * modules/dup3 (configure.ac): Set module indicator.
34971         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
34972         missing.
34973         * lib/fchdir.c (_gl_register_dup): Fix comment.
34974         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
34975         * lib/dup-safer.c (dup_safer): Likewise.
34976         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
34977         * lib/dup3.c (dup3): Likewise.
34978         * tests/test-fchdir.c (main): Enhance test.
34979         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
34980
34981         fcntl: port portions of fcntl to mingw
34982         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
34983         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
34984         replacement for mingw.
34985         * modules/fcntl (Description): Update.
34986         (Depends-on): Add dup2.
34987         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
34988         * modules/fcntl-h (Makefile.am): Substitute it.
34989         * lib/fcntl.in.h (fcntl): Update declaration.
34990         (F_DUPFD, F_GETFD): New macros, when needed.
34991         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
34992         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
34993         * tests/test-fcntl.c (check_flags, main): Enhance test for items
34994         we now guarantee.
34995
34996         fcntl: work around cygwin bug in F_DUPFD
34997         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
34998         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
34999         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35000         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35001         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35002
35003         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35004         * modules/fcntl (Files): List new files.
35005         (configure.ac): Run a test.
35006         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35007         * lib/fcntl.c (rpl_fcntl): Likewise.
35008         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35009         (gl_FCNTL_H): Always replace fcntl.h.
35010         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35011         * lib/fcntl.in.h (fcntl): Declare replacement.
35012         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35013         needed, plus a witness.
35014         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35015         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35016         * tests/test-fcntl.c: New file.
35017         * modules/fcntl-tests: Likewise.
35018
35019         binary-io: avoid potential compilation warning
35020         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35021         directives.
35022
35023         fflush: avoid compilation error on NetBSD
35024         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35025         between off_t and fpos_t, since the latter is sometimes a struct.
35026         * lib/fseeko.c (rpl_fseeko): Likewise.
35027         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35028
35029 2009-12-15  Eric Blake  <ebb9@byu.net>
35030
35031         fcntl-h, stdio, sys_ioctl: fix declarations
35032         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35033         function must not take arguments.
35034         * lib/sys_ioctl.in.h (ioctl): Likewise.
35035         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35036         (open): Add a link warning.
35037
35038 2009-12-15  Jim Meyering  <meyering@redhat.com>
35039
35040         areadlink, areadlink-with-size: relax license to LGPLv2+
35041         * modules/areadlink (License): Relax to LGPLv2+.
35042         * modules/areadlink-with-size (License): Likewise.
35043
35044 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35045             Bruno Haible  <bruno@clisp.org>
35046
35047         *printf: Fix memory leak.
35048         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35049         * lib/vfprintf.c (vfprintf): Likewise.
35050         * lib/dprintf.c (dprintf): Likewise.
35051         * lib/vdprintf.c (vdprintf): Likewise.
35052
35053 2009-12-14  Eric Blake  <ebb9@byu.net>
35054
35055         accept4: adjust module dependencies
35056         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35057
35058         utimens: one more try at avoiding compiler warning
35059         * lib/utimens.c (lutimens): Lower scope of result.
35060
35061 2009-12-13  Bruno Haible  <bruno@clisp.org>
35062
35063         Move the malloc checking from module 'list' to new module 'xlist'.
35064         * modules/xlist: New file.
35065         * lib/gl_xlist.h: New file.
35066         * lib/gl_xlist.c: New file.
35067         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35068         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35069         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35070         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35071         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35072         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35073         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35074         gl_sortedlist_nx_add): New declarations.
35075         (struct gl_list_implementation): Rename and change methods accordingly.
35076         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35077         (gl_list_nx_create): Renamed from gl_list_create.
35078         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35079         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35080         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35081         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35082         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35083         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35084         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35085         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35086         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35087         gl_list_create_empty.
35088         (gl_list_nx_create): Renamed from gl_list_create.
35089         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35090         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35091         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35092         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35093         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35094         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35095         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35096         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35097         * lib/gl_array_list.c: Don't include xalloc.h.
35098         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35099         NULL upon out-of-memory.
35100         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35101         out-of-memory.
35102         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35103         Change return type to 'int'.
35104         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35105         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35106         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35107         upon out-of-memory.
35108         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35109         upon out-of-memory.
35110         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35111         upon out-of-memory.
35112         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35113         upon out-of-memory.
35114         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35115         out-of-memory.
35116         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35117         Update.
35118         (gl_array_list_implementation): Update.
35119         * lib/gl_carray_list.c: Don't include xalloc.h.
35120         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35121         Return NULL upon out-of-memory.
35122         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35123         out-of-memory.
35124         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35125         Change return type to 'int'.
35126         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35127         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35128         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35129         upon out-of-memory.
35130         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35131         upon out-of-memory.
35132         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35133         out-of-memory.
35134         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35135         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35136         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35137         Update.
35138         (gl_carray_list_implementation): Update.
35139         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35140         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35141         gl_linked_create_empty. Return NULL upon out-of-memory.
35142         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35143         out-of-memory.
35144         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35145         Change return type to 'int'. Return -1 upon out-of-memory.
35146         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35147         out-of-memory.
35148         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35149         upon out-of-memory.
35150         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35151         upon out-of-memory.
35152         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35153         NULL upon out-of-memory.
35154         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
35155         upon out-of-memory.
35156         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
35157         out-of-memory.
35158         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
35159         Update.
35160         * lib/gl_linked_list.c: Don't include xalloc.h.
35161         (gl_linked_list_implementation): Update.
35162         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
35163         (add_to_bucket): Change return type to 'int'.
35164         (gl_linkedhash_list_implementation): Update.
35165         * lib/gl_anytree_list1.h (free_subtree): New function.
35166         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
35167         gl_tree_create_empty. Return NULL upon out-of-memory.
35168         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35169         Change return type to 'int'. Return -1 upon out-of-memory.
35170         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35171         out-of-memory.
35172         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35173         (gl_tree_remove_node): New function, moved here from
35174         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35175         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35176         Update.
35177         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35178         malloc, not xmalloc. Return NULL upon out-of-memory.
35179         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35180         out-of-memory.
35181         (gl_tree_remove_node_from_tree): New function, extracted from
35182         gl_tree_remove_node.
35183         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35184         upon out-of-memory.
35185         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35186         out-of-memory.
35187         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35188         upon out-of-memory.
35189         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35190         upon out-of-memory.
35191         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35192         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
35193         not xmalloc. Return NULL upon out-of-memory.
35194         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35195         out-of-memory.
35196         (gl_tree_remove_node_from_tree): New function, extracted from
35197         gl_tree_remove_node.
35198         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35199         upon out-of-memory.
35200         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35201         out-of-memory.
35202         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35203         upon out-of-memory.
35204         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35205         upon out-of-memory.
35206         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35207         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
35208         gl_anytree_list1.h before gl_anyavltree_list2.h.
35209         (gl_avltree_list_implementation): Update.
35210         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
35211         gl_anytree_list1.h before gl_anyavltree_list2.h.
35212         (gl_rbtree_list_implementation): Update.
35213         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
35214         Change return type to 'int'. Return -1 upon out-of-memory. Use
35215         __builtin_expect.
35216         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
35217         (gl_avltreehash_list_implementation): Update.
35218         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
35219         (gl_rbtreehash_list_implementation): Update.
35220         * modules/array-list (Depends-on): Remove xalloc.
35221         * modules/carray-list (Depends-on): Likewise.
35222         * modules/linked-list (Depends-on): Likewise.
35223         * modules/linkedhash-list (Depends-on): Likewise.
35224         * modules/avltree-list (Depends-on): Likewise.
35225         * modules/rbtree-list (Depends-on): Likewise.
35226         * modules/avltreehash-list (Depends-on): Likewise.
35227         * modules/rbtreehash-list (Depends-on): Likewise.
35228
35229         * modules/xsublist: New file.
35230         * lib/gl_xsublist.h: New file.
35231         * lib/gl_xsublist.c: New file.
35232         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
35233         (gl_sublist_nx_create): New declaration.
35234         * lib/gl_sublist.c: Don't include xalloc.h.
35235         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
35236         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
35237         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
35238         Change return type to 'int'. Return -1 upon out-of-memory.
35239         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
35240         upon out-of-memory.
35241         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
35242         NULL upon out-of-memory.
35243         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
35244         upon out-of-memory.
35245         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
35246         NULL upon out-of-memory.
35247         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
35248         NULL upon out-of-memory.
35249         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
35250         upon out-of-memory.
35251         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
35252         (gl_sublist_list_implementation): Update.
35253         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
35254         upon out-of-memory.
35255         * modules/sublist (Depends-on): Remove xalloc.
35256
35257         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
35258         * tests/test-carray_list.c: Likewise.
35259         * tests/test-linked_list.c: Likewise.
35260         * tests/test-linkedhash_list.c: Likewise.
35261         * tests/test-avltree_list.c: Likewise.
35262         * tests/test-rbtree_list.c: Likewise.
35263         * tests/test-avltreehash_list.c: Likewise.
35264         * tests/test-rbtreehash_list.c: Likewise.
35265         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
35266         * modules/carray-list-tests (Makefile.am): Likewise.
35267         * modules/linked-list-tests (Makefile.am): Likewise.
35268         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35269         * modules/avltree-list-tests (Makefile.am): Likewise.
35270         * modules/rbtree-list-tests (Makefile.am): Likewise.
35271         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35272         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35273
35274         * NEWS: Mention the changes.
35275
35276         * lib/clean-temp.c: Include gl_xlist.h.
35277         * modules/clean-temp (Depends-on): Add xlist.
35278
35279         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
35280         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
35281
35282         * tests/test-array_oset.c: Include gl_xlist.h.
35283         * modules/array-oset-tests (Depends-on): Add xlist.
35284
35285         Reported by José E. Marchesi <jemarch@gnu.org>.
35286
35287 2009-12-13  Bruno Haible  <bruno@clisp.org>
35288
35289         Move the malloc checking from module 'oset' to new module 'xoset'.
35290         * modules/xoset: New file.
35291         * lib/gl_xoset.h: New file.
35292         * lib/gl_xoset.c: New file.
35293         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
35294         declarations.
35295         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
35296         (struct gl_oset_implementation): Rename and change methods accordingly.
35297         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
35298         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35299         'int'. Mark as __warn_unused_result__.
35300         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
35301         gl_oset_create_empty.
35302         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35303         'int'.
35304         * lib/gl_array_oset.c: Don't include xalloc.h.
35305         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
35306         malloc, not xmalloc.
35307         (grow): Change return type to 'int'. Don't call xalloc_die.
35308         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
35309         to 'int'.
35310         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
35311         'int'.
35312         (gl_array_oset_implementation): Update.
35313         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
35314         gl_tree_create_empty.
35315         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
35316         'int'.
35317         * lib/gl_avltree_oset.c: Don't include xalloc.h.
35318         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35319         xmalloc.
35320         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35321         not xmalloc.
35322         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35323         xmalloc.
35324         (gl_avltree_oset_implementation): Update.
35325         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
35326         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35327         xmalloc.
35328         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35329         not xmalloc.
35330         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35331         xmalloc.
35332         (gl_rbtree_oset_implementation): Update.
35333         * modules/array-oset (Depends-on): Remove xalloc.
35334         * modules/avltree-oset (Depends-on): Likewise.
35335         * modules/rbtree-oset (Depends-on): Likewise.
35336         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
35337         * tests/test-avltree_oset.c: Likewise.
35338         * tests/test-rbtree_oset.c: Likewise.
35339         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
35340         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
35341         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35342         * NEWS: Mention the change.
35343
35344 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
35345
35346         maint.mk: allow a project to override release-prep commands
35347         * top/maint.mk (alpha, beta, stable): Move release-preparatory
35348         commands into a new rule.
35349         (release-prep): New rule.
35350         (release-prep-hook): New overridable variable.
35351
35352 2009-12-13  Bruno Haible  <bruno@clisp.org>
35353
35354         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
35355
35356 2009-12-13  Jim Meyering  <meyering@redhat.com>
35357
35358         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
35359         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
35360
35361 2009-12-12  Bruno Haible  <bruno@clisp.org>
35362
35363         duplocale: Tweak.
35364         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
35365
35366 2009-12-12  Karl Berry  <karl@gnu.org>
35367
35368         * config/srclist.txt (strtoll.c): tab changes, no more sync.
35369
35370 2009-12-12  Bruno Haible  <bruno@clisp.org>
35371
35372         * m4/po.m4: Undo incorrect untabification.
35373
35374 2009-12-12  Bruno Haible  <bruno@clisp.org>
35375
35376         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
35377         * modules/c-strtod (Depends-on): Add locale.
35378         * modules/c-strtold (Depends-on): Likewise.
35379
35380 2009-12-12  Bruno Haible  <bruno@clisp.org>
35381
35382         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
35383
35384 2009-12-11  Eric Blake  <ebb9@byu.net>
35385
35386         setenv: relax requirement in light of POSIX ruling
35387         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
35388         not NULL.
35389         * tests/test-setenv.c (main): Relax test.
35390         * tests/test-unsetenv.c (main): Likewise.
35391         * doc/posix-functions/setenv.texi (setenv): Document this.
35392         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35393
35394 2009-12-11  Bruno Haible  <bruno@clisp.org>
35395
35396         New module 'fd-safer-flag'.
35397         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
35398         * lib/dup-safer.c (dup_safer_flag): Remove function.
35399         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
35400         * lib/fd-safer.c (fd_safer_flag): Remove function.
35401         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
35402         * modules/cloexec (configure.ac): Drop indicator macro.
35403         * modules/fd-safer-flag: New file.
35404         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
35405         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
35406         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
35407
35408 2009-12-11  Bruno Haible  <bruno@clisp.org>
35409
35410         Tests for module 'nl_langinfo'.
35411         * modules/nl_langinfo-tests: New file.
35412         * tests/test-nl_langinfo.sh: New file.
35413         * tests/test-nl_langinfo.c: New file.
35414
35415         New module 'nl_langinfo'.
35416         * lib/nl_langinfo.c: New file.
35417         * m4/nl_langinfo.m4: New file.
35418         * modules/nl_langinfo: New file.
35419         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
35420
35421 2009-12-11  Bruno Haible  <bruno@clisp.org>
35422
35423         Tests for module 'langinfo'.
35424         * modules/langinfo-tests: New file.
35425         * tests/test-langinfo.c: New file.
35426
35427         New module 'langinfo'.
35428         * lib/langinfo.in.h: New file.
35429         * m4/langinfo_h.m4: New file.
35430         * modules/langinfo: New file.
35431         * doc/posix-headers/langinfo.texi: Mention the new module.
35432
35433 2009-12-11  Bruno Haible  <bruno@clisp.org>
35434
35435         * lib/config.charset: Untabify.
35436
35437 2009-12-11  Bruno Haible  <bruno@clisp.org>
35438
35439         * modules/unistd-safer (configure.ac): Drop indicator macro.
35440
35441 2009-12-11  Bruno Haible  <bruno@clisp.org>
35442
35443         Move pipe2-safer code to its own file.
35444         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
35445         * lib/pipe-safer.c (pipe2_safer): Remove function.
35446         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
35447         (Makefile.am): Add it to lib_SOURCES.
35448
35449 2009-12-10  Bruno Haible  <bruno@clisp.org>
35450
35451         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
35452
35453 2009-12-10  Bruno Haible  <bruno@clisp.org>
35454
35455         Declare which arguments expect non-NULL values, for GCC and clang.
35456         * build-aux/arg-nonnull.h: New file.
35457         * modules/arg-nonnull: New file.
35458         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
35459         (inet_ntop, inet_pton): Use it.
35460         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
35461         (closedir, dirfd, opendir, scandir, alphasort): Use it.
35462         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
35463         (open, openat): Use it.
35464         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
35465         (fnmatch): Use it.
35466         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
35467         (getopt, getopt_long, getopt_long_only): Use it.
35468         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
35469         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
35470         Use it.
35471         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
35472         (iconv_open): Use it.
35473         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
35474         (strtoimax, strtoumax): Use it.
35475         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
35476         (duplocale): Use it.
35477         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
35478         (frexp, frexpl): Use it.
35479         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
35480         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
35481         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
35482         (tsearch, tfind, tdelete, twalk): Use it.
35483         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
35484         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35485         sigpending): Use it.
35486         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
35487         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35488         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35489         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35490         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35491         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35492         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35493         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35494         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35495         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35496         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35497         Use it.
35498         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
35499         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
35500         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
35501         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
35502         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
35503         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
35504         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
35505         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
35506         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
35507         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
35508         strtoull, unsetenv): Use it.
35509         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
35510         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35511         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35512         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
35513         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
35514         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
35515         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
35516         (strcasecmp, strncasecmp): Use it.
35517         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
35518         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
35519         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
35520         rpl_setsockopt): Use it.
35521         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
35522         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
35523         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
35524         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
35525         (gettimeofday): Use it.
35526         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
35527         (times): Use it.
35528         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
35529         (uname): Use it.
35530         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
35531         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
35532         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
35533         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
35534         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
35535         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
35536         unlinkat, write): Use it.
35537         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
35538         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
35539         * lib/argv-iter.h: Include arg-nonnull.h.
35540         (_ATTRIBUTE_NONNULL_): Remove macro.
35541         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
35542         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
35543         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
35544         optimization.
35545         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
35546         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
35547         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
35548         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
35549         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
35550         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
35551         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
35552         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
35553         * modules/arpa_inet (Depends-on): Add arg-nonnull.
35554         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
35555         * modules/dirent (Depends-on): Add arg-nonnull.
35556         (Makefile.am): Insert arg-nonnull.h into dirent.h.
35557         * modules/fcntl-h (Depends-on): Add arg-nonnull.
35558         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
35559         * modules/fnmatch (Depends-on): Add arg-nonnull.
35560         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
35561         * modules/getopt-posix (Depends-on): Add arg-nonnull.
35562         (Makefile.am): Insert arg-nonnull.h into getopt.h.
35563         * modules/glob (Depends-on): Add arg-nonnull.
35564         (Makefile.am): Insert arg-nonnull.h into glob.h.
35565         * modules/iconv_open (Depends-on): Add arg-nonnull.
35566         (Makefile.am): Insert arg-nonnull.h into iconv.h.
35567         * modules/inttypes (Depends-on): Add arg-nonnull.
35568         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
35569         * modules/locale (Depends-on): Add arg-nonnull.
35570         (Makefile.am): Insert arg-nonnull.h into locale.h.
35571         * modules/math (Depends-on): Add arg-nonnull.
35572         (Makefile.am): Insert arg-nonnull.h into math.h.
35573         * modules/netdb (Depends-on): Add arg-nonnull.
35574         (Makefile.am): Insert arg-nonnull.h into netdb.h.
35575         * modules/search (Depends-on): Add arg-nonnull.
35576         (Makefile.am): Insert arg-nonnull.h into search.h.
35577         * modules/signal (Depends-on): Add arg-nonnull.
35578         (Makefile.am): Insert arg-nonnull.h into signal.h.
35579         * modules/spawn (Depends-on): Add arg-nonnull.
35580         (Makefile.am): Insert arg-nonnull.h into spawn.h.
35581         * modules/stdio (Depends-on): Add arg-nonnull.
35582         (Makefile.am): Insert arg-nonnull.h into stdio.h.
35583         * modules/stdlib (Depends-on): Add arg-nonnull.
35584         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
35585         * modules/string (Depends-on): Add arg-nonnull.
35586         (Makefile.am): Insert arg-nonnull.h into string.h.
35587         * modules/strings (Depends-on): Add arg-nonnull.
35588         (Makefile.am): Insert arg-nonnull.h into strings.h.
35589         * modules/sys_socket (Depends-on): Add arg-nonnull.
35590         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
35591         * modules/sys_stat (Depends-on): Add arg-nonnull.
35592         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
35593         * modules/sys_time (Depends-on): Add arg-nonnull.
35594         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
35595         * modules/sys_times (Depends-on): Add arg-nonnull.
35596         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
35597         * modules/sys_utsname (Depends-on): Add arg-nonnull.
35598         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
35599         * modules/time (Depends-on): Add arg-nonnull.
35600         (Makefile.am): Insert arg-nonnull.h into time.h.
35601         * modules/unistd (Depends-on): Add arg-nonnull.
35602         (Makefile.am): Insert arg-nonnull.h into unistd.h.
35603         * modules/wchar (Depends-on): Add arg-nonnull.
35604         (Makefile.am): Insert arg-nonnull.h into wchar.h.
35605         * modules/argv-iter (Depends-on): Add arg-nonnull.
35606         * tests/test-canonicalize.c (null_ptr): New function.
35607         (main): Use it.
35608         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
35609         (main): Use it.
35610         * tests/test-memmem.c (null_ptr): New function.
35611         (main): Use it.
35612         Reported by Jim Meyering.
35613
35614 2009-12-10  Bruno Haible  <bruno@clisp.org>
35615
35616         Use spaces for indentation, not tabs.
35617         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
35618         * m4/*.m4: Untabify.
35619         * build-aux/*.h: Untabify.
35620         * tests/**/*.[hc]: Untabify.
35621         * README: New section "Indent with spaces, not TABs", based on
35622         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
35623         * NEWS: Mention the change.
35624
35625 2009-12-10  Bruno Haible  <bruno@clisp.org>
35626
35627         pty test: Fix link error.
35628         * modules/pty-tests (Makefile.am): Add the default LDADD value to
35629         test_pty_LDADD.
35630
35631 2009-12-07  Simon Josefsson  <simon@josefsson.org>
35632
35633         * modules/pty: New file.
35634         * modules/pty-tests: New file.
35635         * m4/pty.m4: New file.
35636         * tests/test-pty.c: New file.
35637         * doc/glibc-headers/pty.texi: Modified.
35638         * doc/glibc-functions/forkpty.texi: Modified.
35639         * doc/glibc-functions/openpty.texi: Modified.
35640
35641 2009-12-10  Bruno Haible  <bruno@clisp.org>
35642
35643         Avoid syntax error in C++ mode.
35644         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
35645
35646 2009-12-10  Bruno Haible  <bruno@clisp.org>
35647
35648         Use sed with option -e.
35649         * gnulib-tool (func_version, func_emit_copyright_notice,
35650         func_emit_initmacro_end, func_import, func_create_testdir): Pass
35651         option -e to sed.
35652         * modules/link-warning (Makefile.am): Likewise.
35653
35654 2009-12-10  Jim Meyering  <meyering@redhat.com>
35655
35656         mgetgroups: do not write bytes beyond end of malloc'd buffer
35657         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
35658         username, we call getgroups with a one-element-shorter buffer,
35659         but still told it the length was original, max_n_groups.
35660
35661 2009-12-09  Eric Blake  <ebb9@byu.net>
35662
35663         cloexec: relax license
35664         * modules/cloexec (Maintainer): Add myself.
35665         (License): Use LGPL, not GPL.
35666
35667         link-warning: optimize generation
35668         * modules/link-warning (Makefile.am): Reduce process usage.
35669
35670 2009-12-09  Bruno Haible  <bruno@clisp.org>
35671
35672         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
35673         workaround was added on 2009-11-17.
35674
35675 2009-12-09  Jim Meyering  <meyering@redhat.com>
35676             Bruno Haible  <bruno@clisp.org>
35677
35678         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
35679         * modules/link-warning (Makefile.am): Make the comment-removing sed
35680         command more robust in the face of bootstrap-prepended comment lines.
35681
35682 2009-12-09  Bruno Haible  <bruno@clisp.org>
35683
35684         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
35685         most one group.
35686
35687 2009-12-09  Simon Josefsson <simon@josefsson.org>
35688             Bruno Haible  <bruno@clisp.org>
35689
35690         * build-aux/link-warning.h: Add copyright notice.
35691         * modules/link-warning (Makefile.am): Generate link-warning.h from
35692         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
35693         * NEWS: Mention change in link-warning module.
35694         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
35695         * modules/dirent (Makefile.am): Add dependency to dirent.h.
35696         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
35697         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
35698         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
35699         * modules/math (Makefile.am): Add dependency to math.h.
35700         * modules/search (Makefile.am): Add dependency to search.h.
35701         * modules/signal (Makefile.am): Add dependency to signal.h.
35702         * modules/spawn (Makefile.am): Add dependency to spawn.h.
35703         * modules/stdio (Makefile.am): Add dependency to stdio.h.
35704         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
35705         * modules/string (Makefile.am): Add dependency to string.h.
35706         * modules/strings (Makefile.am): Add dependency to strings.h.
35707         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
35708         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
35709         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
35710         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
35711         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
35712         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
35713         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
35714         * modules/unistd (Makefile.am): Add dependency to unistd.h.
35715         * modules/wchar (Makefile.am): Add dependency to wchar.h.
35716
35717 2009-12-09  Bruno Haible  <bruno@clisp.org>
35718
35719         fchdir: Optimize away rpl_fstat when possible.
35720         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
35721         REPLACE_OPEN_DIRECTORY.
35722         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
35723
35724 2009-12-09  Bruno Haible  <bruno@clisp.org>
35725
35726         * lib/fchdir.c: Update comment.
35727
35728 2009-12-09  Bruno Haible  <bruno@clisp.org>
35729
35730         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
35731
35732 2009-12-08  Eric Blake  <ebb9@byu.net>
35733
35734         fchdir: avoid memory leak on re-registration.
35735         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
35736
35737 2009-12-08  Jim Meyering  <meyering@redhat.com>
35738
35739         init.sh: avoid Solaris 10 /bin/sh portability problem
35740         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
35741         sourced script:
35742           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
35743           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
35744           bar
35745         tests/init.sh relied on that, accepting a --set-path=DIR argument,
35746         and two tests used that idiom.
35747         * tests/init.sh: Update suggested usage comments.
35748         (path_prepend_): New function, to be used in place
35749         of the --src-path=DIR option.
35750         (setup_): Move PATH-prepending code into path_prepend_.
35751         * tests/test-pread.sh: Adapt to new usage.
35752         * tests/test-xalloc-die.sh: Likewise.
35753
35754 2009-12-08  Simon Josefsson  <simon@josefsson.org>
35755
35756         * doc/gnulib.texi (Glibc pty.h): Add.
35757         * doc/glibc-functions/forkpty.texi: Add.
35758         * doc/glibc-functions/openpty.texi: Add.
35759         Suggested by Bruno Haible.
35760
35761 2009-12-08  Eric Blake  <ebb9@byu.net>
35762
35763         fchdir: fix logic bugs
35764         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
35765         * tests/test-fchdir.c (main): Enhance test.
35766         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
35767         is in use.
35768
35769         dup2: fix logic bugs
35770         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
35771         REPLACE_DUP2 to decide when rpl_dup2 is needed.
35772         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
35773         exists.
35774         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
35775
35776 2009-12-07  Eric Blake  <ebb9@byu.net>
35777
35778         unlink: fix m4 detection
35779         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
35780
35781         unistd-safer: add unit test
35782         * modules/unistd-safer-tests: New file.
35783         * tests/test-dup-safer.c: Likewise.
35784         * tests/test-cloexec.c (setmode): Avoid compiler warning.
35785         * tests/test-dup2.c (setmode): Likewise.
35786         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
35787
35788         cloexec: preserve text vs. binary across dup_cloexec
35789         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
35790         mode.
35791         * modules/dup2-tests (Depends-on): Add binary-io.
35792         * modules/cloexec-tests (Depends-on): Likewise.
35793         * tests/test-dup2.c (setmode, is_mode): New helpers.
35794         (main): Add tests that translation mode is preserved.
35795         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
35796         Reported by Bruno Haible.
35797
35798         mgetgroups: reduce duplicate listings
35799         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
35800         resulting array.
35801         * tests/test-chown.h (test_chown): Simplify client.
35802         * tests/test-lchown.h (test_lchown): Likewise.
35803
35804 2009-12-06  Bruno Haible  <bruno@clisp.org>
35805
35806         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
35807         value.
35808
35809 2009-12-06  Bruno Haible  <bruno@clisp.org>
35810
35811         * lib/progname.c: Include stdio.h, stdlib.h.
35812         (set_program_name): Reject a NULL argument.
35813
35814 2009-12-05  Eric Blake  <ebb9@byu.net>
35815
35816         pipe2-safer: new module
35817         * modules/pipe2-safer: New file.
35818         * lib/unistd-safer.h (pipe2_safer): New prototype.
35819         * lib/unistd--.h (pipe2): New wrapper.
35820         * lib/pipe-safer.c (pipe2_safer): New function.
35821         * modules/pipe (Depends-on): Add pipe2-safer.
35822         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
35823
35824         stdlib-safer: preserve cloexec flag for mkostemp[s]
35825         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
35826         fd_safer_flag.
35827
35828         unistd-safer: allow preservation of cloexec status via flag
35829         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
35830         prototypes.
35831         * lib/dup-safer.c (dup_safer_flag): New function.
35832         * lib/fd-safer.c (fd_safer_flag): Likewise.
35833         * modules/cloexec (configure.ac): Set witness.
35834
35835         test-dup2: enhance test
35836         * modules/dup2-tests (Depends-on): Add cloexec.
35837         * tests/test-dup2.c (main): Enhance test.
35838
35839         cloexec: add dup_cloexec
35840         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
35841         header and comments.
35842         * lib/cloexec.c (set_cloexec_flag): Add comments.
35843         (dup_cloexec): New function, with mingw implementation borrowed
35844         from...
35845         * lib/w32spawn.h (dup_noinherit): ...here.
35846         * modules/execute (Depends-on): Add cloexec.
35847         * modules/pipe (Depends-on): Likewise.
35848         * modules/cloexec (Depends-on): Add dup2.
35849         * modules/cloexec-tests (Files): New file.
35850         * tests/test-cloexec.c: Likewise.
35851
35852         test-xalloc-die: fix test for mingw
35853         * modules/xalloc-die-tests (Files): Add tests/init.sh.
35854         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
35855         directory and .exe suffix off argv[0] output.
35856
35857         test-fseeko: fix test for mingw
35858         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
35859         than undefining fseek, so test will pass on mingw.
35860
35861 2009-12-05  Bruno Haible  <bruno@clisp.org>
35862
35863         * lib/progname.h (set_program_name): Clarify specification.
35864         * lib/progname.c (set_program_name): Likewise.
35865         Reported by Jim Meyering.
35866
35867 2009-12-05  Jim Meyering  <meyering@redhat.com>
35868
35869         maint.mk: backslash-escape parens in default regexp
35870         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
35871         backslash-escape the literal parentheses.
35872
35873         maint.mk: news-date-check: use grep -E
35874         * top/maint.mk (today): Define a Make variable, not a...
35875         (news-date-check): ...shell variable.
35876         (news-date-regexp): Use the Make variable.
35877         Use grep's -E option.  Change the failing diagnostic to mention
35878         the variable, $(news-date-regexp).
35879
35880 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
35881
35882         maintainer-makefile: allow customization of NEWS entry format
35883         * top/maint.mk (news-date-regexp): New overridable variable.
35884         (news-date-check): Use it.
35885
35886 2009-12-04  Eric Blake  <ebb9@byu.net>
35887
35888         mgetgroups: add xgetgroups, and avoid ENOSYS failures
35889         * lib/mgetgroups.h (xgetgroups): New prototype.
35890         * lib/mgetgroups.c (xgetgroups): New wrapper.
35891         (mgetgroups): Handle ENOSYS.
35892         * modules/mgetgroups (Depends-on): Add realloc.
35893         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
35894
35895         mgetgroups: avoid argument promotion issues with -1
35896         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
35897         for invalid gid_t.
35898         * tests/test-chown.h (getegid, test_chown): Likewise.
35899         * tests/test-lchown.h (getegid, test_lchown): Likewise.
35900
35901 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
35902
35903         exclude: Fix header file problems.
35904         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
35905
35906 2009-12-01  Jim Meyering  <meyering@redhat.com>
35907
35908         fts: fts_open: do not let an empty string cause immediate failure
35909         This is required in support of GNU rm, for which the command
35910         "rm A '' B" must process and remove both A and B, in spite of
35911         the empty string argument.
35912         * lib/fts.c (fts_open): Do not let the presence of an empty string
35913         cause fts_open to fail immediately.  Most fts-using tools must be
35914         able to process all arguments, in order, and can be expected to
35915         diagnose such arguments themselves.
35916
35917 2009-11-30  Eric Blake  <ebb9@byu.net>
35918
35919         utimens: fix compilation error
35920         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
35921         Declare variable at right scope.
35922
35923 2009-11-29  Jim Meyering  <meyering@redhat.com>
35924
35925         bootstrap: handle perl-5.11's changed --version output
35926         * build-aux/bootstrap (get_version): Handle perl separately,
35927         since perl-5.11's --version output is different.
35928
35929 2009-11-28  Jim Meyering  <meyering@redhat.com>
35930
35931         userspec: depend on the inttostr module, too
35932         * modules/userspec (Depends-on): Add inttostr.
35933
35934         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
35935         * lib/userspec.c (parse_with_separator): Do not accept a user ID
35936         number of MAXUID when it evaluates to (uid_t) -1.
35937         Likewise for group ID.  Reported by Matt McCutchen in
35938         <http://savannah.gnu.org/bugs/?28113>
35939
35940         userspec: reformat to use spaces, not TABs
35941         * lib/userspec.c: Expand TABs to spaces.
35942         Add Emacs' "indent-tabs-mode: nil" hint.
35943
35944 2009-11-27  Eric Blake  <ebb9@byu.net>
35945
35946         getopt-gnu: flush out another BSD bug
35947         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
35948         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
35949         flush out BSD bug.
35950         * tests/test-getopt.h (test_getopt): End lists with NULL.
35951         * tests/test-getopt_long.h (test_getopt_long): Likewise.
35952         (test_getopt_long_posix): Enhance test.
35953         * modules/getopt-posix-tests (Depends-on): Add stdbool.
35954         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
35955         getopt-gnu.
35956         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35957         Likewise.
35958
35959 2009-11-27  Simon Josefsson  <simon@josefsson.org>
35960
35961         * modules/idpriv-droptemp-tests (Notice): Fix text.
35962
35963 2009-11-27  Jim Meyering  <meyering@redhat.com>
35964
35965         test-xalloc-die: avoid spurious failure due to libtool argv difference
35966         In a libtool-enabled project, this test would fail due to a difference
35967         in the emitted program name, e.g.,
35968         -test-xalloc-die: memory exhausted
35969         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
35970         Use program to avoid that.
35971         * modules/xalloc-die-tests (Depends-on): Add progname.
35972         * tests/test-xalloc-die.c: Include progname.h".
35973         (program_name): Remove decl.
35974         (main): Call set_program_name.
35975         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
35976
35977 2009-11-26  Richard Jones  <rjones@redhat.com>
35978
35979         w32sock: leave win32 error in place.
35980         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
35981
35982 2009-11-26  Eric Blake  <ebb9@byu.net>
35983
35984         init.sh: suggest to use skip_ and fail_ functions in comments
35985         * tests/init.sh: Add a sentence.
35986
35987 2009-11-25  Bruno Haible  <bruno@clisp.org>
35988
35989         init.sh: add documentation in comments
35990         * tests/init.sh: Add some developer and user documentation.
35991
35992 2009-11-26  Jim Meyering  <meyering@redhat.com>
35993
35994         init.sh: accommodate even those who specify bogus srcdir manually
35995         * tests/init.sh: Normally, srcdir is guaranteed by automake and
35996         configure-time tests to be sanitized, so that there is no need to
35997         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
35998         (with no double quotes) suffices.  However, since tests may be
35999         invoked manually, and since you may explicitly set srcdir to the
36000         name of a directory containing spaces, do quote its uses here.
36001         * tests/test-pread.sh: Likewise.
36002         Suggested by Bruno Haible.
36003
36004         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36005         * tests/test-pread.sh: Write no data into the pipe, because
36006         test-pread actually reads none.  This avoids a diagnostic,
36007         "bash: echo: write error: Broken pipe", that arises in the unusual
36008         event something is ignoring SIGPIPE, and might be interpreted
36009         as some sort of failure.  Reported by Bruno Haible.
36010
36011 2009-11-25  Jim Meyering  <meyering@redhat.com>
36012
36013         test-pread: cover failure with ESPIPE and EINVAL
36014         * tests/test-pread.c (main): Test for failure, too.
36015         * tests/test-pread.sh: Invoke with stdin on a pipe.
36016         Suggested by Eric Blake.
36017
36018         pread: improvement and fix
36019         * modules/pread (Depends-on): Depend on lseek, for portability to
36020         e.g., mingw.  Suggested by Eric Blake.
36021         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36022
36023         unistd.in.h: correct declaration of pread
36024         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36025         Reported by Richard W.M. Jones.
36026
36027         test-pread.sh: distribute the test script
36028         * modules/pread-tests (Files): Include test-pread.sh.
36029
36030         test-pread.sh: clean up
36031         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36032         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36033         That is unnecessary, since it's always ".".
36034         Suggestion from Eric Blake.
36035
36036         test-pread.sh: make executable
36037         * tests/test-pread.sh: Set executable bit.
36038         Reported by Eric Blake.
36039
36040         correct typo in test-pread.sh
36041         * tests/test-pread.sh: Add #! line.
36042
36043         test pread
36044         * tests/test-pread.c: New file.
36045         * tests/test-pread.sh: Likewise.
36046         * modules/pread-tests: Likewise.
36047
36048         pread: new module
36049         * modules/pread: New file.
36050         * lib/unistd.in.h (pread): Define/declare.
36051         * lib/pread.c (pread): New file.
36052         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36053         * modules/unistd (Makefile.am): Substitute witnesses.
36054         * doc/posix-functions/pread.texi (pread): Update.
36055         * MODULES.html.sh: Add pread.
36056
36057 2009-11-25  Jim Meyering  <meyering@redhat.com>
36058
36059         tests/init.sh: new file to be used via most *.sh tests
36060         * tests/init.sh: New file.
36061
36062 2009-11-25  Eric Blake  <ebb9@byu.net>
36063
36064         utimens: work around older Linux failure with symlinks
36065         * lib/utimens.c (lutimensat_works_really): New variable.
36066         (fdutimens, lutimens): Use it to manage kernels that support
36067         nanosecond times on files, but not on symlinks.
36068         Reported by OndÅ™ej Vašík.
36069
36070         utimes: fix configure grammar
36071         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36072
36073 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36074
36075         regex: Fix fastmap for multibyte character ranges.
36076         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36077         characters when a multibyte character range is included.
36078
36079 2009-11-22  Andy Wingo  <wingo@pobox.com>
36080
36081         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36082         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36083
36084 2009-11-24  Bruno Haible  <bruno@clisp.org>
36085
36086         doc: Most *_l functions exist in MacOS X 10.5.
36087         * doc/posix-functions/duplocale.texi: Update platforms list.
36088         * doc/posix-functions/freelocale.texi: Likewise.
36089         * doc/posix-functions/newlocale.texi: Likewise.
36090         * doc/posix-functions/uselocale.texi: Likewise.
36091         * doc/posix-functions/isalnum_l.texi: Likewise.
36092         * doc/posix-functions/isalpha_l.texi: Likewise.
36093         * doc/posix-functions/isblank_l.texi: Likewise.
36094         * doc/posix-functions/iscntrl_l.texi: Likewise.
36095         * doc/posix-functions/isdigit_l.texi: Likewise.
36096         * doc/posix-functions/isgraph_l.texi: Likewise.
36097         * doc/posix-functions/islower_l.texi: Likewise.
36098         * doc/posix-functions/isprint_l.texi: Likewise.
36099         * doc/posix-functions/ispunct_l.texi: Likewise.
36100         * doc/posix-functions/isspace_l.texi: Likewise.
36101         * doc/posix-functions/isupper_l.texi: Likewise.
36102         * doc/posix-functions/iswalnum_l.texi: Likewise.
36103         * doc/posix-functions/iswalpha_l.texi: Likewise.
36104         * doc/posix-functions/iswblank_l.texi: Likewise.
36105         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36106         * doc/posix-functions/iswctype_l.texi: Likewise.
36107         * doc/posix-functions/iswdigit_l.texi: Likewise.
36108         * doc/posix-functions/iswgraph_l.texi: Likewise.
36109         * doc/posix-functions/iswlower_l.texi: Likewise.
36110         * doc/posix-functions/iswprint_l.texi: Likewise.
36111         * doc/posix-functions/iswpunct_l.texi: Likewise.
36112         * doc/posix-functions/iswspace_l.texi: Likewise.
36113         * doc/posix-functions/iswupper_l.texi: Likewise.
36114         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36115         * doc/posix-functions/isxdigit_l.texi: Likewise.
36116         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36117         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36118         * doc/posix-functions/strcoll_l.texi: Likewise.
36119         * doc/posix-functions/strfmon_l.texi: Likewise.
36120         * doc/posix-functions/strftime_l.texi: Likewise.
36121         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36122         * doc/posix-functions/strxfrm_l.texi: Likewise.
36123         * doc/posix-functions/tolower_l.texi: Likewise.
36124         * doc/posix-functions/toupper_l.texi: Likewise.
36125         * doc/posix-functions/towctrans_l.texi: Likewise.
36126         * doc/posix-functions/towlower_l.texi: Likewise.
36127         * doc/posix-functions/towupper_l.texi: Likewise.
36128         * doc/posix-functions/wcscoll_l.texi: Likewise.
36129         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36130         * doc/posix-functions/wctrans_l.texi: Likewise.
36131         * doc/posix-functions/wctype_l.texi: Likewise.
36132         * doc/glibc-functions/strptime_l.texi: Likewise.
36133         * doc/glibc-functions/strtod_l.texi: Likewise.
36134         * doc/glibc-functions/strtof_l.texi: Likewise.
36135         * doc/glibc-functions/strtol_l.texi: Likewise.
36136         * doc/glibc-functions/strtold_l.texi: Likewise.
36137         * doc/glibc-functions/strtoll_l.texi: Likewise.
36138         * doc/glibc-functions/strtoul_l.texi: Likewise.
36139         * doc/glibc-functions/strtoull_l.texi: Likewise.
36140         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36141         * doc/glibc-functions/wcstod_l.texi: Likewise.
36142         * doc/glibc-functions/wcstof_l.texi: Likewise.
36143         * doc/glibc-functions/wcstol_l.texi: Likewise.
36144         * doc/glibc-functions/wcstold_l.texi: Likewise.
36145         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36146         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36147         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36148
36149 2009-11-24  Bruno Haible  <bruno@clisp.org>
36150
36151         duplocale: Fix logic bug.
36152         * lib/duplocale.c: Don't include <langinfo.h>.
36153         (_NL_LOCALE_NAME): Remove macro.
36154         (rpl_duplocale): Use setlocale instead of nl_langinfo.
36155         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
36156
36157 2009-11-23  Jim Meyering  <meyering@redhat.com>
36158
36159         test-update-copyright: don't hard-code /usr/bin/perl
36160         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
36161         perl to print the current year.  Gilles Espinasse reported that
36162         the replaced use of perl was hard-coded as /usr/bin/perl.
36163
36164 2009-11-23  Bruno Haible  <bruno@clisp.org>
36165
36166         duplocale: Add support for glibc 2.3.x.
36167         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
36168
36169 2009-11-22  Bruno Haible  <bruno@clisp.org>
36170
36171         vasnprintf: Tiny optimization.
36172         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36173         MacOS X.
36174
36175 2009-11-22  Bruno Haible  <bruno@clisp.org>
36176
36177         Tests for module 'duplocale'.
36178         * modules/duplocale-tests: New file.
36179         * tests/test-duplocale.c: New file.
36180
36181         New module 'duplocale'.
36182         * m4/duplocale.m4: New file.
36183         * lib/locale.in.h (duplocale): New declaration.
36184         * lib/duplocale.c: New file.
36185         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36186         gl_LOCALE_H_DEFAULTS): New macros.
36187         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
36188         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
36189         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
36190         REPLACE_DUPLOCALE.
36191         * modules/duplocale: New file.
36192         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
36193
36194 2009-11-22  Bruno Haible  <bruno@clisp.org>
36195
36196         * modules/locale-tests (configure.ac): Test for newlocale function.
36197         * tests/test-locale.c: When the system has extended locale functions,
36198         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
36199
36200         locale: Make locale_t available when possible.
36201         * lib/locale.in.h: Include <xlocale.h> when it exists.
36202         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
36203         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36204         * modules/locale (Depends-on): Add extensions.
36205         (Makefile.am): Also substitute HAVE_XLOCALE_H.
36206         * doc/posix-headers/locale.texi: Document the problem with locale_t.
36207
36208 2009-11-22  Bruno Haible  <bruno@clisp.org>
36209
36210         Add comments.
36211         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
36212         invocation.
36213         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36214         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36215         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36216
36217 2009-11-22  Bruno Haible  <bruno@clisp.org>
36218
36219         error: account for the possibility of freopen (stdout).
36220         * lib/error.c: Include <unistd.h>.
36221         (flush_stdout): New function, extracted from error and error_at_line.
36222         Determine stdout's fd dynamically.
36223         (error, error_at_line): Invoke flush_stdout.
36224         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
36225         * modules/error (Depends-on): Add unistd.
36226
36227 2009-11-22  Bruno Haible  <bruno@clisp.org>
36228
36229         diffseq: Add comment.
36230         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
36231
36232 2009-11-22  Jim Meyering  <meyering@redhat.com>
36233
36234         c-stack: avoid defining an unused static function
36235         * lib/c-stack.c (find_stack_direction): Do not define this function
36236         when it will not be used.
36237
36238         diffseq: avoid spurious gcc warnings
36239         * lib/diffseq.h (IF_LINT2): Define.
36240         (compareseq): Use it to initialize two members of "part".
36241         This avoids two used-uninitialized warnings.
36242
36243 2009-11-21  Jim Meyering  <meyering@redhat.com>
36244
36245         c-stack: avoid "ignoring return value of `write'" warning
36246         * lib/c-stack.c: Include "ignore-value.h".
36247         (die): Explicitly ignore each write return value.
36248         * modules/c-stack (Depends-on): Add ignore-value.
36249
36250 2009-11-21  Bruno Haible  <bruno@clisp.org>
36251
36252         diffseq: reduce scope of variable 'best'.
36253         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
36254         variable, earlier used for two different purposes.
36255
36256 2009-11-21  Jim Meyering  <meyering@redhat.com>
36257
36258         diffseq: remove useless assignment to "best"
36259         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
36260         assignment.  At that point "best" is already guaranteed to be zero.
36261
36262 2009-11-20  Eric Blake  <ebb9@byu.net>
36263
36264         build: mention ftp redirector in release announcements
36265         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
36266         values that used to come from cfg.mk; mention FTP redirect URL.
36267         * build-aux/announce-gen: Mention the mirror list.
36268         Suggested by Karl Berry.
36269
36270         nanosleep: improve port to mingw
36271         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
36272         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
36273         LIB_NANOSLEEP, but only when needed.
36274         * modules/select (Link): Document LIBSOCKET.
36275         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
36276         enough.
36277
36278         nanosleep: work around cygwin bug
36279         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
36280         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
36281         bug.
36282         (getnow): Delete, not needed.
36283         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
36284         LIB_CLOCK_GETTIME.
36285         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
36286         clock-time, gettime.
36287         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
36288         bug.
36289         * modules/nanosleep-tests: New test.
36290         * tests/test-nanosleep.c: New file.
36291
36292         sleep: work around cygwin bug
36293         * lib/sleep.c (rpl_sleep): Work around the bug.
36294         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
36295         (gl_PREREQ_SLEEP): Delete unused macro.
36296         * modules/sleep (Depends-on): Add verify.
36297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36298         * modules/unistd (Makefile.am): Substitute witness.
36299         * lib/unistd.in.h (sleep): Update prototype.
36300         * doc/posix-functions/sleep.texi (sleep): Document the bug.
36301         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
36302         * modules/sleep-tests (Depends-on): Check for alarm.
36303
36304 2009-11-20  Jim Meyering  <meyering@redhat.com>
36305
36306         maint.mk: improve sc_prohibit_magic_number_exit
36307         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
36308         so it does not match uses like System.exit(1).
36309         Add comments showing how to correct all offenders.
36310
36311 2009-11-19  Eric Blake  <ebb9@byu.net>
36312
36313         xalloc-die-tests: add missing library
36314         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
36315
36316         test-xvasprintf: silence compiler warnings
36317         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
36318         empty string from gcc.
36319
36320 2009-11-19  Jim Meyering  <meyering@redhat.com>
36321
36322         xfreopen: new module, from coreutils
36323         * modules/xfreopen: New module.
36324         * lib/xfreopen.c: New file.
36325         * lib/xfreopen.h: New file.
36326         * MODULES.html.sh (File stream based Input/Output"): Add it.
36327
36328 2009-11-19  Eric Blake  <ebb9@byu.net>
36329
36330         manywarnings: depend on warnings
36331         * modules/manywarnings (Depends-on): Add warnings.
36332
36333         build: avoid compiler warnings
36334         * lib/select.c (rpl_select): Delete unused variable.
36335         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
36336
36337 2009-11-18  Eric Blake  <ebb9@byu.net>
36338
36339         tests: avoid false negative with --with-packager
36340         * tests/test-version-etc.sh: Discard packager information.
36341         * tests/test-argp-version-etc-1.sh: Likewise.
36342         Reported by Mike Frysinger.
36343
36344         utimens: fix regression on Solaris
36345         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
36346         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
36347         can only change fd timestamps via futimesat.  Instead, use an
36348         additional witness macro to avoid BSD bug.
36349         Reported by Jim Meyering.
36350
36351 2009-11-17  Eric Blake  <ebb9@byu.net>
36352
36353         usleep: use it to simplify tests
36354         * modules/stat-time-tests (Depends-on): Add usleep.
36355         (configure.ac): Drop usleep check.
36356         * modules/chown-tests (Depends-on, configure.ac): Likewise.
36357         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
36358         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
36359         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
36360         * modules/openat-tests (Depends-on, configure.ac): Likewise.
36361         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
36362         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
36363         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
36364         Likewise.
36365         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
36366         * tests/test-lchown.h (nap): Likewise.
36367         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
36368         * tests/test-stat-time.c (nap): Likewise.
36369         * tests/test-utimens-common.h (nap): Update comments.
36370
36371         usleep: new module
36372         * modules/usleep: New file.
36373         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
36374         * lib/usleep.c (usleep): Likewise.
36375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36376         * modules/unistd (Makefile.am): Substitute witnesses.
36377         * lib/unistd.in.h (usleep): Add declaration.
36378         * doc/pastposix-functions/usleep.texi (usleep): Document this.
36379         * MODULES.html.sh (Date and time): Likewise.
36380         * modules/usleep-tests (Depends-on): New test.
36381         * tests/test-usleep.c: New file.
36382
36383         chown: work around OpenBSD bug
36384         * lib/chown.c (rpl_chown): Work around the bug.
36385         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
36386         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
36387         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
36388         * modules/chown (Depends-on): Add stdbool.
36389         * modules/lchown (Depends-on): Likewise.
36390         * doc/posix-functions/chown.texi (chown): Document the bug.
36391         * doc/posix-functions/lchown.texi (lchown): Likewise.
36392         * tests/test-lchown.h (test_chown): Relax test.
36393
36394         mkstemp: avoid conflict with C++ keyword template
36395         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
36396         * lib/mkostemp.c (mkostemp): Likewise.
36397         * lib/mkostemps.c (mkostemps): Likewise.
36398         * lib/mkstemp.c (mkstemp): Likewise.
36399         * lib/mkstemps.c (mkstemps): Likewise.
36400
36401         xalloc-die-tests: optimize
36402         * tests/test-xalloc-die.sh: Reduce number of processes.
36403
36404 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36405
36406         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
36407         patch from ludo@gnu.org (Ludovic Courtès).
36408
36409 2009-11-17  Jim Meyering  <meyering@redhat.com>
36410
36411         version-etc: use proper license string
36412         * modules/version-etc (License): Use LGPL, not LGPLv3+.
36413         * modules/version-etc-fsf: Likewise.
36414
36415 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36416
36417         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
36418         printed to stdout.  Deal with EOL differences.
36419
36420 2009-11-17  Eric Blake  <ebb9@byu.net>
36421
36422         unsetenv: work around Solaris bug
36423         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
36424         * lib/unsetenv.c (rpl_unsetenv): Work around it.
36425         Reported by Jim Meyering.
36426
36427         vasnprintf: avoid compiler warnings
36428         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
36429         variables.
36430         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
36431
36432 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36433
36434         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
36435         settings since xalloc-die is no longer the self test,
36436         xalloc-die.sh is.
36437
36438 2009-11-17  Jim Meyering  <meyering@redhat.com>
36439
36440         test-xalloc-die.sh: make the code agree with the commit log
36441         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
36442         at the end, just in case you happen to have a test-xalloc-die
36443         program in some other PATH directory.
36444
36445         test-xalloc-die.sh: fix a portability bug
36446         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
36447         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
36448         Otherwise, argv[0] (as often seen in diagnostics) would be too
36449         system-dependent, sometimes with, and sometimes without the leading "./".
36450
36451         version-etc-fsf: relax license to LGPLv3+
36452         * modules/version-etc-fsf (License): Relax license.
36453
36454 2009-11-16  Eric Blake  <ebb9@byu.net>
36455
36456         xalloc-die-tests: avoid printing null pointer
36457         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
36458         shell script.
36459         * tests/test-xalloc-die.c (program_name): Declare.
36460         * tests/test-xalloc-die.sh (tmpfiles): New file.
36461
36462         setenv, unsetenv: work around various bugs
36463         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
36464         (setenv) [HAVE_SETENV]: Work around bugs.
36465         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
36466         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
36467         for bugs.
36468         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
36469         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
36470         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
36471         * modules/stdlib (Makefile.am): Update substitutions.
36472         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
36473         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
36474         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36475         * modules/setenv-tests: New test.
36476         * modules/unsetenv-tests: Likewise.
36477         * tests/test-setenv.c: New file.
36478         * tests/test-unsetenv.c: Likewise.
36479
36480 2009-11-16  Jim Meyering  <meyering@redhat.com>
36481
36482         version-etc: relax license to LGPLv3+
36483         * modules/version-etc (License): Relax license.
36484
36485         better AC_REQUIRE expanded-before-required-warning avoidance
36486         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
36487         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
36488         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
36489         which is no longer needed.
36490
36491 2009-11-16  Eric Blake  <ebb9@byu.net>
36492
36493         test-freading: clean up temporary file
36494         * tests/test-freading.c (main): Remove file on success, and use
36495         ASSERT more liberally.
36496         Reported by Jim Meyering.
36497
36498 2009-11-16  Jim Meyering  <meyering@redhat.com>
36499
36500         avoid new AC_REQUIRE expanded-before-required warnings
36501         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
36502         merely using it.
36503         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
36504         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
36505
36506 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36507
36508         * tests/test-xalloc-die.c: New file.
36509         * modules/xalloc-die-tests: New file.
36510         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
36511         XFAIL_TESTS so it can be appended by modules.
36512
36513 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36514
36515         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
36516         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
36517
36518 2009-11-14  Eric Blake  <ebb9@byu.net>
36519
36520         fnmatch: avoid compiler warning
36521         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
36522         to silence compiler warning about mismatch signedness in ?:.
36523         Reported by Robert Millan.
36524
36525         intprops: add double-inclusion guard
36526         * lib/intprops.h: Allow idempotent includes.
36527         Suggested by Bruce Korb.
36528
36529         openat: detect Solaris fchownat bug
36530         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
36531         penalizing glibc chownat when only lchownat is broken.
36532         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
36533         trailing slash bugs.
36534         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
36535         * modules/openat-tests (Files): Include more files.
36536         (Depends-on): Add mgetgroups, sleep, stat-time.
36537         (configure.ac): Add additional checks.
36538         (Makefile.am): Build new test.
36539         * tests/test-fchownat.c: New file.
36540
36541         lchown: detect Solaris and FreeBSD bug
36542         * lib/lchown.c (rpl_lchown): Work around bug.
36543         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
36544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36545         * modules/unistd (Makefile.am): Populate it.
36546         * lib/unistd.in.h (lchown): Update declaration.
36547         * doc/posix-functions/lchown.texi (lchown): Document the bug.
36548         * modules/lchown-tests: New file.
36549         * tests/test-lchown.h (test_lchown): Likewise.
36550         * tests/test-lchown.c (main): Likewise.
36551
36552         chown: detect Solaris and FreeBSD bug
36553         * lib/chown.c (rpl_chown): Work around bug.
36554         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
36555         (gl_PREREQ_CHOWN): Delete.
36556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36557         * modules/unistd (Makefile.am): Populate it.
36558         * lib/unistd.in.h (chown): Update declaration.
36559         * lib/lchown.c (chown): Update client.
36560         * modules/lchown (Depends-on): Add lstat.
36561         * doc/posix-functions/chown.texi (chown): Document the bug.
36562         * doc/posix-functions/getgroups.texi (getgroups): Document
36563         getgroups pitfall.
36564         * modules/chown-tests: New file.
36565         * tests/test-chown.h (test_chown): Likewise.
36566         * tests/test-chown.c (main): Likewise.
36567
36568 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
36569
36570         gnulib-tool: correctly detect absence of m4 directories
36571         * gnulib-tool: Avoid extra newline on data passed to wc -l.
36572
36573 2009-11-14  Jim Meyering  <meyering@redhat.com>
36574
36575         maint.mk: Prohibit inclusion of "xalloc.h" without use.
36576         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36577
36578 2009-11-14  John W. Eaton  <jwe@gnu.org>
36579
36580         strftime.h: wrap funtion declaration in extern "C" block
36581         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
36582
36583 2009-11-13  Eric Blake  <ebb9@byu.net>
36584
36585         getgroups: avoid compiler warning
36586         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
36587
36588         getgroups: work around FreeBSD bug
36589         * lib/getgroups.c (rpl_getgroups): Work around the bug.
36590         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
36591         * doc/posix-functions/getgroups.texi (getgroups): Document it.
36592         * tests/test-getgroups.c (main): Fix buffer overrun.
36593
36594         getgroups: avoid compilation failure
36595         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
36596         * modules/getgroups (Depends-on): Add stdint.
36597
36598 2009-11-13  Jim Meyering  <meyering@redhat.com>
36599
36600         test-getgroups: avoid compilation failure
36601         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
36602
36603 2009-11-13  Eric Blake  <ebb9@byu.net>
36604
36605         mgetgroups: new module, taken from coreutils
36606         * modules/mgetgroups: New file.
36607         * lib/mgetgroups.h: Likewise.
36608         * lib/mgetgroups.c (mgetgroups): Likewise.
36609         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
36610         * MODULES.html.sh (Users and groups): Mention it.
36611
36612         getgroups: don't expose GETGROUPS_T to user
36613         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
36614         an element at a time if GETGROUPS_T is wrong size.
36615         * lib/getugroups.h (getugroups): Change signature.
36616         * lib/unistd.in.h (getgroups): Likewise.
36617         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
36618         signature needs fixing.
36619         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
36620         AC_TYPE_GETGROUPS.
36621         * modules/group-member (Depends-on): Add getgroups.
36622         * lib/group-member.c (group_info, get_group_info): Use gid_t.
36623         (group_member): Rely on getgroups replacement.
36624         * lib/getugroups.c (getugroups): Use gid_t.
36625         * tests/test-getgroups.c (main): Likewise.
36626         * NEWS: Mention the signature change.
36627         * doc/posix-functions/getgroups.texi (getgroups): Mention the
36628         problem with signature.
36629         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
36630         GETGROUPS_T is still useful for setgroups.
36631
36632         getgroups, getugroups: provide stubs for mingw
36633         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
36634         * lib/getugroups.c (getugroups): Likewise.
36635         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
36636         function.  Modernize replacement scheme.
36637         (gl_PREREQ_GETGROUPS): Delete.
36638         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
36639         * modules/getgroups (configure.ac): Declare witness.
36640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36641         * modules/unistd (Depends-on): Substitute witness.
36642         * lib/unistd.in.h (getgroups): Declare replacement.
36643
36644         getgroups: avoid calling exit
36645         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
36646         drop xalloc.
36647         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
36648         dependencies.
36649         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
36650         exiting, in the rare case of malloc failure.
36651
36652         getgroups: fix logic error
36653         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
36654         has more than 20 groups.
36655         * modules/getgroups-tests: New test.
36656         * tests/test-getgroups.c: New file.
36657
36658 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36659
36660         * tests/test-base64.c: Improve.
36661
36662 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36663
36664         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
36665         Blake <ebb9@byu.net>.
36666
36667 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36668
36669         * tests/test-xvasprintf.c: Add %s%s related checks.
36670
36671 2009-11-12  Eric Blake  <ebb9@byu.net>
36672
36673         version-etc: match standards.texi style
36674         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
36675         and use <> only for URLs.
36676
36677 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
36678
36679         fts: do not fail on a submount during traversal
36680         * lib/fts.c (fts_build): Read the stat info again after opening
36681         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
36682         Original report at http://bugzilla.redhat.com/501848.
36683
36684 2009-11-12  Jim Meyering  <meyering@redhat.com>
36685
36686         bootstrap: sync from coreutils
36687         * build-aux/bootstrap (bootstrap_epilogue): New function.
36688         Use git_modules_config in one more place.  This make bootstrap's
36689         --gnulib-srcdir option more useful for testing.
36690
36691         bootstrap: generalize autoheader check
36692         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
36693         AC_CONFIG_HEADERS.
36694
36695 2009-11-11  Eric Blake  <ebb9@byu.net>
36696
36697         mkfifoat: use new modules for Solaris and BSD bugs
36698         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
36699         * lib/mkfifoat.c (mknodat): Split...
36700         * lib/mknodat.c (mknodat): ...into new file.
36701         * modules/mkfifoat (Files): Ship new file.
36702         (Depends-on): Add mkfifo, mknod.
36703         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
36704         (Depends-on): Add symlink.
36705         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
36706         redundant with test_mkfifo.h.
36707         (do_mkfifoat, do_mknodat): New helpers.
36708
36709         mknod: new module
36710         * modules/mknod: New file.
36711         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
36712         * lib/mknod.c (mknod): Likewise.
36713         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36714         defaults.
36715         * modules/sys_stat (Makefile.am): Substitute them.
36716         * lib/sys_stat.in.h (mknod): Declare replacement.
36717         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36718         Document it.
36719         * doc/posix-functions/mknod.texi (mknod): Likewise.
36720         * modules/mknod-tests: New test.
36721         * tests/test-mknod.c: Likewise.
36722
36723         mkfifo: new module
36724         * modules/mkfifo: New file.
36725         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
36726         * lib/mkfifo.c (mkfifo): Likewise.
36727         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36728         defaults.
36729         * modules/sys_stat (Makefile.am): Substitute them.
36730         * lib/sys_stat.in.h (mkfifo): Declare replacement.
36731         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36732         Document it.
36733         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
36734         * modules/mkfifo-tests: New test.
36735         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
36736         from test-mkfifoat.c.
36737         * tests/test-mkfifo.c: New file.
36738
36739         readlink: detect FreeBSD bug
36740         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
36741         slash on symlink.
36742         * doc/posix-functions/readlink.texi (readlink): Document the bug.
36743         * tests/test-readlink.h (test_readlink): Enhance test.
36744
36745         symlink: detect FreeBSD bug
36746         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
36747         slash on symlink.
36748         * doc/posix-functions/symlink.texi (symlink): Document the bug.
36749         * tests/test-symlink.h (test_symlink): Enhance test.
36750
36751 2009-11-10  Eric Blake  <ebb9@byu.net>
36752
36753         link: detect FreeBSD bug
36754         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
36755         symlink.
36756         * doc/posix-functions/link.texi (link): Document the bug.
36757         * tests/test-link.h (test_link): Enhance test.
36758         * tests/test-linkat.c (main): Update caller.
36759
36760         unlink, remove: detect FreeBSD bug
36761         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
36762         slash on symlink.
36763         * doc/posix-functions/unlink.texi (unlink): Document the bug.
36764         * doc/posix-functions/remove.texi (remove): Likewise.
36765         * tests/test-unlink.h (test_unlink): Enhance test.
36766         * tests/test-remove.c (main): Likewise.
36767
36768 2009-11-09  Eric Blake  <ebb9@byu.net>
36769
36770         rename: detect FreeBSD bug
36771         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
36772         slash on symlink.
36773         * modules/renameat-tests (Depends-on): Add filenamecat.
36774         * tests/test-rename.h (test_rename): Allow one more errno.
36775         * tests/test-renameat.c (main): Likewise.
36776         * doc/posix-functions/rename.texi (rename): Document the bug.
36777
36778         open: detect FreeBSD bug
36779         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
36780         symlink.
36781         * doc/posix-functions/open.texi (open): Document the bug.
36782         * doc/posix-functions/utimes.texi (utimes): Likewise.
36783         * tests/test-open.h (test_open): Add parameters, and test symlink
36784         handling.
36785         * tests/test-open.c (main): Adjust caller.
36786         * tests/test-fcntl-safer.c (main): Likewise.
36787         * modules/open-tests (Depends-on): Add stdbool, symlink.
36788         * modules/fcntl-safer-tests (Depends-on): Likewise.
36789         * tests/test-openat.c (main): Add test-open tests.
36790
36791         stat: detect FreeBSD bug
36792         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
36793         symlink.
36794         * doc/posix-functions/stat.texi (stat): Document the bug.
36795         * tests/test-stat.h (test_stat_func): Add argument.
36796         * tests/test-stat.c (main): Adjust caller.
36797         * tests/test-fstatat.c (main): Likewise.
36798         * modules/stat-tests (Depends-on): Add stdbool, symlink.
36799         Reported by Jim Meyering.
36800
36801 2009-11-09  James Youngman  <jay@gnu.org>
36802
36803         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
36804         * lib/strftime.c: Correct placement of #include "ignore-value.h".
36805
36806 2009-11-08  Jim Meyering  <meyering@redhat.com>
36807
36808         utimens: remove invalid futimesat call
36809         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
36810         It used the file descriptor of the target file as the DIR_FD
36811         parameter and NULL as the file name.  That caused failure with
36812         errno == EFAULT on FreeBSD-8.0-rc2
36813
36814 2009-11-07  Eric Blake  <ebb9@byu.net>
36815
36816         fflush, freadseek: use fseeko, not fseek
36817         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36818         (clear_ungetc_buffer): Avoid potential problems on large files.
36819         * lib/freadseek.c (freadseek): Likewise.
36820         * modules/freadseek (Depends-on): Add fseeko.
36821         * modules/fseek (configure.ac): Set a witness.
36822         * tests/test-fflush.c (main): Use fseeko.
36823         * tests/test-fpurge.c (fseek): Disable link warning.
36824         * tests/test-freadable.c (fseek): Likewise.
36825         * tests/test-freading.c (fseek): Likewise.
36826         * tests/test-fseeko.c (fseek): Likewise.
36827         * tests/test-ftell.c (fseek): Likewise.
36828         * tests/test-ftello.c (fseek): Likewise.
36829         * tests/test-fwritable.c (fseek): Likewise.
36830         * tests/test-fwriting.c (fseek): Likewise.
36831
36832 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36833
36834         * modules/memchr (Depends-on): Drop getpagesize dependency.
36835
36836 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36837
36838         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
36839         Reported by Ludovic Courtès.
36840         * build-aux/pmccabe2html: Improve example usage.
36841         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
36842
36843 2009-11-06  Jim Meyering  <meyering@redhat.com>
36844
36845         do-release-commit-and-tag: New module.
36846         Automate the release-commit and tag process.
36847         * build-aux/do-release-commit-and-tag: New script, from coreutils.
36848         * modules/do-release-commit-and-tag: New file.
36849         * MODULES.html.sh (Support for maintaining and releasing): Add it.
36850
36851 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36852
36853         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
36854         because test-select.c uses inet_pton.
36855
36856 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36857
36858         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
36859         GETADDRINFO_LIB.  Bump serial number.
36860         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
36861         Suggested by Eric Blake <ebb9@byu.net>.
36862
36863 2009-11-05  Eric Blake  <ebb9@byu.net>
36864
36865         strtod: detect darwin bug
36866         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
36867         Reported by Leo Davis.
36868
36869         freopen-safer: new module
36870         * modules/freopen-safer: New module.
36871         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
36872         * lib/freopen-safer.c (freopen_safer): New file.
36873         * lib/stdio-safer.h (freopen_safer): New declaration.
36874         * lib/stdio--.h (freopen): New override.
36875         * MODULES.html.sh (File stream based Input/Output): Mention it.
36876         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
36877         freopen-safer module.
36878         * doc/posix-functions/stderr.texi (stderr): Likewise.
36879         * doc/posix-functions/stdin.texi (stdin): Likewise.
36880         * doc/posix-functions/stdout.texi (stdout): Likewise.
36881         * modules/freopen-safer-tests: New test.
36882         * tests/test-reopen-safer.c: New file.
36883
36884 2009-11-05  Jim Meyering  <meyering@redhat.com>
36885
36886         maint.mk: Prohibit inclusion of "close-stream.h" without use.
36887         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36888
36889 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36890
36891         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
36892
36893 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36894
36895         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
36896
36897 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36898
36899         Fix link error.
36900         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36901         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36902
36903 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36904
36905         * tests/test-func.c: Also test value of __func__.
36906
36907 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36908
36909         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
36910         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
36911
36912 2009-11-05  Bruno Haible  <bruno@clisp.org>
36913
36914         Fix link error.
36915         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36916         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36917         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
36918
36919 2009-11-05  Bruno Haible  <bruno@clisp.org>
36920
36921         Tests for module 'inet_pton'.
36922         * modules/inet_pton-tests: New file.
36923         * tests/test-inet_pton.c: New file.
36924
36925 2009-11-05  Bruno Haible  <bruno@clisp.org>
36926
36927         Tests for module 'inet_ntop'.
36928         * modules/inet_ntop-tests: New file.
36929         * tests/test-inet_ntop.c: New file.
36930
36931 2009-11-04  Eric Blake  <ebb9@byu.net>
36932
36933         stdlib-safer: wrap all mkstemp variants
36934         * modules/mkostemp (configure.ac): Set witness.
36935         * modules/mkostemps (configure.ac): Likewise.
36936         * modules/mkstemps (configure.ac): Likewise.
36937         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
36938         (mkstemps_safer): Wrap more functions.
36939         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
36940         wrapping.
36941         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
36942         (mkstemps_safer): Implement the wrappers.
36943
36944         mkstemps, mkostemps: new modules
36945         * modules/mkostemps: New module.
36946         * modules/mkstemps: Likewise.
36947         * lib/mkostemps.c (mkostemps): New file.
36948         * lib/mkstemps.c (mkstemps): Likewise.
36949         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
36950         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
36951         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
36952         * modules/stdlib (Makefile.am): Substitute them.
36953         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
36954         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
36955         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
36956         * doc/gnulib.texi (Glibc stdlib.h): Include them.
36957         * MODULES.html.sh (File system functions): Mention them.
36958
36959         tempname: resync from glibc
36960         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
36961         same values for __GT_FILE as glibc.  Abort even when assertions
36962         are disabled.
36963         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
36964         match its value otherwise.  Allow idempotent inclusion.
36965         * lib/mkdtemp.c (mkdtemp): Adjust caller.
36966         * lib/mkostemp.c (mkostemp): Likewise.
36967         * lib/mkstemp.c (mkstemp): Likewise.
36968         * lib/tmpfile.c (tmpfile): Likewise.
36969         * NEWS: Document this.
36970
36971         utimens: fix use of futimens on older Linux
36972         * lib/utimens.c (fdutimens): Use updated, rather than original,
36973         timespec to avoid bug in older Linux kernel.
36974         Reported by Simon Josefsson.
36975
36976 2009-11-04  Bruno Haible  <bruno@clisp.org>
36977
36978         Make num_processors more flexible and consistent.
36979         * lib/nproc.h (enum nproc_query): New type.
36980         (num_processors): Add a 'query' argument.
36981         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
36982         (num_processors): Add a 'query' argument. Test the value of the
36983         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
36984         mingw, count the number of CPUs available for the current process.
36985         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
36986         Check for sched_getaffinity and sched_getaffinity_np.
36987         * modules/nproc (Depends-on): Add c-ctype, extensions.
36988         * NEWS: Mention the change.
36989
36990 2009-11-03  Bruno Haible  <bruno@clisp.org>
36991
36992         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
36993
36994 2009-11-03  Jim Meyering  <meyering@redhat.com>
36995
36996         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
36997         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
36998         if it is defined.
36999
37000 2009-11-02  Eric Blake  <ebb9@byu.net>
37001
37002         mktime, timegm: share common declaration
37003         * lib/mktime-internal.h: New file.
37004         * lib/mktime.c: Use it rather than open-coding a declaration.
37005         * lib/timegm.c: Likewise.
37006         * modules/mktime (Files): Ship it.
37007         * modules/timegm (Files): Likewise.
37008         Suggested by Bruno Haible.
37009
37010         test-update-copyright: update test to match script changes
37011         * tests/test-update-copyright.sh: Avoid hard-coding perl
37012         location.  Don't update *.bak created by earlier runs.
37013
37014 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37015             Simon Josefsson  <simon@josefsson.org>
37016             Bruno Haible  <bruno@clisp.org>
37017
37018         Fix link error on Solaris 8.
37019         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37020         also in libnsl. Define also INET_PTON_LIB.
37021         * modules/inet_pton (Link): New section.
37022
37023 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37024             Bruno Haible  <bruno@clisp.org>
37025
37026         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37027         * modules/inet_ntop (Link): New section.
37028         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37029
37030 2009-11-02  Eric Blake  <ebb9@byu.net>
37031
37032         maint: avoid compiler warnings in m4 macros
37033         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37034         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37035
37036 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37037
37038         * m4/pmccabe2html.m4: Remove file.
37039         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37040         function.  Change maintainer.
37041         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37042         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37043         Courtès).
37044
37045 2009-10-31  Eric Blake  <ebb9@byu.net>
37046
37047         fseeko: fix m4 regression
37048         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37049         regression from 2009-10-27.
37050         Reported by Ralf Wildenhues.
37051
37052 2009-10-31  Jim Meyering  <meyering@redhat.com>
37053
37054         inttostr: aesthetics and improved (compile-time) safety
37055         Define inttype_is_signed rather than inttype_is_unsigned,
37056         since the sole use is via "#if inttype_is_signed".
37057         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37058         inttype_is_unsigned.
37059         * lib/offtostr.c (inttype_is_signed): Likewise.
37060         * lib/uinttostr.c (inttype_is_signed): Likewise.
37061         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37062         * lib/inttostr.c (inttostr): Use verify to cross-check the
37063         inttype_is_signed value and the signedness of the actual type.
37064         * modules/inttostr (Depends-on): Add verify.
37065
37066 2009-10-30  Eric Blake  <ebb9@byu.net>
37067
37068         build: avoid compiler warnings
37069         * lib/fchmodat.c (lchmod): Mark unused variables.
37070         * lib/getopt.c (_getopt_initialize): Likewise.
37071         * lib/mktime.c (__mktime_internal): Provide prototype.
37072         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37073         older gcc that do not understand #pragma GCC diagnostic.
37074         * lib/uinttostr.c (inttype_is_unsigned): Define.
37075         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37076
37077 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37078
37079         stat: fix compilation on AIX
37080         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37081         only see struct stat64.
37082
37083 2009-10-30  Eric Blake  <ebb9@byu.net>
37084
37085         exclude: make more robust
37086         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37087         rather than masking a coding bug.
37088         Suggested by Bruno Haible.
37089
37090 2009-10-30  Jim Meyering  <meyering@redhat.com>
37091
37092         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37093         Rather than putting #!/usr/bin/perl on the first line,
37094         start with a variant of what's recommended by "man perlrun" that
37095         invokes the first "perl" program from your shell's search path.
37096         * build-aux/gitlog-to-changelog: Replace #!... as above.
37097         Add a "Local Variables" perl mode setting.
37098         Prompted by a patch from Ludovic Courtès.
37099         Improved by Eric Blake.
37100         * build-aux/useless-if-before-free: Likewise.
37101         * build-aux/announce-gen: Likewise.
37102         * build-aux/update-copyright: Likewise.
37103
37104 2009-10-29  Eric Blake  <ebb9@byu.net>
37105
37106         filenamecat-lgpl: adjust clients
37107         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37108         filenamecat.
37109         * modules/renameat (Depends-on): Likewise.
37110
37111         filenamecat: split into filenamecat-lgpl
37112         * modules/filenamecat-lgpl: New module.
37113         * modules/filenamecat (Files): Move library-safe files into
37114         filenamecat-lgpl.
37115         (Depends-on): Add filenamecat-lgpl.
37116         (configure.ac): Declare witness.
37117         * lib/filenamecat.h (file_name_concat): Only declare when using
37118         GPL module.
37119         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37120         Move...
37121         * lib/filenamecat-lgpl.c: ...into new file.
37122         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37123         (gl_FILE_NAME_CONCAT): Use it.
37124         * MODULES.html.sh (File system functions): Mention new module.
37125
37126         argp: avoid memory leak
37127         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37128         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37129         base_name, since the latter malloc()s and can call exit().
37130         Leak introduced 2006-07-03.
37131
37132         dirname-lgpl: adjust clients that don't need full dirname
37133         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37134         * modules/filenamecat (Depends-on): Likewise.
37135         * modules/linkat (Depends-on): Likewise.
37136         * modules/mkancesdirs (Depends-on): Likewise.
37137         * modules/mkdir (Depends-on): Likewise.
37138         * modules/openat (Depends-on): Likewise.
37139         * modules/savewd (Depends-on): Likewise.
37140         * modules/rename (Depends-on): Likewise.
37141         (License): Relax license.
37142         * modules/mkdir-tests (Depends-on): Drop progname.
37143         (Makefile.am): Delete unneeded LDADD.
37144         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37145
37146         dirname: split into dirname-lgpl
37147         * modules/dirname-lgpl: New module.
37148         * modules/dirname (Files): Move library-safe files into
37149         dirname-lgpl.
37150         (Depends-on): Add dirname-lgpl.
37151         (configure.ac): Declare witness.
37152         * modules/double-slash-root (License): Relax license.
37153         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37154         module.
37155         * lib/dirname.c (dir_len, mdir_name): Move...
37156         * lib/dirname-lgpl.c: ...into new file.
37157         * lib/basename.c (last_component, base_len): Move...
37158         * lib/basename-lgpl.c: ...into new file.
37159         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
37160         (gl_DIRNAME): Use it.
37161         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
37162         Mention new module.
37163         * modules/dirname-tests (Depends-on): Add progname.
37164         * tests/test-dirname.c (program_name): Delete.
37165
37166         mkdir: make safe for libraries
37167         * modules/mkdir (Depends-on): Drop xalloc.
37168         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37169         exit.
37170
37171         tests: avoid some compiler warnings
37172         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37173         literals.
37174         * tests/test-memchr.c (main): Avoid type mismatch.
37175         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37176         * tests/test-base64.c (main): Likewise.
37177         * tests/test-getdelim.c (main): Likewise.
37178         * tests/test-gethostname.c (main): Likewise.
37179         * tests/test-getline.c (main): Likewise.
37180         * tests/test-netinet_in.c (main): Likewise.
37181         * tests/test-select.c (open_server_socket, main): Likewise.
37182         * tests/test-select-stdin.c (main): Likewise.
37183         * tests/test-sockets.c (main): Likewise.
37184         * tests/test-strsignal.c (main): Likewise.
37185         * tests/test-sys_select.c (main): Likewise.
37186         * tests/test-sys_socket.c (main): Likewise.
37187         * tests/test-u64.c (main): Likewise.
37188         * tests/test-xfprintf-posix.c (main): Likewise.
37189         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
37190
37191         sockets: avoid compiler warning
37192         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
37193
37194         maint: detect usage(1) and other suspicious exits
37195         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
37196
37197 2009-10-29  Jim Meyering  <meyering@redhat.com>
37198
37199         timespec: long-to-int truncation could make timespec_cmp malfunction
37200         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
37201         a multiple of 2^32 nanoseconds as no difference.
37202
37203 2009-10-28  Jim Meyering  <meyering@redhat.com>
37204
37205         fprintftime: wrap macro code argument in "do {...} while(0)"
37206         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
37207         cpy macro must be a statement that can be followed by a semicolon.
37208         Now that the else clause contains a comment and is hence longer
37209         than one line, I require curly braces.  That in turn requires
37210         that we wrap this code block in the standard do...while(0).
37211
37212         fprintftime: remove stray semicolon from previous change
37213         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
37214
37215         fprintftime: avoid a warning about ignored fwrite return value
37216         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
37217         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
37218         that is unsafe.
37219         * modules/fprintftime (Depends-on): Add ignore-value.
37220
37221         exclude: avoid an unwarranted warning
37222         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
37223
37224 2009-10-27  Eric Blake  <ebb9@byu.net>
37225
37226         fseek: avoid compilation failure when fflush is replaced
37227         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
37228         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
37229         module is in use.
37230         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
37231         module is not in use; since REPLACE_FSEEK worked otherwise.
37232         (GNULIB_FTELLO): Likewise for ftell.
37233         Reported by Ian Beckwith and others.
37234
37235 2009-10-27  Bruno Haible  <bruno@clisp.org>
37236
37237         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
37238         Reported by Jim Meyering.
37239
37240 2009-10-27  Jim Meyering  <jim@meyering.net>
37241             Bruno Haible  <bruno@clisp.org>
37242
37243         Avoid warning despite dropping the return value of fwrite.
37244         * lib/unicodeio.c: Include ignore-value.h.
37245         (fwrite_success_callback): Explicitly ignore fwrite's return value.
37246         * modules/unicodeio (Depends-on): Add ignore-value.
37247
37248 2009-10-26  Eric Blake  <ebb9@byu.net>
37249
37250         areadlinkat: fix fallback path
37251         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
37252         pointer and zero.
37253
37254 2009-10-22  Pádraig Brady  <P@draigBrady.com>
37255
37256         Use a better IO block size for modern systems
37257         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
37258         * lib/md2.c: Likewise.
37259         * lib/md4.c: Likewise.
37260         * lib/md5.c: Likewise.
37261         * lib/sha1.c: Likewise.
37262         * lib/sha256.c: Likewise.
37263         * lib/sha512.c: Likewise.
37264
37265 2009-10-22  Eric Blake  <ebb9@byu.net>
37266
37267         tests: avoid several compiler warnings
37268         * tests/test-getcwd.c (main): Avoid buffer underflow.
37269         * tests/test-getdate.c (main): String literals are not safe with
37270         putenv, so use setenv.  Declare unused argument.
37271         * modules/getdate-tests (Depends-on): Add setenv.
37272         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
37273         problems with string literals in char *.
37274         * tests/test-hash.c (main): Avoid shadowing declaration.
37275         (insert_new): Treat string literals as char const *.
37276         * tests/test-getopt.h (test_getopt): Likewise.
37277         (getopt_loop): Alter types to minimize casting elsewhere.
37278         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
37279         (test_getopt_long_posix): Likewise.
37280         (do_getopt_long): Add wrapper to minimize casting.
37281         * tests/test-atexit.c (clear_temp_file): Use void.
37282         * tests/test-areadlink-with-size.c (main): Declare unused
37283         arguments.
37284         * tests/test-areadlink.c (main): Likewise.
37285         * tests/test-areadlinkat-with-size.c (main): Likewise.
37286         * tests/test-areadlinkat.c (main): Likewise.
37287         * tests/test-canonicalize-lgpl.c (main): Likewise.
37288         * tests/test-canonicalize.c (main): Likewise.
37289         * tests/test-dirent-safer.c (main): Likewise.
37290         * tests/test-dirname.c (main): Likewise.
37291         * tests/test-dup2.c (main): Likewise.
37292         * tests/test-fchdir.c (main): Likewise.
37293         * tests/test-fcntl-h.c (main): Likewise.
37294         * tests/test-fcntl-safer.c (main): Likewise.
37295         * tests/test-fdopendir.c (main): Likewise.
37296         * tests/test-fdutimensat.c (main): Likewise.
37297         * tests/test-fflush.c (main): Likewise.
37298         * tests/test-filenamecat.c (main): Likewise.
37299         * tests/test-filevercmp.c (main): Likewise.
37300         * tests/test-fopen-safer.c (main): Likewise.
37301         * tests/test-fopen.c (main): Likewise.
37302         * tests/test-fpending.c (main): Likewise.
37303         * tests/test-fpurge.c (main): Likewise.
37304         * tests/test-freading.c (main): Likewise.
37305         * tests/test-fstatat.c (main): Likewise.
37306         * tests/test-fsync.c (main): Likewise.
37307         * tests/test-futimens.c (main): Likewise.
37308         * tests/test-getndelim2.c (main): Likewise.
37309         * tests/test-gettimeofday.c (main): Likewise.
37310         * tests/test-getopt.c (main): Likewise.
37311         * tests/test-i-ring.c (main): Likewise.
37312         * tests/test-inttypes.c (main): Likewise.
37313         * tests/test-link.c (main): Likewise.
37314         * tests/test-lstat.c (main): Likewise.
37315         * tests/test-math.c (main): Likewise.
37316         * tests/test-md5.c (main): Likewise.
37317         * tests/test-memchr2.c (main): Likewise.
37318         * tests/test-memrchr.c (main): Likewise.
37319         * tests/test-mkdir.c (main): Likewise.
37320         * tests/test-mkdirat.c (main): Likewise.
37321         * tests/test-mkfifoat.c (main): Likewise.
37322         * tests/test-open.c (main): Likewise.
37323         * tests/test-openat-safer.c (main): Likewise.
37324         * tests/test-openat.c (main): Likewise.
37325         * tests/test-quotearg.c (main): Likewise.
37326         * tests/test-rawmemchr.c (main): Likewise.
37327         * tests/test-readlink.c (main): Likewise.
37328         * tests/test-remove.c (main): Likewise.
37329         * tests/test-rename.c (main): Likewise.
37330         * tests/test-renameat.c (main): Likewise.
37331         * tests/test-rmdir.c (main): Likewise.
37332         * tests/test-sha1.c (main): Likewise.
37333         * tests/test-signal.c (main): Likewise.
37334         * tests/test-sigaction.c (main): Likewise.
37335         * tests/test-stat.c (main): Likewise.
37336         * tests/test-stat-time.c (main): Likewise.
37337         * tests/test-stddef.c (main): Likewise.
37338         * tests/test-stdint.c (main): Likewise.
37339         * tests/test-stdio.c (main): Likewise.
37340         * tests/test-stdlib.c (main): Likewise.
37341         * tests/test-strchrnul.c (main): Likewise.
37342         * tests/test-strerror.c (main): Likewise.
37343         * tests/test-string.c (main): Likewise.
37344         * tests/test-strtod.c (main): Likewise.
37345         * tests/test-strverscmp.c (main): Likewise.
37346         * tests/test-symlink.c (main): Likewise.
37347         * tests/test-symlinkat.c (main): Likewise.
37348         * tests/test-sys_stat.c (main): Likewise.
37349         * tests/test-sys_time.c (main): Likewise.
37350         * tests/test-time.c (main): Likewise.
37351         * tests/test-unistd.c (main): Likewise.
37352         * tests/test-unlink.c (main): Likewise.
37353         * tests/test-unlinkat.c (main): Likewise.
37354         * tests/test-utimens.c (main): Likewise.
37355         * tests/test-utimensat.c (main): Likewise.
37356         * tests/test-version-etc.c (main): Likewise.
37357         * tests/test-wchar.c (main): Likewise.
37358         * tests/test-wctype.c (main): Likewise.
37359         * tests/test-xprintf-posix.c (main): Likewise.
37360         * tests/test-posixtm.c (main): Likewise.
37361         (STREQ): Delete unused macro.
37362         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
37363         shadowed variables.
37364         * tests/test-memchr.c (main): Likewise.
37365
37366 2009-10-21  Eric Blake  <ebb9@byu.net>
37367
37368         areadlinkat: avoid failure on older glibc
37369         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
37370         rather than mis-comparing 0 against FUNC_RESULT of char*.
37371
37372 2009-10-21  Bruno Haible  <bruno@clisp.org>
37373
37374         * modules/stpncpy (License): Relicense under LGPLv2+.
37375         Reported by David Lutterkort <lutter@redhat.com>.
37376
37377 2009-10-20  Eric Blake  <ebb9@byu.net>
37378
37379         utimensat: work around Solaris 9 bug
37380         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
37381         has trailing slash bugs.
37382         * tests/test-lutimens.h (test_lutimens): Enhance test.
37383         * tests/test-utimens.h (test_utimens): Likewise.
37384         * doc/posix-functions/utime.texi (utime): Enhance documentation.
37385         * doc/posix-functions/utimes.texi (utimes): Likewise.
37386         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37387         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
37388         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
37389         * doc/posix-functions/futimens.texi (futimens): Likewise.
37390
37391         fdutimensat: new module
37392         * modules/fdutimensat: New file.
37393         * lib/fdutimensat.c (fdutimensat): Likewise.
37394         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
37395         * MODULES.html.sh (File system functions): Mention module.
37396         * modules/fdutimensat-tests: New test.
37397         * tests/test-fdutimensat.c: Likewise.
37398
37399         doc: regenerate INSTALL
37400         * doc/INSTALL: Reflect recent autoconf update.
37401         * doc/INSTALL.ISO: Likewise.
37402         * doc/INSTALL.UTF-8: Likewise.
37403
37404 2009-10-20  Pádraig Brady  <P@draigBrady.com>
37405
37406         acl: warn if ACL support is not detected
37407         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
37408
37409 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
37410
37411         * lib/nproc.h: Add extern "C" block for C++.
37412
37413 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
37414             Bruno Haible  <bruno@clisp.org>
37415
37416         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
37417         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
37418         * doc/posix-functions/isalpha.texi: Likewise.
37419         * doc/posix-functions/isblank.texi: Likewise.
37420         * doc/posix-functions/iscntrl.texi: Likewise.
37421         * doc/posix-functions/isdigit.texi: Likewise.
37422         * doc/posix-functions/isgraph.texi: Likewise.
37423         * doc/posix-functions/islower.texi: Likewise.
37424         * doc/posix-functions/isprint.texi: Likewise.
37425         * doc/posix-functions/ispunct.texi: Likewise.
37426         * doc/posix-functions/isspace.texi: Likewise.
37427         * doc/posix-functions/isupper.texi: Likewise.
37428         * doc/posix-functions/isxdigit.texi: Likewise.
37429
37430 2009-10-18  Bruno Haible  <bruno@clisp.org>
37431
37432         Tests for module 'isblank'.
37433         * modules/isblank-tests: New file.
37434         * tests/test-isblank.c: New file.
37435
37436         New module 'isblank'.
37437         * lib/isblank.c: New file.
37438         * m4/isblank.m4: New file.
37439         * modules/isblank: New file.
37440         * doc/posix-functions/isblank.texi: Mention the new module.
37441
37442 2009-10-18  Bruno Haible  <bruno@clisp.org>
37443
37444         New module 'ctype'.
37445         * lib/ctype.in.h: New file.
37446         * m4/ctype.m4: New file.
37447         * modules/ctype: New file.
37448         * doc/posix-headers/ctype.texi: Mention the new module.
37449
37450 2009-10-18  Jim Meyering  <meyering@redhat.com>
37451
37452         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
37453         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
37454         right after its initialization, rather than farther down.
37455         Keeping these in close proximity makes it easier to ensure
37456         that each such variable is initialized.  E.g.,
37457
37458             LIB_CLOCK_GETTIME=
37459             AC_SUBST([LIB_CLOCK_GETTIME])
37460
37461         This change also increments these serial numbers.
37462         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
37463         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37465
37466 2009-10-18  Bruno Haible  <bruno@clisp.org>
37467
37468         Don't let environment variables perturb build.
37469         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
37470         (gl_PREREQ_GETHRXTIME): ... not here.
37471
37472 2009-10-18  Bruno Haible  <bruno@clisp.org>
37473
37474         Avoid symlink attack in localcharset module.
37475         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
37476         (O_NOFOLLOW): Define fallback.
37477         (get_charset_aliases): Don't open the file if it is a symbolic link.
37478         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
37479         gl_FCNTL_H.
37480         (gl_FCNTL_H): Require it.
37481         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
37482         * modules/localcharset (Files): Add m4/fcntl_h.m4.
37483         Reported by Fergal Glynn <fglynn@veracode.com>.
37484
37485 2009-10-18  Bruno Haible  <bruno@clisp.org>
37486
37487         Implement nproc for mingw.
37488         * lib/nproc.c: Include <windows.h>
37489         (num_processors): On native Windows platforms, try GetSystemInfo.
37490
37491 2009-10-18  Bruno Haible  <bruno@clisp.org>
37492
37493         Implement nproc for IRIX.
37494         * lib/nproc.c: Include <sys/sysmp.h>.
37495         (num_processors): On IRIX systems, try sysmp.
37496         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
37497
37498 2009-10-18  Bruno Haible  <bruno@clisp.org>
37499
37500         Implement nproc for HP-UX.
37501         * lib/nproc.c: Include <sys/pstat.h>
37502         (num_processors): On HP-UX systems, try pstat_getdynamic.
37503         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
37504         pstat_getdynamic.
37505
37506 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
37507             Bruno Haible  <bruno@clisp.org>
37508
37509         Implement nproc for NetBSD, OpenBSD.
37510         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
37511         (ARRAY_SIZE): New macro.
37512         (num_processors): On BSD systems, try sysctl of HW_NCPU.
37513         * m4/nproc.m4: New file.
37514         * modules/nproc (Files): Add m4/nproc.m4.
37515         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
37516         (Makefile.am): Instead, augment lib_SOURCES.
37517
37518 2009-10-18  Bruno Haible  <bruno@clisp.org>
37519
37520         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
37521         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
37522         sys/param.h.
37523
37524 2009-10-16  Eric Blake  <ebb9@byu.net>
37525
37526         utimensat: new module
37527         * modules/utimensat: New file.
37528         * lib/utimensat.c (utimensat): Likewise.
37529         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37530         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
37531         so we can work around Linux bugs.
37532         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37533         * modules/sys_stat (Makefile.am): Substitute them.
37534         * lib/sys_stat.in.h (utimensat): Declare it.
37535         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37536         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37537         * modules/utimensat-tests: New test.
37538         * tests/test-utimensat.c: Likewise.
37539
37540         utimens: let lutimens work on non-symlinks
37541         * lib/utimens.c (lutimens): Fall back to utimens rather than
37542         failing with ENOSYS, when file is not a symlink.
37543         (utimens): Reduce redirection.
37544         * tests/test-lutimens.h (test_lutimens): Update test to cover
37545         non-symlinks.
37546         * tests/test-utimens.h (test_utimens): Update test to cover
37547         symlinks.
37548         * tests/test-utimens.c (main): Update caller.
37549
37550         utimens: cache whether utimensat syscall works
37551         * lib/utimens.c (utimensat_works_really): New cache variable.
37552         (fdutimens, lutimens): Use it to avoid failing syscall.
37553
37554         test-stat-time, test-utimens: improve portability
37555         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
37556         ext4 on alpha, and for cygwin.
37557         * tests/test-utimens-common.h: New file.
37558         (nap): Factor delays into single function.
37559         * tests/test-lutimens.h (test_lutimens): Use new header.
37560         * tests/test-futimens.h (test_futimens): Likewise.
37561         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
37562         timestamps to occur from same machine, as was done previously for
37563         test_utimens.
37564         * modules/utimens-tests (Files): Ship new file.
37565         * modules/futimens-tests (Files): Likewise.
37566         Reported in part by Jim Meyering.
37567
37568         sys_stat: sort replacement declarations
37569         * lib/sys_stat.in.h: Sort declarations.
37570         * lib/futimens.c (futimens): Fix typo.
37571
37572 2009-10-15  Jim Meyering  <meyering@redhat.com>
37573
37574         don't let environment settings perturb build
37575         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
37576         could cause a configure-time and/or build-time malfunction.
37577         Typically, a configure-time function-in-library test is performed
37578         via code like this:
37579
37580           LIB_VAR=
37581           AC_SUBST([LIB_VAR])
37582           prefix_saved_LIBS=$LIBS
37583             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
37584                        [test "$ac_cv_search_FUNC" = "none required" ||
37585                         LIB_VAR=$ac_cv_search_FUNC])
37586           LIBS=$prefix_saved_LIBS
37587
37588         However, in each of the files affected by this change, the LIB_VAR=
37589         initialization was omitted.  Thus, when set in the environment, its
37590         value would propagate into generated Makefiles when FUNC is not found
37591         in LIB_NAME.
37592         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
37593         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37594         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37595
37596 2009-10-14  Eric Blake  <ebb9@byu.net>
37597
37598         fchdir: avoid infinite recursion in mingw
37599         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
37600         recursing.
37601
37602         test-stat-time: port to mingw
37603         * tests/test-stat-time.c (force_unlink): Return a value.
37604         (test_ctime) [W32]: Fix compilation error.
37605         (nap): Don't call usleep with too large an argument.  Use
37606         force_unlink.
37607         * doc/pastposix-functions/usleep.texi (usleep): Document the
37608         portability issue.
37609
37610 2009-10-13  Jim Meyering  <meyering@redhat.com>
37611
37612         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
37613         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
37614         * modules/pipe-filter-ii: Likewise.
37615         * modules/sys_socket-tests: Likewise.
37616         * modules/tsearch-tests: Likewise.
37617         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
37618         (check): Depend on it.
37619
37620 2009-10-12  Eric Blake  <ebb9@byu.net>
37621
37622         utimens-tests: port to NFS file systems
37623         * tests/test-utimens.h (test_utimens): Refactor utimecmp
37624         comparisons to avoid spurious failures from timestamp drift
37625         between NFS machines.
37626
37627 2009-10-12  Eric Blake  <ebb9@byu.net>
37628
37629         stat-time-tests: minor cleanups
37630         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
37631         * tests/test-stat-time.c (nap): Separate assignment from call.
37632         Suggested by Paolo Bonzini and Bruno Haible.
37633
37634         sys_stat: guarantee struct timespec
37635         * lib/sys_stat.in.h (includes): Always include <time.h>
37636         * modules/sys_stat (Depends-on): Add time.
37637         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
37638         mode_t permission values.
37639         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
37640         get at subsecond timestamps.
37641
37642 2009-10-10  Eric Blake  <ebb9@byu.net>
37643
37644         futimens: new module
37645         * modules/futimens: New file.
37646         * lib/futimens.c (futimens): Likewise.
37647         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
37648         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
37649         we can work around Linux bugs.
37650         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37651         * modules/sys_stat (Makefile.am): Substitute them.
37652         * lib/sys_stat.in.h (futimens): Declare it.
37653         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37654         * doc/posix-functions/futimens.texi (futimens): Likewise.
37655         * modules/futimens-tests: New test.
37656         * tests/test-futimens.c: Likewise.
37657
37658         utimens: introduce fdutimens
37659         * lib/utimens.h (fdutimens): New prototype.
37660         * lib/utimens.c (gl_futimens): Move guts...
37661         (fdutimens): ...to new interface.
37662         * tests/test-utimens.c (do_fdutimens): Use it.
37663
37664         utimens: add UTIME_NOW and UTIME_OMIT support
37665         * lib/utimens.c (validate_timespec, update_timespec): New helper
37666         functions.
37667         (gl_futimens, lutimens): Use them.
37668         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
37669         stdbool, sys_stat.
37670         (Link): Mention resulting library dependency.
37671         * modules/utimecmp (Link): Likewise.
37672         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
37673         (Makefile.am): Pick up library dependency.
37674         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
37675         definition.
37676         * tests/test-sys_stat.c: Test the definitions.
37677         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
37678         * NEWS: Document library dependency.
37679
37680         utimecmp: support symlink timestamps
37681         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
37682         hashing when possible.  Use pathconf when available.
37683         (SYSCALL_RESOLUTION): Recognize tighter resolution.
37684         * modules/utimecmp (Depends-on): Add lstat.
37685
37686         utimens: add lutimens interface
37687         * lib/utimens.c (lutimens): New function.
37688         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
37689         * lib/utimens.h (lutimens): Declare new interface.
37690         * tests/test-utimens.c (main): Enhance test.
37691         * tests/test-lutimens.h (test_lutimens): New file.
37692         * modules/utimens-tests (Files): Distribute it.
37693         (Depends-on): Add symlink.
37694         (configure.ac): Check for usleep.
37695
37696         utimens: validate futimens usage
37697         * lib/utimens.c (gl_futimens): Require valid fd up front, using
37698         fewer syscalls on failure later on.  Avoid compiler warning on
37699         mingw.
37700         * modules/utimens (Depends-on): Add dup2.
37701
37702         utimens: add test
37703         * modules/utimens-tests: New test.
37704         * tests/test-utimens.h: New file.
37705         * tests/test-futimens.h: Likewise.
37706         * tests/test-utimens.c: Likewise.
37707
37708         doc: mention timestamp portability issues
37709         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
37710         instead.
37711         * doc/posix-functions/utime.texi (utime): Likewise.
37712         * doc/posix-functions/utimes.texi (utimes): Likewise.
37713         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
37714         instead.
37715         * doc/posix-functions/futimens.texi (futimens): Mention utimens
37716         module.
37717         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37718         Mention weakness with symlink timestamps.
37719         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
37720         to utimensat/futimens instead.
37721         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
37722
37723         test-dup2: enhance test
37724         * tests/test-dup2.c (main): Also check AT_FDCWD.
37725
37726         test-stat-time: avoid more spurious failures
37727         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
37728         xfs; and avoid race if the two timestamps cross quantization edge.
37729
37730         relocatable: prefer 'file system' over 'filesystem'
37731         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
37732         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
37733         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
37734         * doc/relocatable.texi (Enabling Relocatability): Likewise.
37735         * lib/relocatable.c (compute_curr_prefix): Likewise.
37736
37737 2009-10-10  Jim Meyering  <meyering@redhat.com>
37738
37739         stat-time-tests: check for the usleep function
37740         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
37741
37742 2009-10-10  Bruno Haible  <bruno@clisp.org>
37743
37744         * modules/xnanosleep: Put the Link section after the Include section.
37745
37746 2009-10-09  Eric Blake  <ebb9@byu.net>
37747
37748         dup2: work around FreeBSD 6.1 bug
37749         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
37750         * doc/posix-functions/dup2.texi (dup2): Document it.
37751         Reported by Nelson H. F. Beebe and Jim Meyering.
37752
37753         test-stat-time: port to buggy NFS clients
37754         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
37755         (test_ctime): Also skip test if mtime and ctime are skewed.
37756
37757         maint: prefer 'file system' over 'filesystem'
37758         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37759         * doc/posix-functions/lstat.texi (lstat): Likewise.
37760         * lib/file-has-acl.c (file_has_acl): Likewise.
37761         * lib/fwriteerror.c [TEST]: Likewise.
37762         * tests/test-areadlink.h (test_areadlink): Likewise.
37763         * tests/test-areadlinkat-with-size.c (main): Likewise.
37764         * tests/test-areadlinkat.c (main): Likewise.
37765         * tests/test-canonicalize-lgpl.c (main): Likewise.
37766         * tests/test-canonicalize.c (main): Likewise.
37767         * tests/test-fstatat.c (main): Likewise.
37768         * tests/test-linkat.c (main): Likewise.
37769         * tests/test-lstat.h (test_lstat_func): Likewise.
37770         * tests/test-mkdir.h (test_mkdir): Likewise.
37771         * tests/test-readlink.h (test_readlink): Likewise.
37772         * tests/test-remove.c (main): Likewise.
37773         * tests/test-rename.h (test_rename): Likewise.
37774         * tests/test-renameat.c (main): Likewise.
37775         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37776         * tests/test-symlink.h (test_symlink): Likewise.
37777         * tests/test-symlinkat.c (main): Likewise.
37778         * tests/test-unlink.h (test_unlink_func): Likewise.
37779         * tests/test-unlinkat.c (main): Likewise.
37780
37781         maint: make realtime library usage explicit
37782         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
37783         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
37784         * modules/settime (Link): Likewise.
37785         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
37786
37787         test-stat-time: speed up execution
37788         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
37789         warning on mingw.
37790         (nap): New helper function.
37791         (prepare_test): Use it to reduce sleep time.
37792         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
37793         execution.
37794         * modules/stat-time-tests (configure.ac): Check for usleep.
37795
37796 2009-10-09  Jim Meyering  <meyering@redhat.com>
37797
37798         selinux-h: always use getfilecon wrappers
37799         * lib/getfilecon.c: New file.
37800         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
37801         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
37802         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
37803         (fgetfilecon): Provide a stub.
37804         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
37805         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
37806         file unconditionally.
37807         When <selinux/selinux.h> is found, arrange to use wrappers.
37808         * modules/selinux-h (Files): Add getfilecon.c.
37809         (Makefile.am): Substitute include-next-related bits
37810         into the now-always-generated selinux/selinux.h file.
37811         * doc/glibc-functions/lgetfilecon.texi: New file.
37812         * doc/glibc-functions/fgetfilecon.texi: New file.
37813         * doc/glibc-functions/getfilecon.texi: New file.
37814         * doc/glibc-functions/getfilecon-desc.texi: New file.
37815         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
37816         which to pull in the new files.
37817         * MODULES.html.sh (Misc): Add selinux-h.
37818
37819 2009-10-08  Jim Meyering  <meyering@redhat.com>
37820
37821         unistd: fix comment typo
37822         * lib/unistd.in.h (euidaccess): Fix a comment typo.
37823
37824 2009-10-08  Eric Blake  <ebb9@byu.net>
37825
37826         areadlink: use SIZE_MAX consistently
37827         * modules/areadlink (Depends-on): Add stdint.
37828         * modules/areadlink-with-size (Depends-on): Likewise.
37829         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
37830         gives NULL; drop sys/types, since unistd gives size_t; and add
37831         stdint for SIZE_MAX.
37832         (SIZE_MAX): Rely on headers.
37833         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
37834         and add stdint.
37835         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
37836         (SIZE_MAX): Likewise.
37837         (INITIAL_BUF_SIZE): Turn into enum.
37838         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
37839
37840 2009-10-08  Jim Meyering  <meyering@redhat.com>
37841
37842         areadlinkat: avoid compilation failure
37843         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
37844         Fix typo in comment.
37845
37846 2009-10-07  Eric Blake  <ebb9@byu.net>
37847
37848         areadlinkat-with-size: new module
37849         * modules/areadlinkat-with-size: New module.
37850         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
37851         * lib/areadlink.h (areadlinkat): Declare it.
37852         * MODULES.html.sh (File system functions): Mention it.
37853         * modules/areadlinkat-with-size-tests: New test.
37854         * tests/test-areadlinkat-with-size.c: New file.
37855
37856         xreadlinkat: new module
37857         * modules/xreadlinkat: New module.
37858         * lib/xreadlinkat.c (xreadlinkat): New file.
37859         * lib/xreadlink.h (xreadlinkat): Declare it.
37860         * MODULES.html.sh (File system functions): Mention it.
37861
37862         areadlinkat: new module
37863         * lib/at-func.c (FUNC_FAIL): New define.
37864         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
37865         * modules/areadlinkat: New module.
37866         * lib/linkat.c (areadlinkat): Move...
37867         * lib/areadlinkat.c (areadlinkat): ...to new file.
37868         * lib/areadlink.h (areadlinkat): Declare it.
37869         * modules/linkat (Depends-on): Add areadlinkat.
37870         * MODULES.html.sh (File system functions): Mention it.
37871         * modules/areadlinkat-tests: New test.
37872         * tests/test-areadlinkat.c: New file.
37873
37874         areadlink, areadlink-with-size: add tests
37875         * modules/areadlink-tests: New test.
37876         * modules/areadlink-with-size-tests: Likewise.
37877         * tests/test-areadlink.h: New file.
37878         * tests/test-areadlink.c: Likewise.
37879         * tests/test-areadlink-with-size.c: Likewise.
37880
37881         maint: minor cleanups
37882         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
37883         _UNUSED_PARAMETER_ instead.
37884         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
37885         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
37886         * modules/linkat-tests (Files): Distribute test-link.h.
37887
37888         openat, utimens: whitespace cleanup
37889         * lib/openat.c: Prefer space throughout, rather than mix of 8
37890         spaces vs. tabs.
37891         * lib/at-func.c: Likewise.
37892         * lib/utimens.c: Likewise.
37893
37894         openat: avoid using wrong fd
37895         * lib/openat.c (openat_permissive): Reject user's fd if saving the
37896         working directory chooses same fd.
37897         * lib/at-func.c (AT_FUNC_NAME): Likewise.
37898
37899         mkdir, mkdirat: fix cygwin 1.5.x bug
37900         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
37901         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
37902         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
37903         bug.
37904         (gl_PREREQ_MKDIR): Delete unused macro.
37905         * modules/mkdir (Files): Track file rename.
37906         (configure.ac): Update macro name.
37907         * modules/openat (Depends-on): Add mkdir.
37908         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
37909
37910         mkdir, mkdirat: add tests
37911         * modules/mkdir-tests: New test.
37912         * tests/test-mkdir.h: New file.
37913         * tests/test-mkdir.c: Likewise.
37914         * tests/test-mkdirat.c: Likewise.
37915         * modules/openat-tests (Files): Add new files.
37916         (Makefile.am): Run new test.
37917
37918 2009-10-06  Eric Blake  <ebb9@byu.net>
37919
37920         doc: tweak *at function documentation
37921         * doc/posix-functions/faccessat.texi (faccessat): Mention
37922         known issue with replacement.
37923         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
37924         * doc/posix-functions/linkat.texi (linkat): Likewise.
37925         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37926         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37927         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37928         * doc/posix-functions/renameat.texi (renameat): Likewise.
37929         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37930
37931         openat: fix GNU/Hurd bug in unlinkat
37932         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
37933         broken.
37934         * doc/posix-functions/unlink.texi (unlink): Document this.
37935         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
37936
37937         fdopendir: fix GNU/Hurd bug
37938         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
37939         allowing non-directory fds.
37940         * lib/fdopendir.c (rpl_fdopendir): Work around it.
37941         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
37942         * modules/dirent (Makefile.am): Substitute it.
37943         * lib/dirent.in.h (fdopendir): Declare replacement.
37944         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
37945         * tests/test-fdopendir.c (main): Test something other than
37946         /dev/null, since on Hurd that behaves like a directory.
37947
37948         test-symlink: port to GNU/Hurd
37949         * tests/test-symlink.h (test_symlink): Relax expected errno.
37950
37951         doc: tweak more cygwin information
37952         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
37953         now compatible with glibc.
37954         * doc/posix-functions/getopt.texi (getopt): Likewise.
37955
37956         getopt-gnu: add another test
37957         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
37958         guarantee behavior relied on by m4.
37959         * tests/test-getopt.c (main): Use it.
37960         * modules/getopt-posix-tests (Depends-on): Add setenv.
37961         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
37962
37963         getopt: fix compilation on darwin
37964         * lib/getopt.in.h (includes): Leave breadcrumbs during system
37965         include.
37966         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
37967         Reported by Ludovic Courtès.
37968
37969 2009-10-06  Bruno Haible  <bruno@clisp.org>
37970
37971         * modules/size_max (Description): Discourage its use.
37972         Reported by Simon Josefsson.
37973
37974 2009-10-06  Jim Meyering  <meyering@redhat.com>
37975
37976         linkat: avoid compilation failure
37977         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
37978
37979 2009-10-05  Eric Blake  <ebb9@byu.net>
37980
37981         linkat: support Linux 2.6.17
37982         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
37983         linkat on Linux, but allow cache variable override.
37984         * lib/linkat.c (rpl_linkat): Define override.
37985         * modules/linkat (Depends-on): Add symlinkat.
37986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
37987         * modules/unistd (Makefile.am): Substitute it.
37988         * lib/unistd.in.h (linkat): Declare replacement.
37989         Reported by Pádraig Brady.
37990
37991         quotearg: port test to systems with C.UTF-8 locale
37992         * tests/test-quotearg.c (struct result_strings): Add another
37993         member, differentiating between C.ASCII and C.UTF-8 handling.
37994         (compare_strings): Add parameter.
37995         (main): Adjust all callers.
37996
37997         getopt: avoid clash with FreeBSD _getopt_internal
37998         * lib/getopt.in.h (_getopt_internal): Override the name.
37999         * lib/getopt_int.h (includes): Pick up any overrides.
38000         Reported by Reuben Thomas.
38001
38002         hash: allow C89 compilation
38003         * lib/hash.c (check_tuning): Move declaration before statement.
38004         Reported by Reuben Thomas.
38005
38006 2009-10-05  Karl Berry  <karl@gnu.org>
38007
38008         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38009
38010 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38011             Bruno Haible  <bruno@clisp.org>
38012
38013         * lib/uname.c (uname): Use a table-driven algorithm to compute
38014         Windows NT versions.
38015
38016 2009-10-04  Bruno Haible  <bruno@clisp.org>
38017
38018         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38019         program_invocation_short_name.
38020         * modules/progname (configure.ac): Test for presence of
38021         program_invocation_short_name.
38022         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38023
38024 2009-10-04  Bruno Haible  <bruno@clisp.org>
38025
38026         * lib/progname.c (set_program_name): Fix comment.
38027         Reported by Jim Meyering.
38028
38029 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38030             Bruno Haible  <bruno@clisp.org>
38031
38032         * lib/uname.c: Include <string.h>.
38033         (uname): Do only one call to GetVersionEx in the common case.
38034
38035 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38036             Bruno Haible  <bruno@clisp.org>
38037
38038         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38039         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38040         (uname): Add support for Windows CE and various non-x86 CPU types.
38041
38042 2009-10-03  Bruno Haible  <bruno@clisp.org>
38043
38044         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38045         invocation to tests/configure.ac.
38046         Reported by Ian Beckwith <ianb@erislabs.net>.
38047
38048 2009-10-02  Eric Blake  <ebb9@byu.net>
38049
38050         fchdir: avoid compiler warning
38051         * lib/fchdir.c (canonicalize_file_name)
38052         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38053
38054         test-open: support mingw errno values
38055         * tests/test-open.h (test_open): Relax test.
38056         * tests/test-fopen.h (test_fopen): Likewise.
38057         * tests/test-openat-safer.c (main): Likewise.
38058
38059         open: fix opening directory on mingw
38060         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38061
38062         test-open: on GNU/Hurd, /dev/null is a directory
38063         * tests/test-fopen.h (main): Rename...
38064         (test_fopen): ...to this.  Use a guaranteed non-directory when
38065         confirming open behavior on trailing slash.
38066         * tests/test-openat-safer.c (main): Likewise.
38067         * tests/test-open.h (main): Likewise....
38068         (test_open): ...to this.
38069         * tests/test-fopen.c (main): Adjust caller.
38070         * tests/test-fopen-safer.c (main): Likewise.
38071         * tests/test-open.c (main): Likewise.
38072         * tests/test-fcntl-safer.c (main): Likewise.
38073         Reported by Samuel Thibault.
38074
38075         rename, fchdir: don't ignore chdir failure
38076         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38077         * lib/rename.c (rpl_rename) [W32]: Likewise.
38078         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38079         an empty destination directory if source cannot be renamed,
38080         although there is still possibility for failure.
38081         * doc/posix-functions/rename.texi (rename): Document the race.
38082         Reported by Jim Meyering.
38083
38084         maint: cleanup whitespace in recent commits
38085         * lib/rename.c (rpl_rename): Remove tabs.
38086         * tests/test-link.h (test_link): Likewise.
38087         * lib/fchdir.c (get_name): Likewise.
38088         Reported by Jim Meyering.
38089
38090 2009-10-02  Ben Pfaff  <blp@gnu.org>
38091
38092         relocatable-prog-wrapper: Add missing dependency on
38093         double-slash-root.
38094         * modules/relocatable-prog-wrapper: Add dependency.
38095         Reported by Ian Beckwith <ianb@erislabs.net>.
38096
38097 2009-10-02  Eric Blake  <ebb9@byu.net>
38098
38099         renameat: fix Solaris bugs
38100         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38101         needed fixing.
38102         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38103         * modules/stdio (Makefile.am): Substitute it.
38104         * lib/stdio.in.h (renameat): Declare replacement.
38105         * lib/renameat.c (rpl_renameat): Implement fix.
38106
38107         renameat: new module
38108         * modules/renameat: New file.
38109         * lib/renameat.c (renameat): Likewise.
38110         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38111         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38112         * modules/stdio (Makefile.am): Substitute them.
38113         * lib/stdio.in.h (renameat): Declare it.
38114         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38115         * doc/posix-functions/renameat.texi (renameat): Likewise.
38116         * modules/renameat-tests: New test.
38117         * tests/test-renameat.c: Likewise.
38118
38119         rename: fix mingw bugs
38120         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38121         directory overwrite bugs.
38122
38123         rename: fix another cygwin 1.5 bug
38124         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38125         checks.
38126         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38127         unnecessary cygwin workarounds.  Also work around bug with moving
38128         full directory onto an empty one.
38129         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38130
38131         rename-dest-slash: merge into rename module
38132         * modules/rename-dest-slash (Status): Mark obsolete.
38133         (Depends-on): Add rename.
38134         (Files): Let rename do it all.
38135         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38136         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38137         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38138         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38139         * lib/rename.c (rpl_rename): Update comments.
38140
38141         rename: fix cygwin 1.5.x bugs
38142         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38143         * lib/rename.c (rpl_rename): Work around them.
38144         * modules/rename (Depends-on): Add same-inode.
38145
38146         rename: fix Solaris 10 bug
38147         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38148         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38149         was the only bug.
38150
38151         rename: fix Solaris 9 bug
38152         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38153         on non-directory.  Avoid calling exit.
38154         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
38155         strdup.
38156         * modules/rename-tests (Depends-on): Drop lstat.
38157         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38158         (gl_PREREQ_RENAME): Delete unused macro.
38159
38160         rename-dest-slash: fix NetBSD bug
38161         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
38162         links.
38163         * modules/rename-dest-slash (Depends-on): Add same-inode.
38164
38165         rename-tests: new test, exposes several platform bugs
38166         * modules/rename-tests: New file.
38167         * tests/test-rename.h: Likewise.
38168         * tests/test-rename.c: Likewise.
38169         * doc/posix-functions/rename.texi (rename): Improve documentation,
38170         including bugs that will eventually be fixed in gnulib.
38171
38172 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38173
38174         * lib/uname.c: Include <stdlib.h>
38175         (uname): Assume version info is available.
38176
38177 2009-10-02  Jim Meyering  <meyering@redhat.com>
38178
38179         gnu-web-doc-update: correct --help output
38180         * build-aux/gnu-web-doc-update: Make --help output relevant.
38181
38182         gnu-web-doc-update: add standard options
38183         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38184
38185         gnu-web-doc-update: New module.
38186         Use this script to automatically update the on-line web documentation
38187         for your GNU project at http://www.gnu.org/software/$pkg/manual/
38188         * modules/gnu-web-doc-update: New file, from coreutils.
38189         * build-aux/gnu-web-doc-update: New script.
38190
38191 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
38192
38193         link: LoadLibrary is not needed.
38194         * lib/link.c: Use GetModuleHandle.
38195
38196 2009-10-01  Eric Blake  <ebb9@byu.net>
38197
38198         getopt: bump serial number
38199         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
38200         change.
38201
38202         tests: tighten link, rmdir, and remove tests
38203         * tests/test-link.h (includes): No need to use <config.h> here.
38204         Clean up if directory hard link was created, otherwise test for
38205         trailing '.'.
38206         * tests/test-linkat.c (main): Simplify.
38207         * tests/test-remove.c (main): Enhance test for trailing '.'.
38208         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38209
38210 2009-10-01  Jim Meyering  <meyering@redhat.com>
38211
38212         maint.mk: requiring "make major" was annoying, for a "minor" release.
38213         What is intended is "stable", to contrast with alpha and beta,
38214         so require "make stable", not "make major".
38215         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
38216         (get_tool_versions): Likewise.
38217         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
38218
38219 2009-09-30  Ben Pfaff  <blp@gnu.org>
38220
38221         Fix broken build of replacement for Windows tmpfile().
38222         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
38223         flags argument added along with the 'mkostemp' module.
38224
38225 2009-09-28  Bruno Haible  <bruno@clisp.org>
38226
38227         Avoid identifier clash with POSIX function 'remove' defined as a macro.
38228         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
38229         to 'remove_elt'.
38230         (gl_list_remove): Update.
38231         * lib/gl_list.c (gl_list_remove): Update.
38232         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
38233         to 'remove_elt'.
38234         (gl_oset_remove): Update.
38235         * lib/gl_list.c (gl_oset_remove): Update.
38236         Reported by Eric Blake.
38237
38238 2009-09-28  Eric Blake  <ebb9@byu.net>
38239
38240         doc: mention yet more cygwin 1.7 status
38241         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
38242         cygwin.
38243         * doc/glibc-functions/execvpe.texi (execvpe): New file.
38244         * doc/gnulib.texi (Glibc unistd.h): Mention it.
38245
38246         argp: fix test failure
38247         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
38248         that are not upper-case.  Pass correct range to tolower.
38249
38250 2009-09-27  Jim Meyering  <meyering@redhat.com>
38251
38252         test-yesno: work around sparc-dash here-document infelicity
38253         Without this change, the literal \177 byte in a here document
38254         would make dash 0.5.5.1-3 access uninitialized memory.
38255         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
38256         Instead, use a marker, "@", and filter through tr to create the desired
38257         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
38258
38259 2009-09-27  Bruno Haible  <bruno@clisp.org>
38260
38261         Disable untested support for new flavours of ACLs on AIX.
38262         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
38263         progress.
38264         * lib/set-mode-acl.c (qset_acl): Likewise.
38265
38266 2008-12-07  Bruno Haible  <bruno@clisp.org>
38267
38268         Add support for new flavours of ACLs on AIX. (Untested.)
38269         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
38270         (file_has_acl): Add support for newer AIX.
38271         * lib/set-mode-acl.c (qset_acl): Likewise.
38272         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
38273         Rainer Tammer <tammer@tammer.net>.
38274
38275 2009-09-26  Eric Blake  <ebb9@byu.net>
38276
38277         argp: fix compilation of getopt
38278         * lib/getopt.in.h (includes): Use different guard than glibc.
38279         Reported by Sergey Poznyakoff.
38280
38281         doc: mention more cygwin 1.7 status
38282         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
38283         bug.
38284         * doc/posix-functions/execl.texi (execl): Likewise.
38285         * doc/posix-functions/execle.texi (execle): Likewise.
38286         * doc/posix-functions/execlp.texi (execlp): Likewise.
38287         * doc/posix-functions/execv.texi (execv): Likewise.
38288         * doc/posix-functions/execve.texi (execve): Likewise.
38289         * doc/posix-functions/execvp.texi (execvp): Likewise.
38290         * doc/glibc-functions/canonicalize_file_name.texi
38291         (canonicalize_file_name): Cygwin 1.7 now provides this.
38292         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
38293         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
38294         on AT_SYMLINK_NOFOLLOW.
38295
38296 2009-09-24  Eric Blake  <ebb9@byu.net>
38297
38298         test-linkat: make test more robust
38299         * tests/test-linkat.c (main): Avoid collision with EEXIST.
38300
38301         getopt: fix inclusion guards for cygwin
38302         * modules/getopt-posix (Depends-on): Add include-next.
38303         (Makefile.am): Substitute more items in replacement header.
38304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
38305         <getopt.h>.
38306         * lib/getopt.in.h (includes): Use split inclusion guard, and
38307         prefer <getopt.h> over include <unistd.h> when one is present.
38308         (option): Also override name of 'struct option'.
38309
38310         same-inode: revert prior change; it is not yet ready
38311         * NEWS: Undo mention of this change.
38312         * lib/same-inode.h (same-inode.h): Undo tri-state change.
38313         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38314         * lib/cycle-check.c (cycle_check): Likewise.
38315         * lib/same.c (same_name): Likewise.
38316         * lib/at-func2.c (at_func2): Likewise.
38317
38318 2009-09-23  Eric Blake  <ebb9@byu.net>
38319
38320         linkat: new module
38321         * modules/linkat: New file.
38322         * lib/at-func2.c (at_func2): Likewise.
38323         * lib/linkat.c (linkat): Likewise.
38324         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
38325         * lib/openat-priv.h (at_func2): Add declaration.
38326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38327         * modules/unistd (Makefile.am): Substitute them.
38328         * lib/unistd.in.h (linkat): Declare it.
38329         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38330         * doc/posix-functions/linkat.texi (linkat): Likewise.
38331         * doc/posix-functions/link.texi (link): Tweak wording.
38332         * tests/test-link.c (main): Move guts...
38333         * tests/test-link.h (test_link): ...into new file.
38334         * modules/linkat-tests: New test.
38335         * tests/test-linkat.c: Likewise.
38336         * modules/link-tests (Files): Ship new file.
38337         (Depends-on): Add stdbool.
38338
38339         dirname: add library-safe mdir_name
38340         * lib/dirname.h (mdir_name): New prototype.
38341         * lib/dirname.c (dir_name): Move guts...
38342         (mdir_name): ...to new function that avoids xalloc_die.
38343
38344         fchdir: another mingw fix
38345         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
38346         * lib/fchdir.c (get_name): New helper method; skips canonicalize
38347         on mingw (where it has not yet been ported), and make it optional
38348         elsewhere.
38349         (_gl_register_fd): Use it.
38350
38351         same-inode: make SAME_INODE tri-state, to port to mingw
38352         * NEWS: Mention this change.
38353         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
38354         st_ino always being 0.
38355         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38356         * lib/cycle-check.c (cycle_check): Likewise.
38357         * lib/same.c (same_name): Likewise.
38358
38359         lstat: avoid mingw compilation error
38360         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
38361         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
38362         lstat ourselves.
38363         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
38364         was adequate.
38365         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
38366         the checks for lstat.
38367         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
38368
38369         link: fix test failure on Solaris 9
38370         * lib/link.c (rpl_link): Don't assume link will catch bogus
38371         trailing slash on source.
38372
38373         test-symlinkat: enhance test
38374         * tests/test-readlink.c (main): Move guts...
38375         * tests/test-readlink.h (test_readlink): ...into new file.
38376         * tests/test-symlink.c (main): Move guts...
38377         * tests/test-symlink.h (test_symlink): ...into new file.
38378         * tests/test-symlinkat.c (main): Use new files for further
38379         coverage.
38380         (do_symlink, do_readlink): New helper functions.
38381         * modules/symlink-tests (Files): Ship new file.
38382         (Depends-on): Add stdbool.
38383         * modules/readlink-tests (Files): Ship new file.
38384         (Depends-on): Add stdbool.
38385         * modules/symlinkat-tests (Files): Use new files.
38386
38387 2009-09-23  Eric Blake  <ebb9@byu.net>
38388
38389         readlink: document portability issue with symlink length
38390         * doc/posix-functions/lstat.texi (lstat): Mention that some file
38391         systems have bogus st_size on symlinks, and mention the
38392         areadlink-with-size module.
38393         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38394         * doc/posix-functions/readlink.texi (readlink): Mention the
38395         areadlink module, and ERANGE failure.
38396         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38397         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
38398
38399         readlink: fix Solaris 9 bug with trailing slash
38400         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
38401         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
38402         * doc/posix-functions/readlink.texi (readlink): Document this.
38403         * modules/readlink-tests: New test.
38404         * tests/test-readlink.c: Likewise.
38405
38406         readlink: fix cygwin 1.5.x bug with return type
38407         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
38408         * lib/unistd.in.h (readlink): Use ssize_t.
38409         * lib/readlink.c (readlink): Likewise.
38410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38411         * modules/unistd (Makefile.am): Substitute it.
38412         * lib/unistd.in.h (readlink): Declare replacement.
38413         * doc/posix-functions/readlink.texi (readlink): Document this.
38414
38415         symlink: use throughout gnulib
38416         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
38417         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
38418         symlink is not used.
38419         * modules/symlinkat (Depends-on): Add symlink.
38420         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38421         * modules/canonicalize-tests (Depends-on): Likewise.
38422         * modules/lstat-tests (Depends-on): Likewise.
38423         * modules/openat-tests (Depends-on): Likewise.
38424         * modules/remove-tests (Depends-on): Likewise.
38425         * modules/rmdir-tests (Depends-on): Likewise.
38426         * modules/unlink-tests (Depends-on): Likewise.
38427         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
38428         * tests/test-canonicalize.c (symlink): Likewise.
38429         * tests/test-fstatat.c (symlink): Likewise.
38430         * tests/test-lstat.c (symlink): Likewise.
38431         * tests/test-remove.c (symlink): Likewise.
38432         * tests/test-rmdir.c (symlink): Likewise.
38433         * tests/test-unlink.c (symlink): Likewise.
38434         * tests/test-unlinkat.c (symlink): Likewise.
38435
38436         symlink: new module, for Solaris 9 bug
38437         * modules/symlink: New file.
38438         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
38439         * lib/symlink.c: Likewise.
38440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38441         * modules/unistd (Makefile.am): Substitute them.
38442         * lib/unistd.in.h (symlink): Declare replacement.
38443         * MODULES.html.sh (File system functions): Mention it.
38444         * doc/posix-functions/symlink.texi (symlink): Likewise.
38445         * modules/symlink-tests: New test.
38446         * tests/test-symlink.c: Likewise.
38447
38448 2009-09-23  Bruno Haible  <bruno@clisp.org>
38449
38450         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
38451         when needed.
38452         Test case: gnulib-tool --import --with-tests atexit inttypes.
38453         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
38454
38455 2009-09-23  Bruno Haible  <bruno@clisp.org>
38456
38457         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
38458         subcommand, not in a subshell.
38459
38460 2009-09-22  Eric Blake  <ebb9@byu.net>
38461
38462         unistd: sort replacement declarations
38463         * lib/unistd.in.h: Sort declarations.
38464
38465         open, openat: minor optimization
38466         * lib/open.c (open): If open succeeded, len is non-zero.
38467         * lib/openat.c (rpl_openat): Likewise.
38468
38469         link-follow: ensure correct result
38470         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
38471         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
38472         distinguish between possible failures.
38473
38474 2009-09-21  Eric Blake  <ebb9@byu.net>
38475
38476         fts: avoid compiler warning
38477         * lib/fts.c (dirent_inode_sort_may_be_useful)
38478         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
38479
38480 2009-09-19  Bruno Haible  <bruno@clisp.org>
38481
38482         * lib/progreloc.c (canonicalize_file_name): New declaration.
38483
38484 2009-09-19  Eric Blake  <ebb9@byu.net>
38485
38486         link: fix quoting
38487         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
38488
38489         openat: fix openat bugs on Solaris 9
38490         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
38491         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
38492         * modules/openat (Depends-on): Add open.
38493         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
38494         * modules/fcntl-h (Makefile.am): Substitute it.
38495         * lib/fcntl.in.h (openat): Declare replacement.
38496         * doc/posix-functions/openat.texi (openat): Document this.
38497
38498         openat: move fstatat and unlinkat into correct files
38499         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
38500         compiled.
38501         * lib/openat.c (fstatat, unlinkat): Move...
38502         * lib/fstatat.c (fstatat): ...into correct files.
38503         * lib/unlinkat.c (unlinkat): Likewise.
38504
38505         openat: fix unlinkat bugs on Solaris 9
38506         * lib/unlinkat.c (unlinkat): New file.
38507         * modules/openat (Depends-on): Add unlink.
38508         (Files): Distribute it.
38509         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
38510         trailing slash behavior is broken.
38511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38512         * modules/unistd (Makefile.am): Substitute it.
38513         * lib/unistd.in.h (unlinkat): Declare replacement.
38514         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
38515
38516         openat: fix fstatat bugs on Solaris 9
38517         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
38518         stat.
38519         * doc/posix-functions/fstatat.texi (fstatat): Document this.
38520
38521         test-unlinkat: enhance test, to expose Solaris 9 bug
38522         * tests/test-unlink.c (main): Factor guts...
38523         * tests/test-unlink.h (test_rmdir_func): ...into new file.
38524         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
38525         * tests/test-rmdir.c (main): Adjust caller.
38526         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
38527         (unlinker): New helper function.
38528         (rmdirat): Enhance check.
38529         * modules/rmdir-tests (Depends-on): Add stdbool.
38530         * modules/unlink-tests (Depends-on): Likewise.
38531         (Files): Add test-unlink.h.
38532         * modules/openat-tests (Files): Likewise.
38533         (Depends-on): Add unlinkdir.
38534
38535         test-fstatat: new test, to expose Solaris 9 bugs
38536         * tests/test-stat.c (main): Factor guts...
38537         * tests/test-stat.h (test_stat_func): ...into new file.
38538         * tests/test-lstat.c (main): Factor guts...
38539         * tests/test-lstat.h (test_lstat_func): ...into new file.
38540         * tests/test-fstatat.c: New file.
38541         * modules/stat-tests (Files): Add test-stat.h.
38542         * modules/lstat-tests (Files): Add test-lstat.h.
38543         (Depends-on): Add stdbool.
38544         * modules/openat-tests (Depends-on): Add pathmax.
38545         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
38546         (Makefile.am): Run new test.
38547
38548         remove: new module, for mingw and Solaris 9 bugs
38549         * modules/remove: New file.
38550         * lib/remove.c: Likewise.
38551         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
38552         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38553         * modules/stdio (Makefile.am): Use them.
38554         * lib/stdio.in.h (remove): Declare replacement.
38555         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38556         * doc/posix-functions/remove.texi (remove): Likewise.
38557         * modules/remove-tests: New test.
38558         * tests/test-remove.c: Likewise.
38559
38560         unlink: new module, for Solaris 9 bug
38561         * modules/unlink: New file.
38562         * lib/unlink.c: Likewise.
38563         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
38564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38565         * modules/unistd (Makefile.am): Use them.
38566         * lib/unistd.in.h (stat): Declare replacement.
38567         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38568         * doc/posix-functions/unlink.texi (unlink): Likewise.
38569         * modules/unlink-tests: New test.
38570         * tests/test-unlink.c: Likewise.
38571
38572         lstat: fix Solaris 9 bug
38573         * lib/lstat.c (lstat): Also check for trailing slash on
38574         non-symlink, non-directories.  Use stat module to simplify logic.
38575         * doc/posix-functions/lstat.texi (lstat): Document it.
38576         * modules/lstat-tests (Depends-on): Add errno, same-inode.
38577         (configure.ac): Check for symlink.
38578         * tests/test-lstat.c (main): Add more tests.
38579
38580         stat: add as dependency to other modules
38581         * modules/chown (Depends-on): Add stat.
38582         * modules/euidaccess (Depends-on): Likewise.
38583         * modules/fchdir (Depends-on): Likewise.
38584         * modules/isdir (Depends-on): Likewise.
38585         * modules/link (Depends-on): Likewise.
38586         * modules/lstat (Depends-on): Likewise.
38587         * modules/mkdir-p (Depends-on): Likewise.
38588         * modules/modechange (Depends-on): Likewise.
38589         * modules/open (Depends-on): Likewise.
38590         * modules/readlink (Depends-on): Likewise.
38591         * modules/same (Depends-on): Likewise.
38592
38593         stat: fix Solaris 9 bug
38594         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
38595         slash.
38596         * lib/stat.c (rpl_stat): Work around it.
38597         * doc/posix-functions/stat.texi (stat): Update documentation.
38598
38599         stat: new module, for mingw bug
38600         * modules/stat: New file.
38601         * lib/stat.c: Likewise.
38602         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38603         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38604         * modules/sys_stat (Makefile.am): Use them.
38605         * lib/sys_stat.in.h (stat): Declare replacement.
38606         * lib/openat.c (fstatat): Deal with lstat and stat being function
38607         macros.
38608         * modules/openat (Depends-on): Add inline.
38609         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38610         * doc/posix-functions/stat.texi (stat): Likewise.
38611         * modules/stat-tests: New test.
38612         * tests/test-stat.c: Likewise.
38613
38614 2009-09-19  Jim Meyering  <meyering@redhat.com>
38615
38616         syntax-check: detect unnecessary inclusion of canonicalize.h
38617         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
38618
38619 2009-09-19  Eric Blake  <ebb9@byu.net>
38620
38621         canonicalize-lgpl: adjust clients to use correct header
38622         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38623         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
38624         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
38625         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
38626         * lib/progreloc.c (includes): Likewise.
38627
38628 2009-09-19  Jim Meyering  <meyering@redhat.com>
38629
38630         test-posixtm.c: correct a comment
38631         * tests/test-posixtm.c: Correct first-line comment.
38632         Spotted by Eric Blake.
38633
38634 2009-09-16  Jim Meyering  <meyering@redhat.com>
38635
38636         posixtm-tests: make T const-correct; add a test case
38637         * tests/test-posixtm.c (T): Declare const.
38638         Add a test for -(2^31+1).
38639         Remove useless can-succeed-only-in-2002 test.
38640
38641         posixtm-tests: adjust the sole failing test
38642         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
38643         expected output matches what mktime now produces.  Cross-checked via
38644         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
38645
38646         posixtm: move #ifdef'd tests into a new module
38647         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
38648         * tests/test-posixtm.c: ... this new file.
38649         * modules/posixtm-tests: New module.
38650
38651 2009-09-19  Eric Blake  <ebb9@byu.net>
38652
38653         openat: simplify use of at-func.c
38654         * lib/at-func.c (includes): Include prerequisites here, to
38655         simplify requirements on client files.
38656         * lib/openat-priv.h: Add double-inclusion guard.
38657         * lib/faccessat.c (includes): Simplify.
38658         * lib/fchmodat.c (includes): Likewise.
38659         * lib/fchownat.c (includes): Likewise.
38660         * lib/mkdirat.c (includes): Likewise.
38661         * lib/mkfifoat.c (includes): Likewise.
38662         * lib/symlinkat.c (includes): Likewise.
38663
38664         openat: allow return of fd 0
38665         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
38666         * modules/save-cwd (Depends-on): Replace fcntl-safer with
38667         unistd-safer.
38668         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
38669         <fcntl.h>; this module does not leak fds.
38670         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
38671         must be allowed to return 0, leaving openat_safer to add the
38672         safety.
38673         (openat_permissive): Avoid writing to just-opened fd 2 if
38674         restoring the current directory fails.
38675         * lib/openat-die.c (openat_restore_fail): Add comment.
38676         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
38677         (save_cwd): Guarantee safe fd, but without use of open_safer.
38678         * tests/test-openat.c: New test.
38679         * modules/openat-tests (Files, Makefile.am): Distribute and build
38680         new file.
38681
38682         relocatable-prog-wrapper: fix build
38683         * modules/relocatable-prog-wrapper (Files): Update name of
38684         canonicalize m4 file, broken on 2009-09-17.
38685         Reported by emad hajjar <aleppos@hotmail.com>.
38686
38687 2009-09-19  Bruno Haible  <bruno@clisp.org>
38688
38689         * lib/safe-alloc.h: Use the standard header with GPL copyright.
38690         * lib/safe-alloc.c: Likewise.
38691         Reported by Ian Beckwith <ianb@erislabs.net>.
38692
38693 2009-09-18  Bruno Haible  <bruno@clisp.org>
38694
38695         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
38696         Reported by <erobles@sensacd.com.mx>.
38697
38698 2009-09-17  Eric Blake  <ebb9@byu.net>
38699
38700         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
38701         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
38702         slashes when checking if last component is missing.
38703         * tests/test-canonicalize.c (main): Test this.
38704
38705         canonicalize, canonicalize-lgpl: honor // if distinct from /
38706         * modules/canonicalize (Files): Add double-slash-root.m4.
38707         * modules/canonicalize-lgpl (Files): Likewise.
38708         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38709         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
38710         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
38711         fallback definition.
38712         (canonicalize_filename_mode): Use it to protect //.
38713         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
38714         (__realpath): Likewise.
38715         * tests/test-canonicalize.c (main): Test this.
38716         * tests/test-canonicalize-lgpl.c (main): Likewise.
38717         * modules/canonicalize-tests (Depends-on): Add same-inode.
38718         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38719
38720         canonicalize-lgpl: fix glibc bug with trailing slash
38721         * m4/canonicalize-lgpl.m4: Move contents...
38722         * m4/canonicalize.m4: ...here.
38723         (gl_CANONICALIZE_LGPL): Factor realpath check...
38724         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
38725         glibc 2.3.5 bug, fixed 2005-04-27.
38726         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
38727         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
38728         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
38729         * modules/canonicalize-lgpl (Files): Manage file rename.
38730         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38731         * modules/stdlib (Makefile.am): Substitute witness.
38732         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
38733         is needed.
38734         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
38735         replacement is required.
38736         * lib/canonicalize.c (canonicalize_file_name): Likewise.
38737         * doc/glibc-functions/canonicalize_file_name.texi
38738         (canonicalize_file_name): Document this.
38739         * doc/posix-functions/realpath.texi (realpath): Likewise.
38740
38741         canonicalize-lgpl: reject non-directory with trailing slash
38742         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
38743         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
38744         catches failures in glibc 2.3.5.
38745         * tests/test-canonicalize.c (main): Likewise.
38746
38747         canonicalize-lgpl: use native realpath if it works
38748         * lib/canonicalize-lgpl.c (realpath): Guard with
38749         FUNC_REALPATH_WORKS.
38750         * lib/stdlib.in.h (realpath): Make declaration optional based on
38751         HAVE_REALPATH.
38752         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
38753         native realpath works.
38754         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38755         * modules/stdlib (Makefile.am): Substitute witness.
38756
38757         canonicalize, canonicalize-lgpl: use <stdlib.h>
38758         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
38759         (Include): Mention <stdlib.h>.
38760         (configure.ac): Mention functions we provide.
38761         * modules/canonicalize (configure.ac): Likewise.
38762         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
38763         realpath if canonicalize_file_name is missing.
38764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
38765         * modules/stdlib (Makefile.am): Substitute witnesses.
38766         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
38767         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
38768         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
38769         * NEWS: Document this.
38770         * doc/glibc-functions/canonicalize_file_name.texi
38771         (canonicalize_file_name): Likewise.
38772         * doc/posix-functions/realpath.texi (realpath): Likewise.
38773         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
38774
38775         test-canonicalize: consolidate into single C program
38776         * tests/test-canonicalize.sh: Delete; move setup into...
38777         * tests/test-canonicalize.c (main): ...the program, making it
38778         easier to run in debugger.  Add some tests.
38779         * modules/canonicalize-tests (Files): Remove unused file.
38780         (Depends-on): Add progname.
38781         (configure.ac, Makefile.am): Simplify.
38782
38783         test-canonicalize-lgpl: consolidate into single C program
38784         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
38785         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
38786         easier to run in debugger.  Add some tests.
38787         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
38788         (configure.ac, Makefile.am): Simplify.
38789
38790         canonicalize: avoid resolvepath
38791         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
38792         unnecessary checks.
38793         * lib/canonicalize.c (includes): Simplify.
38794         (canonicalize_file_name): Drop resolvepath implementation.
38795         * modules/canonicalize (Depends-on): Drop filenamecat.
38796
38797         canonicalize: don't lose errno
38798         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
38799         over calls to free.
38800
38801         canonicalize: simplify errno handling
38802         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
38803         assignment.
38804
38805         canonicalize, canonicalize-lgpl: update module dependencies
38806         * modules/canonicalize (Depends-on): Add extensions, lstat,
38807         pathmax, stdlib.
38808         (Files): Drop pathmax.h.
38809         (configure.ac): Adjust macro name.
38810         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
38811         lstat, stdlib, sys_stat.
38812         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
38813         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
38814         extensions.
38815         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
38816         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
38817         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
38818         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
38819         declaration, if available.
38820         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
38821         we can rely on the readlink module.
38822         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
38823         (includes): Use <unistd.h> unconditionally.
38824
38825 2009-09-17  Eric Blake  <ebb9@byu.net>
38826
38827         maint: make Include sections of modules consistent
38828         * modules/alloca: Use only header name; no need to list #include.
38829         * modules/alloca-opt: Likewise.
38830         * modules/arpa_inet: Likewise.
38831         * modules/canon-host: Likewise.
38832         * modules/configmake: Likewise.
38833         * modules/dirent: Likewise.
38834         * modules/eealloc: Likewise.
38835         * modules/environ: Likewise.
38836         * modules/fchdir: Likewise.
38837         * modules/fcntl: Likewise.
38838         * modules/fcntl-h: Likewise.
38839         * modules/gethrxtime: Likewise.
38840         * modules/gettime: Likewise.
38841         * modules/ignore-value: Likewise.
38842         * modules/inet_ntop: Likewise.
38843         * modules/inet_pton: Likewise.
38844         * modules/inttypes: Likewise.
38845         * modules/isnand-nolibm: Likewise.
38846         * modules/isnanf-nolibm: Likewise.
38847         * modules/mbchar: Likewise.
38848         * modules/mbfile: Likewise.
38849         * modules/mbiter: Likewise.
38850         * modules/mbuiter: Likewise.
38851         * modules/netdb: Likewise.
38852         * modules/netinet_in: Likewise.
38853         * modules/nproc: Likewise.
38854         * modules/pagealign_alloc: Likewise.
38855         * modules/poll: Likewise.
38856         * modules/printf-frexp: Likewise.
38857         * modules/pthread: Likewise.
38858         * modules/putenv: Likewise.
38859         * modules/random_r: Likewise.
38860         * modules/relocatable-prog: Likewise.
38861         * modules/search: Likewise.
38862         * modules/select: Likewise.
38863         * modules/selinux-h: Likewise.
38864         * modules/settime: Likewise.
38865         * modules/signal: Likewise.
38866         * modules/size_max: Likewise.
38867         * modules/socklen: Likewise.
38868         * modules/ssize_t: Likewise.
38869         * modules/stdarg: Likewise.
38870         * modules/stdbool: Likewise.
38871         * modules/stddef: Likewise.
38872         * modules/stdint: Likewise.
38873         * modules/stdio: Likewise.
38874         * modules/stdlib: Likewise.
38875         * modules/string: Likewise.
38876         * modules/strings: Likewise.
38877         * modules/sys_file: Likewise.
38878         * modules/sys_ioctl: Likewise.
38879         * modules/sys_select: Likewise.
38880         * modules/sys_socket: Likewise.
38881         * modules/sys_stat: Likewise.
38882         * modules/sys_time: Likewise.
38883         * modules/sys_times: Likewise.
38884         * modules/sys_utsname: Likewise.
38885         * modules/sys_wait: Likewise.
38886         * modules/sysexits: Likewise.
38887         * modules/time: Likewise.
38888         * modules/times: Likewise.
38889         * modules/tmpfile: Likewise.
38890         * modules/trim: Likewise.
38891         * modules/unistd: Likewise.
38892         * modules/wchar: Likewise.
38893         * modules/wctype: Likewise.
38894
38895 2009-09-17  Bruno Haible  <bruno@clisp.org>
38896
38897         Make getdate.y compile on QNX and NetBSD 5 / i386.
38898         * m4/getdate.m4 (gl_GETDATE): Conditionally define
38899         TIME_T_FITS_IN_LONG_INT.
38900         * lib/getdate.y (long_time_t): New type.
38901         (relative_time): Change type of 'seconds' field to long_time_t.
38902         (get_date): Update types of local variables. Check against overflow
38903         during conversion from long_time_t to time_t.
38904         Reported by Matt Kraai <kraai@ftbfs.org>
38905         and Hasso Tepper <hasso@netbsd.org>.
38906
38907 2009-09-17  Bruno Haible  <bruno@clisp.org>
38908
38909         * modules/COPYING: Update copyright years.
38910         * modules/README: Likeiwse.
38911         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
38912         Reported by Ian Beckwith <ianb@erislabs.net>.
38913
38914 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38915
38916         * users.txt: Update references for gnuit package.
38917
38918 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38919
38920         * m4/getdelim.m4: Fix typo in copyright line.
38921
38922 2009-09-17  Bruno Haible  <bruno@clisp.org>
38923
38924         * lib/atoll.c: Use the standard header with GPL copyright.
38925         * lib/argz.in.h: Likewise.
38926         * lib/glob.c: Likewise.
38927         * lib/glob-libc.h: Likewise.
38928         * lib/random_r.c: Likewise.
38929         * lib/siglist.h: Likewise.
38930         * lib/strsignal.c: Likewise.
38931         Reported by Ian Beckwith <ianb@erislabs.net>.
38932
38933 2009-09-17  Eric Blake  <ebb9@byu.net>
38934
38935         rmdir: ensure correct dependency order
38936         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
38937
38938 2009-09-17  Bruno Haible  <bruno@clisp.org>
38939
38940         Disable assertion that fails on NetBSD 5 / i386.
38941         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
38942         Reported by Sam Steingold <sds@gnu.org>
38943         and Hasso Tepper <hasso@netbsd.org>.
38944
38945 2009-09-16  Eric Blake  <ebb9@byu.net>
38946
38947         unlinkdir: port to mingw
38948         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
38949         on which no one can unlink a directory.
38950
38951         stdlib: sort witness names
38952         * modules/stdlib (Makefile.am): Sort replacements.
38953         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
38954         * lib/stdlib.in.h: Likewise.
38955
38956         parse-duration-tests: avoid link failure
38957         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
38958         LIBINTL.
38959         Reported by Tom G. Christensen.
38960
38961         openat-tests: ensure unlinkat behaves like rmdir
38962         * tests/test-rmdir.c (main): Factor guts...
38963         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
38964         * modules/rmdir-tests (Files): Ship new file.
38965         * modules/openat-tests: New test.
38966         * tests/test-unlinkat.c: Likewise.
38967
38968         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
38969         * modules/rmdir-errno (Status, Notice): Now obsolete.
38970
38971         rmdir: work around cygwin 1.5.x and mingw bugs
38972         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
38973         * lib/rmdir.c (rmdir): Work around it.
38974         * modules/rmdir (Status, Notice): No longer obsolete.
38975         (Files): Add dos.m4.
38976         (Depends-on): Add unistd.
38977         (configure.ac): Set witnesses.
38978         (License): Relax to LGPLv2+.
38979         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
38980         * modules/unistd (Makefile.am): Substitute witnesses.
38981         * lib/unistd.in.h (rmdir): Declare replacement.
38982         * doc/posix-functions/rmdir.texi (rmdir): Document this.
38983         * modules/rmdir-tests: New tests.
38984         * tests/test-rmdir.c: Likewise.
38985
38986 2009-09-15  Eric Blake  <ebb9@byu.net>
38987
38988         fchdir: improve use of replacement functions
38989         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
38990         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
38991         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
38992         REPLACE_CLOSEDIR.
38993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
38994         * modules/sys_stat (Makefile.am): Substitute correct witness.
38995         * modules/dirent (Makefile.am): Likewise.
38996         * modules/unistd (Makefile.am): Likewise.
38997         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
38998         * lib/unistd.in.h (dup): Likewise.
38999         * lib/sys_stat.in.h (fstat): Likewise.
39000
39001         maint: ignore gnulib-tool temp files
39002         * .gitignore: Ignore files created during gnulib-tool --test.
39003
39004 2009-09-13  Jim Meyering  <meyering@redhat.com>
39005
39006         posixtm: don't reject a time that specify "60" as the number of seconds
39007         * lib/posixtm.c (posixtime): The code to reject invalid dates
39008         would also reject a time specified with the .60 suffix.
39009         But POSIX allows that, in order to accommodate leap seconds.
39010         So don't reject it.
39011         (main): Adjust tests accordingly.
39012         * modules/posixtm (Depends-on): Add stpcpy.
39013
39014 2009-09-11  Jim Meyering  <meyering@redhat.com>
39015
39016         announce-gen: include [$release_type] in emitted Subject:
39017         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39018         e.g., [stable] in the emitted Subject: line.
39019
39020 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39021
39022         Remove obsolete macros from several modules.
39023         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39024         obsolete Autoconf macros with their modern counterparts.
39025         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39026         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39027         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39028         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39029         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39030         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39031         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39032         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39033         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39034         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39035         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39036         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39037         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39038         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39039         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39040         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39041         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39042         * m4/time_r.m4 (gl_TIME_R): Likewise.
39043         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39044         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39045         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39046
39047         Fix copyright header in build-aux scripts.
39048         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39049         recommendation.
39050         * build-aux/ncftpput-ftp: Likewise.
39051         * build-aux/update-copyright: Likewise.
39052
39053 2009-09-09  Eric Blake  <ebb9@byu.net>
39054
39055         test-link: allow Linux choice of errno
39056         * tests/test-link.c (main): Relax test for alternate error.
39057
39058         strndup: fix improper m4 caching
39059         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39060         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39061         (gl_PREREQ_STRNDUP): Delete.
39062         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39063         * modules/string (Makefile.am): Substitute it.
39064         * lib/string.in.h (strndup): Modernize prototype.
39065
39066         getcwd: port to mingw
39067         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39068         different from the POSIX assumptions made throughout the getcwd
39069         module; fortunately, the mingw getcwd does not need replacement.
39070         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39071         * modules/getcwd-tests: New test.
39072         * tests/test-getcwd.c: Likewise.
39073
39074         link: fix platform bugs
39075         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39076         * lib/link.c (link): Work around them.  Fix related mingw bug.
39077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39078         * modules/unistd (Makefile.am): Substitute it.
39079         * lib/unistd.in.h (link): Declare replacement.
39080         * doc/posix-functions/link.texi (link): Document this.
39081         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39082
39083         test-link: consolidate into single C program, test more cases
39084         * tests/test-link.sh: Delete.
39085         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39086         at least Cygwin and Solaris.
39087         * modules/link-tests (Files): Remove unused file.
39088         (Depends-on): Add errno, sys_stat.
39089         (Makefile.am): Simplify.
39090
39091 2009-09-08  Bruno Haible  <bruno@clisp.org>
39092
39093         Work around towlower, towupper bug on mingw.
39094         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39095         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39096         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39097         * doc/posix-functions/towupper.texi: Likewise.
39098         Reported by Eric Blake.
39099
39100 2009-09-08  Jim Meyering  <meyering@redhat.com>
39101
39102         build: don't try to run autoheader if we don't use it
39103         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39104         is not used in configure.ac.
39105
39106 2009-09-08  Eric Blake  <ebb9@byu.net>
39107
39108         euidaccess: fix compilation error
39109         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39110
39111         rawmemchr: relax license
39112         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39113         okay.
39114         Reported by Jim Meyering.
39115
39116         mkfifoat: new module
39117         * modules/mkfifoat: New file.
39118         * lib/mkfifoat.c: Likewise.
39119         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39120         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39121         * modules/sys_stat (Makefile.am): Use them.
39122         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39123         * MODULES.html.sh (File system functions): Mention module.
39124         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39125         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39126         * modules/mkfifoat-tests: New test.
39127         * tests/test-mkfifoat.c: Likewise.
39128
39129         strchrnul: relax license
39130         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39131         okay.
39132         Reported by Jim Meyering.
39133
39134 2009-09-08  Eric Blake  <ebb9@byu.net>
39135
39136         fstatat: fix compilation on Solaris
39137         * lib/fstatat.c (includes): Add fcntl.h.
39138         Reported by Pádraig Brady.
39139
39140 2009-09-07  Eric Blake  <ebb9@byu.net>
39141
39142         rename: modernize replacement
39143         * modules/rename (Depends-on): Add stdio.
39144         (configure.ac): Declare witness.
39145         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39146         stdio take care of replacement.
39147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39148         * modules/stdio (Makefile.am): Substitute them.
39149         * lib/stdio.in.h (rename): Declare replacement.
39150         * lib/rename.c (includes): Allow cross-compilation to non-windows
39151         machines.
39152         * doc/posix-functions/rename.texi (rename): Improve
39153         documentation.
39154
39155         stdio: sort witness names
39156         * modules/stdio (Makefile.am): Sort replacements.
39157         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39158         * lib/stdio.in.h: Likewise.
39159
39160         getcwd: minor cleanups
39161         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
39162         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
39163
39164         openat: provide more convenience names
39165         * modules/faccessat (configure.ac): Add C witness.
39166         * lib/unistd.in.h (readlinkat): Fix typo.
39167         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
39168         convenience wrappers.
39169         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39170         wrappers in syntax checks.
39171
39172 2009-09-06  Eric Blake  <ebb9@byu.net>
39173
39174         doc: fix comments in recent patches
39175         * lib/faccessat.c: Mention correct function.
39176         * lib/fchmodat.c: Likewise.
39177         * lib/fchownat.c: Likewise.
39178         * lib/symlinkat.c: Likewise.
39179         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39180         constants.
39181
39182         faccessat, symlinkat: continue cleanup of previous patch
39183         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39184         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39185         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39187         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
39188         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
39189         set.
39190
39191 2009-09-06  Bruno Haible  <bruno@clisp.org>
39192
39193         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
39194         (fstatat): Declare if GNULIB_FSTATAT is set.
39195         (mkdirat): Declare if GNULIB_MKDIRAT is set.
39196         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
39197         (unlinkat): Declare if GNULIB_UNLINKAT is set.
39198         * modules/fcntl-h (Files): Remove m4/openat.m4.
39199         * modules/sys_stat (Files): Remove m4/openat.m4.
39200         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
39201         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
39202         * modules/unistd (Files): Remove m4/openat.m4.
39203         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
39204         GNULIB_OPENAT.
39205         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
39206         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
39207         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
39208         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
39209         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
39210         gl_OPENAT_DEFAULTS.
39211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
39212         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
39213         Don't require gl_OPENAT_DEFAULTS.
39214         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
39215         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
39216         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
39217         (gl_OPENAT_DEFAULTS): Remove macro.
39218
39219 2009-09-06  Bruno Haible  <bruno@clisp.org>
39220
39221         * modules/openat (configure.ac): Remove unneeded witness.
39222
39223 2009-09-06  Bruno Haible  <bruno@clisp.org>
39224
39225         Set errno to ENOSYS when a function is entirely unsupported.
39226         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
39227         EOPNOTSUPP.
39228         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39229         * modules/chown (Depends-on): Remove errno.
39230
39231 2009-09-06  Bruno Haible  <bruno@clisp.org>
39232
39233         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
39234
39235 2009-09-06  Bruno Haible  <bruno@clisp.org>
39236
39237         * lib/sys_stat.in.h: Fix preprocessor command indentation.
39238
39239 2009-09-06  Ben Pfaff  <blp@gnu.org>
39240             Bruno Haible  <bruno@clisp.org>
39241
39242         Work around a glibc bug in strtok_r.
39243         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
39244         Undefine if UNDEFINE_STRTOK_R is set.
39245         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
39246         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39247         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
39248         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
39249         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
39250         UNDEFINE_STRTOK_R.
39251         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
39252
39253 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
39254
39255         exclude: minor fix
39256         * lib/exclude.c: Include wctype.h
39257
39258 2009-09-06  Akim Demaille  <demaille@gostai.com>
39259
39260         bootstrap: improve error message
39261         * build-aux/bootstrap (find_tool): Upon failure, report the list
39262         of candidates.
39263         Honor the initial value of the envvar.
39264
39265 2009-09-05  Eric Blake  <ebb9@byu.net>
39266
39267         symlinkat: new module
39268         * modules/symlinkat: New file.
39269         * lib/symlinkat.c: Likewise.
39270         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
39271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39272         * modules/unistd (Makefile.am): Use them.
39273         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
39274         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
39275         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
39276         * MODULES.html.sh (File system functions): Mention module.
39277         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39278         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39279         * modules/symlinkat-tests: New test.
39280         * tests/test-symlinkat.c: Likewise.
39281
39282         test-openat-safer: add more checks
39283         * tests/test-openat-safer.c (main): Check more code paths.
39284
39285 2009-09-05  Jim Meyering  <meyering@redhat.com>
39286
39287         syntax-check: detect unnecessary inclusion of openat.h
39288         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
39289
39290 2009-09-05  Bruno Haible  <bruno@clisp.org>
39291
39292         Support towlower, towupper.
39293         * doc/posix-functions/towlower.texi: Mention module wctype.
39294         * doc/posix-functions/towupper.texi: Likewise.
39295         * lib/wctype.in.h (towlower, towupper): New functions.
39296         * tests/test-wctype.c: Include stdio.h, stdlib.h.
39297         (ASSERT): New macro.
39298         (e): New variable.
39299         (main): Test also towlower, towupper. Test WEOF argument.
39300         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39301
39302 2009-09-05  Bruno Haible  <bruno@clisp.org>
39303
39304         Fix conversion behaviour when the input is invalid.
39305         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
39306         mark occurring in first pass of indirect conversion.
39307         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
39308         input.
39309         Found by clang's static analyzer.
39310
39311 2009-09-05  Bruno Haible  <bruno@clisp.org>
39312
39313         * tests/test-striconveh.c (main): Test indirect conversion on platforms
39314         where direct conversion is possible.
39315
39316 2009-09-04  Eric Blake  <ebb9@byu.net>
39317
39318         openat: fail with ENOENT on empty name
39319         * lib/openat-proc.c (openat_proc_name): Special-case the empty
39320         buffer.
39321
39322         link-follow: fix logic bug in prior patch
39323         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
39324         reversed sense of yes and no in prior patch.  Avoid confusing
39325         compilation failure with desired semantics.
39326
39327         link-follow: accomodate mingw and cross-compilation
39328         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
39329         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
39330         cross-compilation results to -1, to make linkat easier to
39331         implement when cross-compiling.  Trivially support mingw.
39332         * modules/link-follow (configure.ac): Call new name.
39333         * NEWS: Mention this.
39334
39335 2009-09-03  Eric Blake  <ebb9@byu.net>
39336
39337         faccessat: compile replacement
39338         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
39339         needed.
39340
39341         fts: fix compilation error
39342         * lib/fts.c (includes): Re-add "openat.h", for
39343         openat_needs_fchdir.
39344
39345         faccessat: new module
39346         * modules/faccessat: New file.
39347         * lib/faccessat.c: Likewise.
39348         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39350         * modules/unistd (Makefile.am): Use it.
39351         * lib/unistd.in.h (faccessat): Declare it.
39352         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
39353         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
39354         * MODULES.html.sh (File system functions): Mention it.
39355         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
39356         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39357
39358         euidaccess: prefer POSIX over non-standard implementation
39359         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
39360         * lib/euidaccess.c (euidaccess): Use it if available.
39361
39362         openat: make template easier to use
39363         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
39364         AT_FUNC_F2 to be undefined.
39365         (VALIDATE_FLAG): New macro; use it to reject bad flags.
39366         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
39367         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
39368         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
39369         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
39370         Likewise.
39371         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
39372         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
39373         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
39374         Likewise.
39375
39376         openat: declare in POSIX headers
39377         * NEWS: Mention this.
39378         * modules/openat (configure.ac): Declare witnesses.
39379         (Depends-on): Add fcntl-h, sys_stat, unistd.
39380         (Include): Mention correct headers.
39381         * modules/fcntl-h (Depends-on): Add link-warning.
39382         (Files): Add openat.m4.
39383         (Makefile.am): Substitute witnesses.
39384         * modules/sys_stat (Files, Makefile.am): Likewise.
39385         * modules/unistd (Files, Makefile.am): Likewise.
39386         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
39387         (gl_OPENAT_DEFAULTS): New macro.
39388         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
39389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
39390         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
39391         (SYS_STAT_H): Remove unused variable.
39392         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
39393         * lib/fcntl--.h (includes): Remove unneeded header.
39394         * lib/openat-safer.c (includes): Likewise.
39395         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
39396         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
39397         appropriate headers.
39398         (__OPENAT_PREFIX): Delete.
39399         * lib/fcntl.in.h (openat): Provide declaration.
39400         (AT_FDCWD): Fix Solaris bug.
39401         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
39402         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
39403         * lib/fchmodat.c (includes):  Adjust to find declaration.
39404         * lib/fchownat.c (includes): Likewise.
39405         * lib/mkdirat.c (includes): Likewise.
39406         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
39407         still visible.
39408
39409 2009-09-02  Eric Blake  <ebb9@byu.net>
39410
39411         errno: use consistently
39412         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
39413         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
39414         * lib/canonicalize.c (ELOOP): Likewise.
39415         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
39416         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
39417         * lib/lchown.c (EOPNOTSUPP): Likewise.
39418         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
39419         * lib/savewd.c (ESTALE): Likewise.
39420         * lib/settime.c (ENOSYS): Likewise.
39421         * lib/utimens.c (ENOSYS): Likewise.
39422         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
39423         * lib/chdir-safer.c (ELOOP): Likewise.
39424         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
39425         * modules/c-stack (Depends-on): Add errno.
39426         * modules/canonicalize (Depends-on): Likewise.
39427         * modules/chdir-safer (Depends-on): Likewise.
39428         * modules/fdopendir (Depends-on): Likewise.
39429         * modules/inet_ntop (Depends-on): Likewise.
39430         * modules/inet_pton (Depends-on): Likewise.
39431         * modules/lchown (Depends-on): Likewise.
39432         * modules/openat (Depends-on): Likewise.
39433         * modules/savewd (Depends-on): Likewise.
39434         * modules/settime (Depends-on): Likewise.
39435         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
39436
39437         fts: avoid leaking fds
39438         * modules/fts (Depends-on): Add cloexec.
39439         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
39440         flag.
39441
39442         fts: make directory fds more robust
39443         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
39444         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
39445
39446         backupfile, chdir-long, fts, savedir: make safer
39447         * lib/backupfile.c (includes): Use "dirent--.h", since
39448         numbered_backup can write to stderr during readdir.
39449         * lib/savedir.c (includes): Likewise.
39450         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
39451         emulation can write to stderr on failure.
39452         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
39453         * lib/getcwd.c: Document why opendir_safer is unused.
39454         * lib/glob.c: Likewise.
39455         * lib/scandir.c: Likewise.
39456         * lib/openat-proc.c: Likewise, for open_safer.
39457         * modules/backupfile (Depends-on): Add dirent-safer.
39458         * modules/savedir (Depends-on): Likewise.
39459         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
39460         * modules/chdir-long (Depends-on): Add openat-safer.
39461
39462         openat-safer: new module
39463         * modules/openat-safer: New file.
39464         * lib/openat-safer.c: Likewise.
39465         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
39466         * lib/fcntl-safer.h (openat_safer): Declare.
39467         * lib/fcntl--.h (openat): Override.
39468         * MODULES.html.sh (File descriptor based I/O): Mention it.
39469         * lib/openat.h: Add double-inclusion guards.
39470         * lib/openat.c (includes): Only include "fcntl-safer.h", not
39471         "fcntl--.h", so we can implement openat.
39472         * modules/openat-safer-tests: New test.
39473         * tests/test-openat-safer.c: New file.
39474
39475         dirent-safer: new module
39476         * modules/dirent-safer: New file.
39477         * lib/dirent--.h: Likewise.
39478         * lib/dirent-safer.h: Likewise.
39479         * lib/opendir-safer.c: Likewise.
39480         * m4/dirent-safer.m4: Likewise.
39481         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
39482         * modules/dirent-safer-tests: New test.
39483         * tests/test-dirent-safer.c: New file.
39484         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
39485
39486         fdopendir: optimize on mingw
39487         * lib/unistd.in.h (_gl_directory_name): New prototype.
39488         * lib/fchdir.c (_gl_directory_name): Implement it.
39489         (fchdir): Use it to simplify implementation.
39490         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
39491         fchdir, when available, to avoid calling [f]chdir().
39492
39493         fdopendir: split into its own module
39494         * lib/openat.c (fdopendir): Move...
39495         * lib/fdopendir.c: ...into new file.
39496         * modules/fdopendir: New module.
39497         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
39498         * modules/openat (Depends-on): Add fdopendir.
39499         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
39500         fdopendir here.
39501         * modules/savedir (Depends-on): Only need fdopendir, not full
39502         openat.
39503         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
39504         * lib/openat.h (fdopendir): Drop prototype.
39505         * lib/dirent.in.h (fdopendir): Provide prototype.
39506         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
39507         * modules/dirent (Makefile.am): Substitute them.
39508         * MODULES.html.sh (File system functions): Mention it.
39509         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
39510         * modules/fdopendir-tests: New file.
39511         * tests/test-fdopendir.c: Likewise.
39512
39513         fchdir: use more consistent macro convention
39514         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
39515         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
39516         REPLACE_FCHDIR, rather than relying on config.h macros.
39517         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
39518         inside a single make-time REPLACE_FCHDIR block, rather than using
39519         the config.h FCHDIR_REPLACEMENT.
39520         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
39521         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
39522         Manage fstat replacement.
39523         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
39524         REPLACE_FCHDIR.
39525         * modules/sys_stat (Files): Add m4/unistd_h.m4.
39526         (Makefile.am): Substitute REPLACE_FCHDIR.
39527         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
39528         FCHDIR_REPLACEMENT.
39529         * lib/dup-safer.c (dup_safer): Likewise.
39530         * lib/dup2.c (rpl_dup2): Likewise.
39531         * lib/dup3.c (rpl_dup3): Likewise.
39532         * lib/open.c (rpl_open): Likewise.
39533
39534         fchdir: simplify error handling, and support dup3
39535         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
39536         stdbool, malloc-posix, realloc-posix.
39537         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
39538         (ensure_dirs_slot): Return false on allocation failure.
39539         (rpl_dup2): Delete.
39540         (_gl_register_dup): New function.
39541         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
39542         (_gl_register_fd): Close fd on allocation failure.
39543         * lib/fcntl.in.h (_gl_register_fd): Update signature.
39544         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
39545         prototype.
39546         (rpl_dup2_fchdir): Delete prototype.
39547         * lib/open.c (open): Update caller.
39548         * lib/dup2.c (dup2): Track fchdir metadata.
39549         * lib/dup3.c (dup3): Likewise.
39550         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
39551         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
39552
39553 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39554
39555         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
39556         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
39557         don't pass arguments to AC_OUTPUT.
39558
39559 2009-09-02  Bruno Haible  <bruno@clisp.org>
39560
39561         * modules/mkdtemp (License): Relicense under LGPLv2+.
39562         Reported by Paolo Bonzini.
39563
39564 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39565
39566         Replace uses of obsolete autoconf macros in Jim's modules.
39567         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
39568         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
39569         can evoke a warning from autoconf when run with -Wobsolete
39570         enabled.  They were declared obsolete for good reasons (see
39571         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
39572         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
39573         should not continue using the deprecated macros.
39574         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
39575         obsolete Autoconf macros with modern counterparts.
39576         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
39577         * m4/dos.m4 (gl_AC_DOS): Likewise.
39578         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
39579         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
39580         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
39581         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
39582         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
39583         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
39584         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
39585         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
39586         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
39587         Likewise.
39588         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
39589         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
39590         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
39591         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
39592         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
39593         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
39594
39595 2009-09-01  Eric Blake  <ebb9@byu.net>
39596
39597         fchdir: fix off-by-one bug in previous patch
39598         * lib/fchdir.c (rpl_fstat): Use correct bounds.
39599         (_gl_unregister_fd): Delete useless if.
39600
39601 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
39602
39603         maint.mk: sort the list of syntax-check rules
39604         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
39605         easier to get a sense of progress when the rules are run sequentially
39606         and take a long time.
39607
39608 2009-09-01  Simon Josefsson  <simon@josefsson.org>
39609
39610         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
39611         * modules/netinet_in: Likewise.
39612         * modules/sys_file: Likewise.
39613         * modules/sys_ioctl: Likewise.
39614         * modules/sys_select: Likewise.
39615         * modules/sys_socket: Likewise.
39616         * modules/sys_stat: Likewise.
39617         * modules/sys_time: Likewise.
39618         * modules/sys_times: Likewise.
39619         * modules/sys_utsname: Likewise.
39620         * modules/sys_wait: Likewise.
39621
39622 2009-09-01  Jim Meyering  <meyering@redhat.com>
39623
39624         fts: help ensure that return values are not ignored
39625         * lib/fts_.h (__GNUC_PREREQ): Define.
39626         (__attribute_warn_unused_result__): Define.
39627         (fts_children, fts_close, fts_open, fts_read): Declare with
39628         __attribute_warn_unused_result__.
39629
39630         fts: fts_close now fails also when closing a dir file descriptor fails
39631         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
39632         and propagate to caller, along with errno.
39633
39634         announce-gen: correct formatting in --help output
39635         * build-aux/announce-gen (usage): Move the one-line description in
39636         --help output "up", to where it belongs, just after Usage:.
39637
39638 2009-08-31  Eric Blake  <ebb9@byu.net>
39639
39640         fchdir: port to mingw
39641         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
39642         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
39643         opened, then use a substitute.
39644         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
39645         replacement.
39646         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
39647         (_gl_register_fd): No need to check stat if open already filters
39648         all directories.
39649         (fchdir): Fix error condition to match POSIX.
39650         * modules/fchdir (Depends-on): Add sys_stat.
39651         * doc/posix-functions/open.texi (open): Document the limitation.
39652         * modules/fchdir-tests: New file.
39653         * tests/test-fchdir.c: Likewise.
39654
39655         canonicalize: allow cross-testing from cygwin to mingw
39656         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
39657         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
39658         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
39659         Likewise.
39660         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
39661         target does not support symlinks.
39662         * tests/test-canonicalize-lgpl.sh: Likewise.
39663
39664         chown: avoid compilation warning on mingw
39665         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
39666         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
39667         mingw.
39668         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39669         * modules/chown (Depends-on): Add errno.
39670
39671 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
39672
39673         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
39674         command.
39675
39676 2009-08-31  Jim Meyering  <meyering@redhat.com>
39677
39678         canonicalize: remove useless initialization
39679         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
39680         initialization of local, "end".
39681
39682 2009-08-30  Bruno Haible  <bruno@clisp.org>
39683
39684         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
39685         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
39686         ENOSYS.
39687
39688 2009-08-30  Bruno Haible  <bruno@clisp.org>
39689
39690         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
39691         /usr/xpg4/bin/tr when it exists.
39692         * tests/test-pipe-filter-gi1.sh: Likewise.
39693
39694 2009-08-30  Bruno Haible  <bruno@clisp.org>
39695
39696         Work around deficient /usr/bin/id program on Solaris.
39697         * tests/test-file-has-acl.sh (ID): New variable.
39698         * tests/test-set-mode-acl.sh (ID): Likewise.
39699         * tests/test-copy-acl.sh (ID): Likewise.
39700         * tests/test-copy-file.sh (ID): Likewise.
39701
39702 2009-08-30  Bruno Haible  <bruno@clisp.org>
39703
39704         New module 'xstriconveh'.
39705         * lib/xstriconveh.h: New file.
39706         * lib/xstriconveh.c: New file.
39707         * modules/xstriconveh: New file.
39708
39709 2009-08-30  Bruno Haible  <bruno@clisp.org>
39710
39711         Make it easier to use mem_cd_iconveh.
39712         * lib/striconveh.h (iconveh_t): New type.
39713         (iconveh_open, iconveh_close): New declarations.
39714         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39715         with a single 'const iconveh_t *' argument.
39716         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
39717         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39718         with a single 'const iconveh_t *' argument.
39719         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
39720         * tests/test-striconveh.c (main): Update.
39721         * NEWS: Mention the change.
39722
39723 2009-08-30  Bruno Haible  <bruno@clisp.org>
39724
39725         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
39726         problem.
39727
39728 2009-08-30  Bruno Haible  <bruno@clisp.org>
39729
39730         Work around iconv_open problem on Solaris.
39731         * lib/iconv_open-solaris.gperf: New file.
39732         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
39733         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
39734         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
39735         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
39736         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
39737         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
39738
39739 2009-08-29  Jim Meyering  <meyering@redhat.com>
39740
39741         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
39742         * top/maint.mk (cvs-check): Remove target; it was just an alias
39743         to the better-named vc-diff-check.
39744         (maintainer-distcheck): Remove rule.  It was used only from
39745         the (alpha/beta/major) target, and all of its commands but one
39746         were coreutils-specific.
39747         (vc-dist): Remove rule.
39748         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
39749         Run vc-diff-check, not vc-dist.
39750         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
39751
39752 2009-08-27  Bruno Haible  <bruno@clisp.org>
39753
39754         * tests/test-bitrotate.c (main): Remove test that uses a shift count
39755         of 0.
39756
39757 2009-08-27  Bruno Haible  <bruno@clisp.org>
39758
39759         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
39760         compilers.
39761         * doc/func.texi: Document the SunPRO C bug.
39762
39763 2009-08-27  Bruno Haible  <bruno@clisp.org>
39764
39765         Fix link error on Solaris.
39766         * tests/test-parse-duration.c (xstrdup): Remove function.
39767
39768 2009-08-26  Pádraig Brady  <P@draigbrady.com>
39769
39770         ignore-value: handle pointer types, too
39771         * lib/ignore-value.h (__attribute__): Remove definition.
39772         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
39773         of a more concise and more-often effective "(void) i" statement.
39774         (ignore_ptr): New function to suppress warnings from functions that
39775         return pointers, and to make it explicit that one function doesn't
39776         handle all cases.
39777
39778 2009-08-25  Bruno Haible  <bruno@clisp.org>
39779
39780         dup2: work around a Linux bug.
39781         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
39782         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
39783         * doc/posix-functions/dup2.texi: Mention the Linux bug.
39784         Reported by Simon Josefsson.
39785
39786 2009-08-25  Jim Meyering  <meyering@redhat.com>
39787
39788         libguestfs uses gnulib
39789         * users.txt: Add libguestfs.
39790
39791 2009-08-24  Eric Blake  <ebb9@byu.net>
39792
39793         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
39794         * lib/pipe2.c (includes): Add binary-io.h.
39795         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
39796
39797 2009-08-24  Bruno Haible  <bruno@clisp.org>
39798
39799         Tolerate declared but missing accept4 syscall.
39800         * lib/accept4.c (accept4): Invoke original accept4 function first, if
39801         available.
39802         * lib/sys_socket.in.h (accept4): If the function is already present,
39803         override it.
39804         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
39805         * modules/accept4 (Makefile.am): Compile accept4.c always.
39806         Reported by Paolo Bonzini and Eric Blake.
39807
39808 2009-08-23  Bruno Haible  <bruno@clisp.org>
39809
39810         New module 'accept4'.
39811         * lib/sys_socket.in.h (accept4): New declaration.
39812         * lib/accept4.c: New file.
39813         * m4/accept4.m4: New file.
39814         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39815         GNULIB_ACCEPT4, HAVE_ACCEPT4.
39816         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
39817         HAVE_ACCEPT4.
39818         * modules/accept4: New file.
39819         * doc/glibc-functions/accept4.texi: Mention the new module.
39820
39821 2009-08-24  Jim Meyering  <meyering@redhat.com>
39822
39823         progname: also set global program_invocation_name, when possible
39824         Before this change, a libtool-enabled program that calls glibc's
39825         error function would report the program name as
39826         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
39827         * modules/progname (configure.ac): Check for a declaration of
39828         program_invocation_name.
39829         * lib/progname.c:  Include <errno.h>.
39830         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
39831         Set program_invocation_name.
39832
39833 2009-08-23  Bruno Haible  <bruno@clisp.org>
39834
39835         * lib/dup3.c: Include <string.h>.
39836
39837 2009-08-23  Bruno Haible  <bruno@clisp.org>
39838
39839         * lib/dup3.c (dup3): Test only once whether the system actually exists.
39840         * lib/pipe2.c (pipe2): Likewise.
39841         Suggested by Eric Blake.
39842
39843 2009-08-23  Bruno Haible  <bruno@clisp.org>
39844
39845         Tolerate declared but missing dup3 syscall.
39846         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
39847         * lib/unistd.in.h (dup3): If the function is already present,
39848         override it.
39849         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
39850         * modules/dup3 (Makefile.am): Compile dup3.c always.
39851         Reported by Paolo Bonzini.
39852
39853 2009-08-23  Bruno Haible  <bruno@clisp.org>
39854
39855         Tolerate declared but missing pipe2 syscall.
39856         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
39857         available.
39858         * lib/unistd.in.h (pipe2): If the function is already present,
39859         override it.
39860         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
39861         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
39862         Reported by Paolo Bonzini.
39863
39864 2009-08-23  Bruno Haible  <bruno@clisp.org>
39865
39866         * lib/pipe2.c (pipe2): Move #ifs inside function.
39867
39868 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39869
39870         quotearg: document limitations of quote_these_too
39871         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
39872         those limitations are created.
39873         * lib/quotearg.h (set_char_quoting): Document that digits and
39874         letters that are special after backslash are not permitted.
39875         (quotearg_char): Cross-reference set_char_quoting documentation.
39876
39877 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
39878
39879         quotearg: implement custom_quoting_style
39880         * lib/quotearg.c: (struct quoting_options): Add left_quote and
39881         right_quote fields.
39882         (set_custom_quoting): New public function.
39883         (quotearg_buffer_restyled): Add left_quote and right_quote
39884         arguments, handle them very much like locale quoting, and update
39885         all uses.
39886         (quotearg_n_custom): New public function.
39887         (quotearg_n_custom_mem): New public function.
39888         (quotearg_custom): New public function.
39889         (quotearg_custom_mem): New public function.
39890         * lib/quotearg.h: Prototype and document new public functions.
39891         (enum quoting_style): For escape_quoting_style and
39892         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
39893         ignored even though they're otherwise like c_quoting_style.
39894         Add custom_quoting_style member and document with comparison to
39895         clocale_quoting_style.
39896         * tests/test-quotearg.c (custom_quotes): New array.
39897         (custom_results): New array.
39898         (main): Extend to test custom quoting.
39899
39900 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39901
39902         quotearg: fix right quote escaping when it's in quote_these_too
39903         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
39904         quote, be sure to prepend only one backslash.
39905         * tests/test-quotearg.c (use_quote_double_quotes): New function.
39906         (main): Test it.
39907
39908 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39909
39910         quotearg-tests: test escaping of embedded locale quotes
39911         * tests/test-quotearg.c (struct result_strings): Add member for
39912         new input.
39913         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
39914         (inputs): Add new input.
39915         (results_g): Add expected results.
39916         (flag_results): Likewise.
39917         (locale_results): Likewise.
39918         (compare_strings): Check those.
39919
39920 2009-08-23  Bruno Haible  <bruno@clisp.org>
39921
39922         Tests for module 'dup3'.
39923         * modules/dup3-tests: New file.
39924         * tests/test-dup3.c: New file.
39925
39926         New module 'dup3'.
39927         * lib/unistd.in.h (dup3): New declaration.
39928         * lib/dup3.c: New file.
39929         * m4/dup3.m4: New file.
39930         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
39931         HAVE_DUP3.
39932         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
39933         * modules/dup3: New file.
39934         * doc/glibc-functions/dup3.texi: Mention the new module.
39935
39936 2009-08-23  Bruno Haible  <bruno@clisp.org>
39937
39938         Tweak the dup2 test.
39939         * tests/test-dup2.c (main): Create the test file empty. Verify that an
39940         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
39941         the test file is still empty. Fix argument order of lseek.
39942
39943 2009-08-23  Bruno Haible  <bruno@clisp.org>
39944
39945         Avoid test link errors when the modules getopt-gnu, gettext are used.
39946         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
39947         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39948
39949 2009-08-23  Bruno Haible  <bruno@clisp.org>
39950
39951         Fix getdtablesize() on mingw.
39952         * lib/getdtablesize.c (getdtablesize): Implement differently.
39953         * lib/unistd.in.h (getdtablesize): Improve comment.
39954
39955 2009-08-23  Bruno Haible  <bruno@clisp.org>
39956
39957         New module 'mkostemp'.
39958         Based on Ulrich Drepper's 2007-08-10 change in glibc.
39959         * lib/stdlib.in.h (mksotemp): New declaration.
39960         * lib/mkostemp.c: New file, from glibc with modifications.
39961         * lib/tempname.h (GT_FILE): Remove outdated comment.
39962         (gen_tempname): Add flags argument.
39963         * lib/tempname.c (__GT_BIGFILE): Remove macro.
39964         (__GT_FILE): Map to 1.
39965         (small_open, large_open): Remove macros.
39966         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
39967         * lib/mkstemp.c (mkstemp): Update.
39968         * lib/mkdtemp.c (mkdtemp): Likewise.
39969         * m4/mkostemp.m4: New file.
39970         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
39971         HAVE_MKOSTEMP.
39972         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
39973         HAVE_MKOSTEMP.
39974         * modules/mkostemp: New file, based on modules/mkstemp.
39975         * doc/glibc-functions/mkostemp.texi: Mention the new module.
39976         * NEWS: Mention the change.
39977
39978 2009-08-23  Bruno Haible  <bruno@clisp.org>
39979
39980         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
39981         Reported by Eric Blake.
39982
39983 2009-08-23  Bruno Haible  <bruno@clisp.org>
39984
39985         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
39986         Reported by Eric Blake.
39987
39988 2009-08-23  Bruno Haible  <bruno@clisp.org>
39989
39990         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
39991         * modules/pipe2 (Depends-on): Likewise.
39992
39993 2009-08-23  Eric Blake  <ebb9@byu.net>
39994
39995         fcntl-h: add O_TTY_INIT support
39996         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
39997         * tests/test-fcntl-h.c (o): Test it.
39998         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39999
40000         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40001         * modules/fcntl: Move <fcntl.h> header replacement...
40002         * modules/fcntl-h: ...to new name, so as not to collide with
40003         like-named function.
40004         * tests/test-fcntl.c: Rename...
40005         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40006         * modules/fcntl-tests: Rename...
40007         * modules/fcntl-h-tests: ...to this.  Update test file name.
40008         * modules/chdir-long (Depends-on): Update clients.
40009         * modules/chdir-safer (Depends-on): Likewise.
40010         * modules/fcntl-safer (Depends-on): Likewise.
40011         * modules/fts (Depends-on): Likewise.
40012         * modules/mkancesdirs (Depends-on): Likewise.
40013         * modules/mkdir-p (Depends-on): Likewise.
40014         * modules/open (Depends-on): Likewise.
40015         * modules/savewd (Depends-on): Likewise.
40016         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40017         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40018
40019 2009-08-22  Bruno Haible  <bruno@clisp.org>
40020
40021         * modules/binary-io (License): Relicense under LGPL.
40022         * modules/pipe2 (License): Likewise.
40023
40024 2009-08-22  Bruno Haible  <bruno@clisp.org>
40025
40026         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40027         return value.
40028         * lib/pipe-filter-gi.c (filter_init): Likewise.
40029         Reported by Eric Blake.
40030
40031 2009-08-22  Bruno Haible  <bruno@clisp.org>
40032
40033         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40034         * modules/pipe (Depends-on): Add pipe2.
40035
40036 2009-08-22  Bruno Haible  <bruno@clisp.org>
40037
40038         Tests for module 'pipe2'.
40039         * modules/pipe2-tests: New file.
40040         * tests/test-pipe2.c: New file.
40041
40042         New module 'pipe2'.
40043         * lib/unistd.in.h (pipe2): New declaration.
40044         * lib/pipe2.c: New file.
40045         * m4/pipe2.m4: New file.
40046         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40047         HAVE_PIPE2.
40048         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40049         * modules/pipe2: New file.
40050         * doc/glibc-functions/pipe2.texi: Mention the new module.
40051
40052 2009-08-22  Bruno Haible  <bruno@clisp.org>
40053
40054         Reference some new glibc functions.
40055         * doc/glibc-functions/accept4.texi: New file.
40056         * doc/glibc-functions/dup3.texi: New file.
40057         * doc/glibc-functions/mkostemp.texi: New file.
40058         * doc/glibc-functions/pipe2.texi: New file.
40059         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40060         (Glibc sys/socket.h): Refer to accept4.
40061         (Glibc unistd.h): Refer to dup3, pipe2.
40062         Reported by Eric Blake.
40063
40064 2009-08-22  Jim Meyering  <meyering@redhat.com>
40065             Bruno Haible  <bruno@clisp.org>
40066
40067         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40068         This makes it so packages using automake-1.11's silent-rules option
40069         can print e.g., a single "GEN    configmake.h" line, rather than
40070         the 30+ statements that perform the job.  If you want to see the
40071         actual commands, you can still run "make V=1".
40072         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40073         so that make output is abbreviated when those variables are defined
40074         appropriately.
40075         * modules/argz: Likewise.
40076         * modules/arpa_inet: Likewise.
40077         * modules/byteswap: Likewise.
40078         * modules/configmake: Likewise.
40079         * modules/dirent: Likewise.
40080         * modules/errno: Likewise.
40081         * modules/fcntl: Likewise.
40082         * modules/float: Likewise.
40083         * modules/fnmatch: Likewise.
40084         * modules/getopt-posix: Likewise.
40085         * modules/glob: Likewise.
40086         * modules/iconv_open: Likewise.
40087         * modules/inttypes: Likewise.
40088         * modules/localcharset: Likewise.
40089         * modules/locale: Likewise.
40090         * modules/math: Likewise.
40091         * modules/netdb: Likewise.
40092         * modules/netinet_in: Likewise.
40093         * modules/poll: Likewise.
40094         * modules/posix_spawnp-tests: Likewise.
40095         * modules/sched: Likewise.
40096         * modules/search: Likewise.
40097         * modules/selinux-h: Likewise.
40098         * modules/signal: Likewise.
40099         * modules/spawn: Likewise.
40100         * modules/stdarg: Likewise.
40101         * modules/stdbool: Likewise.
40102         * modules/stddef: Likewise.
40103         * modules/stdint: Likewise.
40104         * modules/stdio: Likewise.
40105         * modules/stdlib: Likewise.
40106         * modules/string: Likewise.
40107         * modules/strings: Likewise.
40108         * modules/sys_file: Likewise.
40109         * modules/sys_ioctl: Likewise.
40110         * modules/sys_select: Likewise.
40111         * modules/sys_socket: Likewise.
40112         * modules/sys_stat: Likewise.
40113         * modules/sys_time: Likewise.
40114         * modules/sys_times: Likewise.
40115         * modules/sys_utsname: Likewise.
40116         * modules/sys_wait: Likewise.
40117         * modules/sysexits: Likewise.
40118         * modules/time: Likewise.
40119         * modules/unistd: Likewise.
40120         * modules/wchar: Likewise.
40121         * modules/wctype: Likewise.
40122
40123 2009-08-22  Jim Meyering  <meyering@redhat.com>
40124
40125         announce-gen: detect write failure
40126         * build-aux/announce-gen: Add Coda at end.
40127         Remove equivalent-but-more-verbose block at top.
40128
40129 2009-08-19  Akim Demaille  <demaille@gostai.com>
40130
40131         bootstrap: --help to stdout.
40132         * bootstrap (usage): Don't send --help to stderr.
40133         Use a here doc instead of a long string.
40134
40135 2009-08-21  Eric Blake  <ebb9@byu.net>
40136
40137         test-popen-safer: split from test-popen
40138         * tests/test-popen.c (main): Move...
40139         * tests/test-popen.h: ...into new file.
40140         * tests/test-popen-safer2.c: New file.
40141         * modules/popen-tests (Files): Add test-popen.h.
40142         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40143         Suggested by Bruno Haible.
40144
40145         test-fcntl-safer: split from test-open
40146         * tests/test-open.c (main): Move...
40147         * tests/test-open.h: ...into new file.
40148         * tests/test-fcntl-safer.c: New file.
40149         * modules/open-tests (Files): Add test-open.h.
40150         * modules/fcntl-safer-tests: New file.
40151         Suggested by Bruno Haible.
40152
40153         test-fopen-safer: split from test-fopen
40154         * tests/test-fopen.c (main): Move...
40155         * tests/test-fopen.h: ...into new file.
40156         * tests/test-fopen-safer.c: New file.
40157         * modules/fopen-tests (Files): Add test-fopen.h.
40158         * modules/fopen-safer-tests: New file.
40159         Suggested by Bruno Haible.
40160
40161 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40162
40163         popen-safer: test O_CLOEXEC at run-time.
40164         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
40165
40166 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40167
40168         fcntl: move more flags to the header
40169         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40170         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40171         * lib/fcntl.in.h: Do both things here.
40172
40173 2009-08-21  Jim Meyering  <meyering@redhat.com>
40174
40175         consistently remove $@-t before redirecting to it
40176         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40177         * modules/alloca-opt: Likewise.
40178         * modules/byteswap: Likewise.
40179         * modules/fnmatch: Likewise.
40180         * modules/getopt-posix: Likewise.
40181         * modules/glob: Likewise.
40182         * modules/poll: Likewise.
40183         * modules/posix_spawnp-tests: Likewise.
40184         * modules/sys_socket: Likewise.
40185         * modules/sysexits: Likewise.
40186
40187 2009-08-21  Eric Blake  <ebb9@byu.net>
40188
40189         popen: simplify access to original popen
40190         * lib/popen.c (rpl_popen): No need to worry about popen being a
40191         macro.
40192         Reported by Bruno Haible.
40193
40194 2009-08-20  Eric Blake  <ebb9@byu.net>
40195
40196         build: avoid some compiler warnings
40197         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
40198         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
40199         type.
40200         (new_exclude_segment, excluded_file_pattern_p)
40201         (excluded_file_name_p): Reduce scope.
40202         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
40203         old-style declaration.
40204
40205 2009-08-20  Simon Josefsson  <simon@josefsson.org>
40206
40207         * tests/test-exclude1.sh: Handle Windows EOL.
40208         * tests/test-exclude2.sh: Likewise.
40209         * tests/test-exclude3.sh: Likewise.
40210         * tests/test-exclude4.sh: Likewise.
40211         * tests/test-exclude5.sh: Likewise.
40212         * tests/test-exclude6.sh: Likewise.
40213         * tests/test-exclude7.sh: Likewise.
40214
40215 2009-08-19  Akim Demaille  <demaille@gostai.com>
40216
40217         bootstrap: find sha1sum when named gsha1sum.
40218         * bootstrap (find_tool): New.
40219         ($SHA1SUM): New.
40220         Use it.
40221
40222 2009-08-20  Jim Meyering  <meyering@redhat.com>
40223
40224         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
40225         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
40226         expression that converts "." in a file name to "\." in the resulting
40227         regexp.  Start with a dummy statement, so that prior shell variable
40228         definitions are expanded portably.  Reported by Simon Josefsson.
40229
40230 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
40231
40232         Fix polling for writeability of a screen buffer.
40233         * lib/poll.c: Distinguish input and screen buffers for the
40234         Win32 implementation.
40235         * lib/select.c: Likewise.
40236
40237 2009-08-19  Eric Blake  <ebb9@byu.net>
40238
40239         popen-safer: prevent popen from clobbering std descriptors
40240         * modules/popen-safer: New file.
40241         * lib/popen-safer.c: Likewise.
40242         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
40243         * lib/stdio--.h (popen): Provide override.
40244         * lib/stdio-safer.h (popen_safer): Provide declaration.
40245         * tests/test-popen.c (includes): Partially test this.
40246         * modules/popen-safer-tests: New file, for more tests.
40247         * tests/test-popen-safer.c: Likewise.
40248         * MODULES.html.sh (file stream based Input/Output): Mention it.
40249
40250         tests: test some of the *-safer modules
40251         * modules/fopen-safer (Depends-on): Add fopen.
40252         * modules/fcntl-safer (Depends-on): Add fcntl.
40253         * modules/stdlib-safer (Depends-on): Add stdlib.
40254         (configure.ac): Set indicator.
40255         * modules/unistd-safer (configure.ac): Likewise.
40256         * modules/tmpfile-safer (configure.ac): Likewise.
40257         (Depends-on): Add tmpfile.
40258         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
40259         active.
40260         * tests/test-fopen.c (includes): Test safer versions when they are
40261         in use.
40262         * tests/test-open.c (includes): Likewise.
40263
40264         popen: fix cygwin 1.5 bug when stdin closed
40265         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
40266         * modules/popen: New file.
40267         * modules/popen-tests: Likewise.
40268         * tests/test-popen.c: Likewise.
40269         * m4/popen.m4: Likewise.
40270         * lib/popen.c: Likewise.
40271         * lib/stdio.in.h (popen): New declaration.
40272         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
40273         * modules/stdio (Makefile.am): Likewise.
40274         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
40275
40276 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
40277
40278         maint.mk: give full control over update-copyright exclusions
40279         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
40280         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
40281         (update-copyright): Don't force inclusion of top-level
40282         ChangeLog.  Don't force exclusion of all COPYING files, but make
40283         them the default exclusion instead.
40284
40285 2009-08-16  Bruno Haible  <bruno@clisp.org>
40286
40287         Fix test failures on Solaris 10.
40288         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
40289         tests when Solaris iconv() is used.
40290         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40291         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40292         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40293         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40294         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40295
40296 2009-08-16  Bruno Haible  <bruno@clisp.org>
40297
40298         Fix test failures on Solaris 10.
40299         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
40300         'tr' program and pass it as first argument.
40301         * tests/test-pipe-filter-gi1.sh: Likewise.
40302         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
40303         program as first argument.
40304         * tests/test-pipe-filter-gi1.c (main): Likewise.
40305
40306 2009-08-16  Eric Blake  <ebb9@byu.net>
40307
40308         fpurge: fix previous commits
40309         * modules/fpurge (Makefile.am): Make replacement conditional,
40310         partially reverting 2007-04-29 change; missed in previous
40311         attempt.
40312         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
40313         is missing.
40314
40315 2009-08-16  Bruno Haible  <bruno@clisp.org>
40316
40317         Clarify fpurge's effect on the file position.
40318         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
40319         * tests/test-fpurge.c (main): Make a second pass for checking the file
40320         position.
40321
40322 2009-08-16  Bruno Haible  <bruno@clisp.org>
40323
40324         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
40325         declaration of fpurge is missing.
40326         * tests/test-fpurge.c (main): Check that the file has not more contents
40327         than expected. Close the file before removing it.
40328
40329 2009-08-15  Eric Blake  <ebb9@byu.net>
40330
40331         fpurge: don't wrap working cygwin implementation
40332         * lib/fpurge.c (fpurge): Fix comment typo.
40333         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
40334         1.7 to avoid replacement.
40335         * tests/test-fpurge.c (main): Enhance test.
40336
40337 2009-08-15  Eric Blake  <ebb9@byu.net>
40338         and Jim Meyering  <meyering@redhat.com>
40339
40340         test-update-copyright: skip if perl is insufficient
40341         * tests/test-update-copyright.sh: Failure to run maintainer tool
40342         should not cause testsuite failure on cygwin 1.5.
40343
40344 2009-08-14  Eric Blake  <ebb9@byu.net>
40345
40346         doc: mention more functions added in cygwin 1.7.0
40347         * doc/posix-headers/limits.texi (limits.h): Update for recent
40348         cygwin additions.
40349         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
40350         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
40351         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
40352         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
40353         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
40354
40355 2009-08-14  Eric Blake  <ebb9@byu.net>
40356
40357         maint.mk: simplify update-copyright rule
40358         * top/maint.mk (update-copyright-local): Delete, and document how
40359         to do it in cfg.mk instead.
40360         (update-copyright-exclude-regexp): Delete, and document how to do
40361         it in .x-update-copyright instead.
40362         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
40363         exclude ChangeLog.
40364
40365 2009-08-14  Bruno Haible  <bruno@clisp.org>
40366
40367         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
40368
40369 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40370
40371         maint.mk: support update-copyright-env
40372         * top/maint.mk (update-copyright-env): Define place-holder.
40373         (update-copyright): Expand $(update-copyright-env) before
40374         invoking update-copyright.
40375
40376 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40377
40378         update-copyright: implement forced reformatting
40379         * build-aux/update-copyright: Implement and document
40380         UPDATE_COPYRIGHT_FORCE.
40381         * tests/test-update-copyright.sh: Test it.
40382
40383 2009-08-14  Eric Blake  <ebb9@byu.net>
40384         and Bruno Haible  <bruno@clisp.org>
40385
40386         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
40387         * tests/test-locale.c: Revert previous patch related to NULL.
40388         * tests/test-stdio.c: Likewise.
40389         * tests/test-stdlib.c: Likewise.
40390         * tests/test-string.c: Likewise.
40391         * tests/test-unistd.c: Likewise.
40392         * modules/time-tests (Depends-on): Add verify.
40393         * modules/wchar-tests (Depends-on): Likewise.
40394         * tests/test-time.c: Test for NULL compliance.
40395         * tests/test-wchar.c: Likewise.
40396         * modules/locale (Depends-on): Add stddef.
40397         * modules/stdio (Depends-on): Likewise.
40398         * modules/stdlib (Depends-on): Likewise.
40399         * modules/string (Depends-on): Likewise.
40400         * modules/time (Depends-on): Likewise.
40401         * modules/unistd (Depends-on): Likewise.
40402         * modules/wchar (Depends-on): Likewise.
40403         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
40404         * lib/stdlib.in.h (includes): Likewise.
40405         * lib/string.in.h (includes): Likewise.
40406         * lib/time.in.h (includes): Likewise.
40407         * lib/unistd.in.h (includes): Likewise.
40408         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
40409         replaced.
40410         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40411         * m4/stddef_h.m4: New file.
40412         * modules/stddef: Likewise.
40413         * lib/stddef.in.h: Likewise.
40414         * modules/stddef-tests: Likewise.
40415         * tests/test-stddef.c: Likewise.
40416         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
40417         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
40418         * doc/posix-headers/locale.texi (locale.h): Likewise.
40419         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
40420         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
40421         * doc/posix-headers/string.texi (string.h): Likewise.
40422         * doc/posix-headers/time.texi (time.h): Likewise.
40423         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
40424         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
40425
40426 2009-08-14  Eric Blake  <ebb9@byu.net>
40427
40428         doc: improve git diff of texinfo files
40429         * .gitattributes: Add rule for *.texi files, with hint on how to
40430         use it.
40431         Copied from m4, and based on a report by Bruno Haible.
40432
40433 2009-08-14  Bruno Haible  <bruno@clisp.org>
40434
40435         Disable multithread support by default on Cygwin 1.5.x for real.
40436         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
40437
40438 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40439
40440         update-copyright: much ado about intervals
40441         * build-aux/update-copyright: Implement and document
40442         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
40443         of copyright year intervals.
40444         Also, document UPDATE_COPYRIGHT_YEAR.
40445         * tests/test-update-copyright.sh: Test it.
40446
40447         update-copyright: convert 2-digit to 4-digit years
40448         * build-aux/update-copyright: Implement and document.
40449         * tests/test-update-copyright.sh: Update.
40450
40451 2009-08-14  Jim Meyering  <meyering@redhat.com>
40452
40453         test-exclude: avoid coreutils "make check" failure
40454         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
40455         just as in test-argmatch.c.
40456
40457 2009-08-13  Eric Blake  <ebb9@byu.net>
40458
40459         test-dup2: fix bad assumption
40460         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
40461         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
40462
40463         test-version-etc: fix CRLF portability issue
40464         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
40465         recognize \r.
40466         * tests/test-argp-version-etc-1.sh: Likewise.
40467
40468         getopt: update client modules
40469         * modules/argp (Depends-on): Use getopt-gnu.
40470         * modules/git-merge-changelog (Depends-on): Likewise.
40471         * modules/long-options (Depends-on): Likewise.
40472         * modules/xstrtol (Depends-on): Likewise.
40473
40474 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40475
40476         * tests/test-version-etc.sh: Don't fail on different
40477         project/version.  Don't fail on CRLF differences.  Rewrite to use
40478         multiple -e instead of multiple sed forks, suggested by Eric Blake
40479         <ebb9@byu.net>.
40480         * tests/test-argp-version-etc-1.sh: Likewise.
40481
40482 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40483
40484         * tests/test-version-etc.sh: Don't fail on different
40485         project/version.
40486
40487 2009-08-12  Bruno Haible  <bruno@clisp.org>
40488
40489         Tests for modules 'getopt-posix', 'getopt-gnu'.
40490         * modules/getopt-posix-tests: New file.
40491         * tests/test-getopt.c: New file.
40492         * tests/test-getopt.h: New file.
40493         * tests/test-getopt_long.h: New file.
40494
40495         New modules 'getopt-posix', 'getopt-gnu'.
40496         * modules/getopt-gnu: New file, renamed from modules/getopt.
40497         * modules/getopt-posix: New file.
40498         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
40499         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
40500         (gl_GETOPT): Remove macro.
40501         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
40502         Disable the test against BSD systems that declare optreset. Test
40503         against mingw bug. Test against lack of support of optional arguments
40504         on many platforms.
40505         * doc/glibc-headers/getopt.texi: Update module name and list of
40506         relevant platforms.
40507         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
40508         'getopt-gnu' and more portability problems.
40509         * NEWS: Mention the changes.
40510
40511 2009-08-12  Bruno Haible  <bruno@clisp.org>
40512
40513         Ensure that optarg etc. get declared by <unistd.h>.
40514         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
40515         AC_USE_SYSTEM_EXTENSIONS.
40516         * modules/getopt (Depends-on): Add 'extensions'.
40517
40518 2009-08-12  Bruno Haible  <bruno@clisp.org>
40519
40520         Avoid test link errors.
40521         * modules/pipe-filter-ii-tests (Makefile.am): Define
40522         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
40523         * modules/pipe-filter-gi-tests (Makefile.am): Define
40524         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
40525         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40526
40527 2009-08-12  Bruno Haible  <bruno@clisp.org>
40528
40529         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
40530         gl_GETOPT_SUBSTITUTE before.
40531         (gl_GETOPT): Use it.
40532         * m4/argp.m4 (gl_ARGP): Update.
40533         Reported by Sergey Poznyakoff.
40534
40535         * m4/getopt.m4: Reorder macros.
40536         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
40537         (gl_GETOPT_SUBSTITUTE): Remove macro.
40538
40539 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40540
40541         Minor improvement in gitlog-to-changelog
40542
40543         * build-aux/gitlog-to-changelog: New option `--format' makes
40544         output format string configurable.
40545
40546 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40547
40548         Optimize exclude: use hash tables for non-wildcard patterns.
40549
40550         * lib/exclude.c: Include hash.h and mbuiter.h
40551         (struct exclude_pattern, exclude_segment): New data types.
40552         (struct exclude): Rewrite.
40553         (fnmatch_pattern_has_wildcards): New function.
40554         (new_exclude_segment, free_exclude_segment): New functions.
40555         (excluded_file_pattern_p, excluded_file_name_p): New functions.
40556         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
40557         * lib/exclude.h (is_fnmatch_pattern): New prototype.
40558         * modules/exclude: Depend on hash and mbuiter.
40559
40560         * modules/exclude-tests: New file.
40561         * tests/test-exclude.c: New file.
40562         * tests/test-exclude1.sh: New file.
40563         * tests/test-exclude2.sh: New file.
40564         * tests/test-exclude3.sh: New file.
40565         * tests/test-exclude4.sh: New file.
40566         * tests/test-exclude5.sh: New file.
40567         * tests/test-exclude6.sh: New file.
40568         * tests/test-exclude7.sh: New file.
40569
40570 2009-08-12  Bruno Haible  <bruno@clisp.org>
40571
40572         Ensure that getopt() gets declared by <unistd.h>.
40573         * lib/unistd.in.h: Conditionally include getopt.h.
40574         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
40575         Set GNULIB_UNISTD_H_GETOPT.
40576         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40577         GNULIB_UNISTD_H_GETOPT.
40578         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
40579
40580 2009-08-12  Bruno Haible  <bruno@clisp.org>
40581
40582         Clarify logic.
40583         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
40584         gl_replace_getopt instead of GETOPT_H.
40585
40586 2009-08-12  Bruno Haible  <bruno@clisp.org>
40587
40588         * m4/getopt.m4: Add comments.
40589
40590 2009-08-12  Bruno Haible  <bruno@clisp.org>
40591
40592         Disable multithread support by default on Cygwin 1.5.x.
40593         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
40594         set gl_use_threads=no if not specified otherwise.
40595
40596 2009-08-11  Bruno Haible  <bruno@clisp.org>
40597
40598         Avoid compilation error on NetBSD 5.0.
40599         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
40600         * tests/test-stdio.c: Likewise.
40601         * tests/test-stdlib.c: Likewise.
40602         * tests/test-string.c: Likewise.
40603         * tests/test-unistd.c: Likewise.
40604         Reported by Greg Troxel <gdt@ir.bbn.com>
40605         at <https://savannah.gnu.org/support/?106973>.
40606
40607 2009-08-11  Bruno Haible  <bruno@clisp.org>
40608
40609         * modules/dup2-tests (Depends-on): Remove close.
40610
40611         Undo 2009-07-19 commit.
40612         * modules/acl-tests (Depends-on): Remove close.
40613         * modules/binary-io-tests (Depends-on): Likewise.
40614         * modules/closein-tests (Depends-on): Likewise.
40615         * modules/flock-tests (Depends-on): Likewise.
40616         * modules/fsync-tests (Depends-on): Likewise.
40617         * modules/lseek-tests (Depends-on): Likewise.
40618         * modules/pipe-tests (Depends-on): Likewise.
40619         * modules/posix_spawn-tests (Depends-on): Likewise.
40620         * modules/posix_spawnp-tests (Depends-on): Likewise.
40621         * modules/stat-time-tests (Depends-on): Likewise.
40622         * modules/yesno-tests (Depends-on): Likewise.
40623
40624 2009-08-10  Bruno Haible  <bruno@clisp.org>
40625
40626         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
40627
40628 2009-08-10  Bruno Haible  <bruno@clisp.org>
40629
40630         Fix a gcc warning.
40631         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
40632
40633 2009-08-10  Bruno Haible  <bruno@clisp.org>
40634
40635         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
40636         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
40637         not only the first time.
40638         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
40639         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
40640         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
40641         is 1, not only the the first time.
40642
40643 2009-08-10  Bruno Haible  <bruno@clisp.org>
40644
40645         Make it possible to use module 'gethostname' without module 'close'.
40646         * lib/unistd.in.h (close): Evoke a link error only if
40647         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
40648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40649         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40650         * modules/unistd (Makefile.am): Substitute
40651         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40652         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
40653         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
40654         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
40655         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40656         * modules/sys_ioctl (Makefile.am): Substitute
40657         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40658         * modules/socket (configure.ac): On native Windows, set
40659         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
40660         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40661         Reported by Sam Steingold <sds@gnu.org>.
40662
40663 2009-08-10  Bruno Haible  <bruno@clisp.org>
40664
40665         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
40666         * modules/ioctl (configure.ac): Likewise.
40667
40668 2009-08-10  Bruno Haible  <bruno@clisp.org>
40669
40670         Avoid collision between gnulib wrapper and libintl wrapper.
40671         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
40672         already defined in intl/printf.c.
40673         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
40674         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
40675
40676 2009-08-09  Bruno Haible  <bruno@clisp.org>
40677
40678         Make <sys/select.h> really self-contained, also on Solaris 10.
40679         * lib/sys_select.in.h: Include <string.h>.
40680         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
40681         Solaris 10 problem.
40682         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
40683         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
40684         Reported by Jim Meyering.
40685
40686 2009-08-09  Bruno Haible  <bruno@clisp.org>
40687
40688         Avoid warnings from 'aclocal' that are due to a use of macro name
40689         AM_XGETTEXT_OPTION that is not defined in automake.
40690         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
40691         automake.
40692         * modules/error (configure.ac): Likewise.
40693         * modules/propername (configure.ac): Likewise.
40694         * modules/vasprintf (configure.ac): Likewise.
40695         * modules/verror (configure.ac): Likewise.
40696         * modules/xprintf (configure.ac): Likewise.
40697         * modules/xvasprintf (configure.ac): Likewise.
40698
40699 2009-08-08  Bruno Haible  <bruno@clisp.org>
40700
40701         Avoid compilation error in C++ mode.
40702         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
40703         Reported by Sam Steingold <sds@gnu.org>.
40704
40705 2009-08-08  Bruno Haible  <bruno@clisp.org>
40706
40707         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
40708         for the various Unix platforms.
40709         * doc/posix-headers/limits.texi: Update platforms list regarding
40710         HOST_NAME_MAX.
40711         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40712
40713 2009-08-07  Jim Meyering  <meyering@redhat.com>
40714
40715         selinux-at: fix typo in a comment
40716         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
40717         Spotted by Paolo Bonzini.
40718
40719         selinux-at: remove redundant m4 code, add documentation
40720         * modules/selinux-at (configure.ac): Remove redundant code.
40721         LIB_SELINUX is already set via the dependent module, selinux-h.
40722         (Include): Add quotes around selinux-at.h.
40723         * lib/selinux-at.h: Add documentation.
40724         Reported by Bruno Haible in
40725         http://marc.info/?l=gnulib-bug&m=124958988300749
40726
40727 2009-08-07  Bruno Haible  <bruno@clisp.org>
40728
40729         Avoid link error on MacOS X 10.3 and 10.4.
40730         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
40731         on non-ELF systems.
40732         * lib/argp-pv.c (argp_program_version): Likewise.
40733         Reported by Simon Josefsson.
40734
40735 2009-08-07  Simon Josefsson  <simon@josefsson.org>
40736
40737         * tests/test-version-etc.sh: Use $EXEEXT.
40738
40739 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
40740
40741         update-copyright: update documentation to point to maint.mk
40742         * build-aux/update-copyright: Here.
40743
40744 2009-08-06  Jim Meyering  <meyering@redhat.com>
40745
40746         maint.mk: support update-copyright-local
40747         * top/maint.mk (update-copyright-local): Define place-holder.
40748         (update-copyright): Depend on $(update-copyright-local).
40749
40750 2009-08-06  Jim Meyering  <meyering@redhat.com>
40751
40752         selinux-at: new module
40753         Initially written for coreutils, this module will soon be
40754         used by findutils, too.
40755         * MODULES.html.sh [Misc]: Add selinux-at.
40756         * lib/selinux-at.h: New file, from coreutils.
40757         * lib/selinux-at.c: Likewise.
40758         * modules/selinux-at: Likewise.
40759         (License): Change from LGPL to GPL, since it depends
40760         on the GPL'd openat module.
40761
40762         doc: update README
40763         * README: Remove references to cogito.
40764         Remove cvs-repo-updating instructions from 2007.
40765         Don't imply that CVS is better if you have limited disk space.
40766
40767 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40768
40769         update-copyright: support C-style comments
40770         * build-aux/update-copyright: Implement and document.
40771         * tests/test-update-copyright.sh: Test.
40772
40773 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40774
40775         update-copyright: support omitted "(C)"
40776         * build-aux/update-copyright: Implement and document.  Also,
40777         allow variable whitespace before "(C)".
40778         * tests/test-update-copyright.sh: Test.
40779
40780 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40781
40782         update-copyright: don't trip on non-FSF copyright statements
40783         * build-aux/update-copyright: Fix so that the first correctly
40784         formatted FSF copyright statement is recognized no matter what
40785         appears before it.  Update documentation.
40786         * tests/test-update-copyright.sh: Test that.
40787
40788 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40789
40790         update-copyright: clean up code a little
40791         * build-aux/update-copyright: Append "_re" to the name of any
40792         variable holding a regular expression.
40793         Replace "old" and "new" with "stmt" in variable names.
40794         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
40795         handled correctly.
40796         Format code more consistently.
40797
40798 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40799
40800         update-copyright-tests: improve portability
40801         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
40802         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
40803
40804 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40805
40806         update-copyright: support @copyright{} and &copy;
40807         * build-aux/update-copyright: Implement and document.
40808         * tests/test-update-copyright.sh: Test.
40809
40810 2009-08-04  Jim Meyering  <meyering@redhat.com>
40811
40812         update-copyright-tests: correctly test EOL=\r\n handling
40813         * tests/test-update-copyright.sh: Put \r at the end of some lines
40814         for the dos-eol tests.  Based on a patch by Joel E. Denny.
40815
40816         maint.mk: make update-copyright exclusion list more configurable
40817         * top/maint.mk (update-copyright): Default to excluding COPYING,
40818         but allow an override, in case someone does want to update that file.
40819
40820         maint.mk: don't update copyright date in COPYING
40821         * top/maint.mk (update-copyright): Exclude COPYING.
40822
40823         maint.mk: add a copyright-updating rule
40824         * top/maint.mk (update-copyright): New rule.
40825         Derived from coreutils/Makefile.am.
40826
40827         update-copyright: rename some variables
40828         * build-aux/update-copyright: Rename a few variables for clarity.
40829         Tweak syntax.  List Joel E. Denny as coauthor.
40830
40831 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40832
40833         update-copyright: fix bug for 2-digit last year and add tests
40834         * build-aux/update-copyright: Fix bug.
40835         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
40836         specified.
40837         * modules/update-copyright-tests: New
40838         * tests/test-update-copyright.sh: New.
40839
40840 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40841
40842         update-copyright: handle leading tabs in line prefix
40843         * build-aux/update-copyright: Count leading tabs as 8 spaces
40844         when computing margin.  This helps with the formatting of
40845         ChangeLogs, for example.
40846         Fix documentation a little.
40847
40848 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40849
40850         update-copyright: support EOL=\r\n
40851         * build-aux/update-copyright: Implement that.
40852
40853 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40854
40855         update-copyright: automatically format copyright statements
40856         * build-aux/update-copyright: Implement that.
40857         Also, be a little more predictable and safer by always failing
40858         when the full copyright format is not perfectly recognized as an
40859         unbroken whole.  Discussed at
40860         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
40861         Rewrite documentation.
40862
40863 2009-08-03  Bruno Haible  <bruno@clisp.org>
40864
40865         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
40866
40867 2009-08-02  Bruno Haible  <bruno@clisp.org>
40868
40869         Tests for module 'uname'.
40870         * modules/uname-tests: New file.
40871         * tests/test-uname.c: New file.
40872
40873         New module 'uname'.
40874         * lib/uname.c: New file.
40875         * m4/uname.m4: New file.
40876         * modules/uname: New file.
40877         * doc/posix-functions/uname.texi: Mention the new module.
40878
40879 2009-08-02  Bruno Haible  <bruno@clisp.org>
40880
40881         Tests for module 'sys_utsname'.
40882         * modules/sys_utsname-tests: New file.
40883         * tests/test-sys_utsname.c: New file.
40884
40885         New module 'sys_utsname'.
40886         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
40887         * m4/sys_utsname_h.m4: New file.
40888         * modules/sys_utsname: New file.
40889         * doc/posix-headers/sys_utsname.texi: Mention the new module.
40890
40891 2009-08-02  Bruno Haible  <bruno@clisp.org>
40892
40893         Implicitly initialize the sockets library.
40894         * lib/gethostname.c: Include sockets.h.
40895         (rpl_gethostname): Invoke gl_sockets_startup.
40896         * lib/socket.c: Include sockets.h.
40897         (rpl_socket): Invoke gl_sockets_startup.
40898         * modules/gethostname (Depends-on): Add sockets.
40899         * modules/socket (Depends-on): Likewise.
40900         * tests/test-poll.c: Don't include sockets.h.
40901         (main): Don't invoke gl_sockets_startup.
40902         * tests/test-select.c: Don't include sockets.h.
40903         (main): Don't invoke gl_sockets_startup.
40904
40905 2009-08-02  Bruno Haible  <bruno@clisp.org>
40906
40907         Allow multiple calls to gl_sockets_startup.
40908         * lib/sockets.c (initialized_sockets_version): New variable.
40909         (gl_sockets_startup): Do nothing if already called for this or a higher
40910         version.
40911         (gl_sockets_cleanup): Reset initialized_sockets_version.
40912
40913 2009-08-03  Simon Josefsson  <simon@josefsson.org>
40914
40915         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
40916         different project/version.
40917
40918 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
40919             Bruno Haible  <bruno@clisp.org>
40920
40921         Tests for module 'pipe-filter-gi'.
40922         * modules/pipe-filter-gi-tests: New file.
40923         * tests/test-pipe-filter-gi1.sh: New file.
40924         * tests/test-pipe-filter-gi1.c: New file.
40925         * tests/test-pipe-filter-gi2.sh: New file.
40926         * tests/test-pipe-filter-gi2-main.c: New file.
40927         * tests/test-pipe-filter-gi2-child.c: New file.
40928
40929         New module 'pipe-filter-gi'.
40930         * lib/pipe-filter-gi.c: New file.
40931         * modules/pipe-filter-gi: New file.
40932
40933 2009-08-02  Bruno Haible  <bruno@clisp.org>
40934             Paolo Bonzini  <bonzini@gnu.org>
40935
40936         Tests for module 'pipe-filter-ii'.
40937         * modules/pipe-filter-ii-tests: New file.
40938         * tests/test-pipe-filter-ii1.sh: New file.
40939         * tests/test-pipe-filter-ii1.c: New file.
40940         * tests/test-pipe-filter-ii2.sh: New file.
40941         * tests/test-pipe-filter-ii2-main.c: New file.
40942         * tests/test-pipe-filter-ii2-child.c: New file.
40943
40944         New module 'pipe-filter-ii'.
40945         * lib/pipe-filter.h: New file.
40946         * lib/pipe-filter-ii.c: New file.
40947         * lib/pipe-filter-aux.h: New file.
40948         * modules/pipe-filter-ii: New file.
40949
40950 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40951
40952         * lib/gc-libgcrypt.c: Change copyright to FSF.
40953         * lib/gc-gnulib.c: Likewise.
40954
40955 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
40956
40957         * lib/gethostname.c: Include limits.h.
40958
40959 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40960             Bruno Haible  <bruno@clisp.org>
40961
40962         Ensure HOST_NAME_MAX as part of the gethostname module.
40963         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
40964         define also HOST_NAME_MAX.
40965         * tests/test-gethostname.c: Include <limits.h>.
40966         (main): Check also HOST_NAME_MAX.
40967         * doc/posix-headers/limits.texi: Document the mingw problem.
40968
40969 2009-08-02  Bruno Haible  <bruno@clisp.org>
40970
40971         * lib/gethostname.c (gethostname): Fix handling of large len argument.
40972         Add comments.
40973
40974 2009-03-31  Simon Josefsson  <simon@josefsson.org>
40975
40976         * lib/gethostname.c: Add Windows wrapper.
40977         * m4/gethostname.m4: Look for gethostname in -lws2_32.
40978         * modules/gethostname: Depend on sys_socket & errno, for also
40979         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
40980         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
40981
40982 2009-07-31  Jim Meyering  <meyering@redhat.com>
40983
40984         getloadavg: fix symbol name in comment
40985         * lib/getloadavg.c: Correct a typo I introduced when adding
40986         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
40987         Matt Kraai spotted the problem.
40988
40989 2009-07-29  Matt Kraai  <mkraai@beckman.com>
40990
40991         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
40992         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
40993         code also if ! defined N_NAME_POINTER.
40994         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
40995         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
40996         but the n_name member is a 12-byte array.
40997
40998 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
40999
41000         update-copyright: generalize comment handling
41001         * build-aux/update-copyright: Handle copyright statements
41002         within more comment styles.
41003         Document usage.
41004         Report any file with an external copyright holder or parse failure.
41005
41006 2009-07-29  Jim Meyering  <meyering@redhat.com>
41007
41008         mktime: correct setting of REPLACE_MKTIME
41009         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41010
41011         update-copyright: new module
41012         * modules/update-copyright: New file.
41013         * build-aux/update-copyright: New file.
41014         * MODULES.html.sh (maint+release support): Add update-copyright.
41015
41016 2009-07-27  Bruno Haible  <bruno@clisp.org>
41017
41018         Fix compilation error when <ctime> is used and mktime is replaced.
41019         * lib/time.in.h (mktime): New declaration.
41020         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41021         REPLACE_MKTIME instead of defining mktime in config.h.
41022         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41023         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41024         Reported by Ross McFarland <rwmcfa1@neces.com>.
41025
41026 2009-07-27  Bruno Haible  <bruno@clisp.org>
41027
41028         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41029         Reported by Matt Kraai <mkraai@beckman.com>.
41030
41031 2009-07-25  Jim Meyering  <meyering@redhat.com>
41032
41033         maint.mk: avoid warnings about missing files
41034         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41035         diagnostic when .prev-version does not exist.
41036         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41037         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41038         nonexistent cfg.mk.
41039         Suggestions from Simon Josefsson.
41040
41041 2009-07-25  Bruno Haible  <bruno@clisp.org>
41042
41043         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41044         defined as macros. Needed on QNX 6.4.1.
41045         Reported by Matt Kraai <mkraai@beckman.com>.
41046
41047 2009-07-23  Jim Meyering  <meyering@redhat.com>
41048
41049         maint.mk: invoke "make dist" with a working value of XZ_OPT
41050         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41051
41052 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41053
41054         Make fseeko.c compile on QNX.
41055         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41056
41057 2009-07-22  Peter Simons  <simons@cryp.to>
41058
41059         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41060         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41061         * lib/md4.h: Likewise.
41062         * lib/md5.h: Likewise.
41063         * lib/sha1.h: Likewise.
41064         * lib/sha256.h: Likewise.
41065         * lib/sha512.h: Likewise.
41066
41067         tests-sha1: don't assign literal string to 'char *' variable
41068         * tests/test-sha1.c (main): Declare locals with "const" to match
41069         attributes of the right hand side.
41070
41071 2009-07-21  Eric Blake  <ebb9@byu.net>
41072
41073         dup2: fix more mingw problems
41074         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41075         fd to itself.
41076         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41077         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41078         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41079         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41080         care of mingw bugs.
41081
41082 2009-07-21  Jim Meyering  <meyering@redhat.com>
41083
41084         vc-list-files: avoid failure when /bin/sh is dash
41085         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41086         On some Debian based systems, /bin/sh is a symlink to dash, and running
41087         this command would omit the "/" following each 'tests' prefix:
41088           dash -x build-aux/vc-list-files -C . tests
41089         That is because bash and dash work differently:
41090           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41091           bash ok
41092           dash odd
41093
41094 2009-07-21  Eric Blake  <ebb9@byu.net>
41095
41096         dup2-tests: test previous patch
41097         * modules/dup2-tests: New file.
41098         * tests/test-dup2.c: Likewise.
41099         * tests/test-open.c (main): Avoid unspecified behavior.
41100         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41101         test.
41102
41103         dup2: work around mingw and cygwin 1.5 bug
41104         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41105         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41106         * modules/unistd (Makefile.am): Substitute it.
41107         * lib/unistd.in.h (dup2): Declare the replacement.
41108         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41109         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41110         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41111         * modules/execute (Depends-on): Add dup2.
41112         * modules/fseterr (Depends-on): Likewise.
41113         * modules/pipe (Depends-on): Likewise.
41114         * modules/posix_spawn-internal (Depends-on): Likewise.
41115
41116 2009-07-21  Bruno Haible  <bruno@clisp.org>
41117
41118         * modules/.gitattributes: New file.
41119
41120 2009-07-20  Bruno Haible  <bruno@clisp.org>
41121
41122         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41123         (main): Use it.
41124
41125 2009-07-20  Eric Blake  <ebb9@byu.net>
41126
41127         test-pipe: make a bit more robust.
41128         * tests/test-pipe.c (myerr): Allow error messages regardless of
41129         what we do to stderr.
41130         (test_pipe): Rearrange to avoid deadlock.
41131         (child_main): Try a larger read, to ensure we avoided deadlock.
41132         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41133         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41134         if misused.
41135
41136 2009-07-19  Jim Meyering  <meyering@redhat.com>
41137
41138         fts: avoid false-positive cycle-detection
41139         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41140         for each new command line argument.
41141
41142 2009-07-19  Bruno Haible  <bruno@clisp.org>
41143
41144         Fix build error on mingw with the modules sys_select and unistd.
41145         * modules/acl-tests (Depends-on): Add close.
41146         * modules/binary-io-tests (Depends-on): Likewise.
41147         * modules/closein-tests (Depends-on): Likewise.
41148         * modules/flock-tests (Depends-on): Likewise.
41149         * modules/fsync-tests (Depends-on): Likewise.
41150         * modules/lseek-tests (Depends-on): Likewise.
41151         * modules/pipe-tests (Depends-on): Likewise.
41152         * modules/posix_spawn-tests (Depends-on): Likewise.
41153         * modules/posix_spawnp-tests (Depends-on): Likewise.
41154         * modules/stat-time-tests (Depends-on): Likewise.
41155         * modules/yesno-tests (Depends-on): Likewise.
41156
41157 2009-07-19  Bruno Haible  <bruno@clisp.org>
41158
41159         Unify conditionals.
41160         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
41161         macros, not at the compiler macros.
41162         * lib/pipe.c: Likewise.
41163         * lib/execute.c: Likewise.
41164         * lib/spawni.c: Likewise.
41165
41166 2009-07-19  Bruno Haible  <bruno@clisp.org>
41167
41168         Fix handling of closed stdin/stdout/stderr on mingw.
41169         * lib/w32spawn.h: Include unistd.h.
41170         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41171         file descriptor with O_NOINHERIT flag.
41172         (fd_safer_noinherit): New function, based on fd-safer.c.
41173         (dup_safer_noinherit): New function, based on dup-safer.c.
41174         (undup_safer_noinherit): New function.
41175         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41176         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41177         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41178         instead of fd_safer.
41179         * tests/test-pipe.c: Include <windows.h>.
41180         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41181         result.
41182
41183         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41184         from main.
41185         (test_pipe): Pass an extra argument for disambiguation.
41186         (main): Invoke parent_main or child_main.
41187
41188         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
41189         consistently.
41190
41191 2009-07-18  Eric Blake  <ebb9@byu.net>
41192
41193         test-pipe: fix mingw build
41194         * tests/test-pipe.c (main): Avoid fcntl on mingw.
41195
41196 2009-07-18  Bruno Haible  <bruno@clisp.org>
41197
41198         * modules/pipe-tests (Makefile.am): Fix typo.
41199
41200 2009-07-18  Eric Blake  <ebb9@byu.net>
41201
41202         error: fix mingw build
41203         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
41204         Reported by Bruno Haible.
41205
41206         error: avoid undefined use of stdout
41207         * lib/error.c (error, error_at_line): Check that fd 1 is open
41208         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
41209         is handling faults and the close_stdout module wants to report the
41210         detection of closed stdout as an error.
41211
41212 2009-07-17  Eric Blake  <ebb9@byu.net>
41213
41214         pipe: be robust in face of closed fds
41215         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
41216         should cause child to misbehave.
41217         * modules/pipe-tests: New module.
41218         * tests/test-pipe.c: New file.
41219         * tests/test-pipe.sh: New file.
41220         Reported by Akim Demaille.
41221
41222 2009-07-14  Bruno Haible  <bruno@clisp.org>
41223
41224         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
41225         Reported by anonymous kc.
41226
41227 2009-07-07  Jim Meyering  <meyering@redhat.com>
41228
41229         maint.mk: don't look for translatable strings in *.m4 or *.mk
41230         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
41231         when searching for translatable strings.
41232
41233 2009-07-05  Jim Meyering  <meyering@redhat.com>
41234
41235         remove superfluous parentheses in STREQ definition
41236         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
41237         * lib/getugroups.c (STREQ): Likewise.
41238         * lib/fnmatch.c (STREQ): Likewise.
41239         Spotted by Bruno Haible.
41240
41241 2009-07-04  Jim Meyering  <meyering@redhat.com>
41242
41243         argv-iter: new module
41244         * MODULES.html.sh: Add argv-iter.
41245         * lib/argv-iter.c, lib/argv-iter.h: New files.
41246         * modules/argv-iter: New file.
41247         * modules/argv-iter-tests: New file.
41248         * tests/test-argv-iter.c: Test it.
41249
41250 2009-07-04  Bruno Haible  <bruno@clisp.org>
41251
41252         Fix assertion.
41253         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
41254         contains more exact copies of a given entry than file2, leave the extra
41255         copies unpaired rather than aborting.
41256         Reported by Eric Blake.
41257
41258 2009-07-02  Bruno Haible  <bruno@clisp.org>
41259
41260         Speedup git-merge-changelog for git cherry-pick.
41261         * lib/git-merge-changelog.c (struct entries_mapping): New type.
41262         (entries_mapping_get): New function, extracted from compute_mapping.
41263         (entries_mapping_reverse_get): New function.
41264         (compute_mapping): Add a 'full' argument. Return the result in a
41265         'struct entries_mapping'.
41266         (main): Update. Access the mappings through entries_mapping_get.
41267         Reported by Eric Blake.
41268
41269 2009-07-02  Bruno Haible  <bruno@clisp.org>
41270
41271         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
41272         best_i.
41273
41274 2009-07-02  Bruno Haible  <bruno@clisp.org>
41275
41276         Speed up approximate search for matching ChangeLog entries.
41277         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
41278         argument. Call fstrcmp_bounded instead of fstrcmp.
41279         (compute_mapping, try_split_merged_entry, main): Update callers.
41280
41281 2009-07-02  Bruno Haible  <bruno@clisp.org>
41282
41283         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
41284
41285 2009-06-30  Bruno Haible  <bruno@clisp.org>
41286
41287         Reduce the number of uc_is_cased calls.
41288         * lib/unicase.h (casing_suffix_context_t): Add
41289         'first_char_except_ignorable' field.
41290         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
41291         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
41292         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
41293         Update initializer.
41294         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
41295         case-ignorable characters.
41296         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
41297         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
41298         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
41299         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
41300         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
41301
41302 2009-06-30  Bruno Haible  <bruno@clisp.org>
41303
41304         Tests for module 'unicase/ignorable'.
41305         * modules/unicase/ignorable-tests: New file.
41306         * tests/unicase/test-ignorable.c: New file, generated by
41307         gen-uni-tables.
41308
41309         Tests for module 'unicase/cased'.
41310         * modules/unicase/cased-tests: New file.
41311         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
41312         * tests/unicase/test-predicate-part1.h: New file, derived from
41313         tests/unictype/test-predicate-part1.h.
41314         * tests/unicase/test-predicate-part2.h: New file, same as
41315         tests/unictype/test-predicate-part2.h.
41316
41317         Fix evaluation of "Before C" condition of FINAL_SIGMA.
41318         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
41319         (output_casing_properties): New function.
41320         (main): Call it.
41321         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
41322         * lib/unicase/cased.c: Include unictype/bitmap.h.
41323         (uc_is_cased): Define through a bitmap lookup.
41324         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
41325         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
41326         (uc_is_case_ignorable): Define through a bitmap lookup.
41327         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
41328         lib/unictype/bitmap.h.
41329         (Depends-on): Add inline. Clean up.
41330         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
41331         lib/unictype/bitmap.h.
41332         (Depends-on): Add inline. Clean up.
41333         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
41334         recognition.
41335         * tests/unicase/test-u16-tolower.c (main): Likewise.
41336         * tests/unicase/test-u32-tolower.c (main): Likewise.
41337
41338 2009-06-30  Bruno Haible  <bruno@clisp.org>
41339
41340         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
41341         * lib/unicase/u16-casemap.c: Likewise.
41342         * lib/unicase/u32-casemap.c: Likewise.
41343
41344 2009-06-29  Bruno Haible  <bruno@clisp.org>
41345
41346         Define u32_casefold as a wrapper around u32_ct_casefold.
41347         * lib/unicase/u32-casefold.c: Update.
41348         * modules/unicase/u32-casefold (Depends-on): Add
41349         unicase/u32-ct-casefold, unicase/empty-prefix-context,
41350         unicase/empty-suffix-context. Clean up.
41351
41352         Define u16_casefold as a wrapper around u16_ct_casefold.
41353         * lib/unicase/u16-casefold.c: Update.
41354         * modules/unicase/u16-casefold (Depends-on): Add
41355         unicase/u16-ct-casefold, unicase/empty-prefix-context,
41356         unicase/empty-suffix-context. Clean up.
41357
41358         Define u8_casefold as a wrapper around u8_ct_casefold.
41359         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
41360         * lib/unicase/u8-casefold.c: Update.
41361         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
41362         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41363
41364         Define u32_totitle as a wrapper around u32_ct_totitle.
41365         * lib/unicase/u32-totitle.c: Update.
41366         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
41367         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41368
41369         Define u16_totitle as a wrapper around u16_ct_totitle.
41370         * lib/unicase/u16-totitle.c: Update.
41371         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
41372         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41373
41374         Define u8_totitle as a wrapper around u8_ct_totitle.
41375         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
41376         functions.
41377         (FUNC): Delegate to U_CT_TOTITLE.
41378         * lib/unicase/u8-totitle.c: Update.
41379         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
41380         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41381
41382         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
41383         invocation.
41384         * modules/unicase/u32-tolower (Depends-on): Add
41385         unicase/empty-prefix-context, unicase/empty-suffix-context.
41386
41387         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
41388         invocation.
41389         * modules/unicase/u16-tolower (Depends-on): Add
41390         unicase/empty-prefix-context, unicase/empty-suffix-context.
41391
41392         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
41393         * modules/unicase/u8-tolower (Depends-on): Add
41394         unicase/empty-prefix-context, unicase/empty-suffix-context.
41395
41396         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
41397         invocation.
41398         * modules/unicase/u32-toupper (Depends-on): Add
41399         unicase/empty-prefix-context, unicase/empty-suffix-context.
41400
41401         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
41402         invocation.
41403         * modules/unicase/u16-toupper (Depends-on): Add
41404         unicase/empty-prefix-context, unicase/empty-suffix-context.
41405
41406         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
41407         * modules/unicase/u8-toupper (Depends-on): Add
41408         unicase/empty-prefix-context, unicase/empty-suffix-context.
41409
41410         New module 'unicase/u32-ct-casefold'.
41411         * lib/unicase/u32-ct-casefold.c: New file.
41412         * modules/unicase/u32-ct-casefold: New file.
41413
41414         New module 'unicase/u16-ct-casefold'.
41415         * lib/unicase/u16-ct-casefold.c: New file.
41416         * modules/unicase/u16-ct-casefold: New file.
41417
41418         New module 'unicase/u8-ct-casefold'.
41419         * lib/unicase/u8-ct-casefold.c: New file.
41420         * lib/unicase/u-ct-casefold.h: New file, derived from
41421         lib/unicase/u-casefold.h.
41422         * modules/unicase/u8-ct-casefold: New file.
41423
41424         New module 'unicase/u32-ct-totitle'.
41425         * lib/unicase/u32-ct-totitle.c: New file.
41426         * modules/unicase/u32-ct-totitle: New file.
41427
41428         New module 'unicase/u16-ct-totitle'.
41429         * lib/unicase/u16-ct-totitle.c: New file.
41430         * modules/unicase/u16-ct-totitle: New file.
41431
41432         New module 'unicase/u8-ct-totitle'.
41433         * lib/unicase/u8-ct-totitle.c: New file.
41434         * lib/unicase/u-ct-totitle.h: New file, derived from
41435         lib/unicase/u-totitle.h.
41436         * modules/unicase/u8-ct-totitle: New file.
41437
41438         New module 'unicase/u32-ct-tolower'.
41439         * lib/unicase/u32-ct-tolower.c: New file.
41440         * modules/unicase/u32-ct-tolower: New file.
41441
41442         New module 'unicase/u16-ct-tolower'.
41443         * lib/unicase/u16-ct-tolower.c: New file.
41444         * modules/unicase/u16-ct-tolower: New file.
41445
41446         New module 'unicase/u8-ct-tolower'.
41447         * lib/unicase/u8-ct-tolower.c: New file.
41448         * modules/unicase/u8-ct-tolower: New file.
41449
41450         New module 'unicase/u32-ct-toupper'.
41451         * lib/unicase/u32-ct-toupper.c: New file.
41452         * modules/unicase/u32-ct-toupper: New file.
41453
41454         New module 'unicase/u16-ct-toupper'.
41455         * lib/unicase/u16-ct-toupper.c: New file.
41456         * modules/unicase/u16-ct-toupper: New file.
41457
41458         New module 'unicase/u8-ct-toupper'.
41459         * lib/unicase/u8-ct-toupper.c: New file.
41460         * modules/unicase/u8-ct-toupper: New file.
41461
41462         Add context arguments to u*_casemap functions.
41463         * lib/unicase/unicasemap.h: Include unicase.h.
41464         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
41465         suffix_context arguments.
41466         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
41467         functions.
41468         (FUNC): Add prefix_context and suffix_context arguments. Use
41469         uc_is_cased and uc_is_case_ignorable.
41470         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
41471         * lib/unicase/u16-casemap.c: Likewise.
41472         * lib/unicase/u32-casemap.c: Likewise.
41473         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
41474         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41475         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
41476         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41477         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
41478         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41479
41480         New module 'unicase/u32-suffix-context'.
41481         * lib/unicase/u32-suffix-context.c: New file.
41482         * modules/unicase/u32-suffix-context: New file.
41483
41484         New module 'unicase/u16-suffix-context'.
41485         * lib/unicase/u16-suffix-context.c: New file.
41486         * modules/unicase/u16-suffix-context: New file.
41487
41488         New module 'unicase/u8-suffix-context'.
41489         * lib/unicase/u8-suffix-context.c: New file.
41490         * lib/unicase/u-suffix-context.h: New file.
41491         * modules/unicase/u8-suffix-context: New file.
41492
41493         New module 'unicase/empty-suffix-context'.
41494         * lib/unicase/empty-suffix-context.c: New file.
41495         * modules/unicase/empty-suffix-context: New file.
41496
41497         New module 'unicase/u32-prefix-context'.
41498         * lib/unicase/u32-prefix-context.c: New file.
41499         * modules/unicase/u32-prefix-context: New file.
41500
41501         New module 'unicase/u16-prefix-context'.
41502         * lib/unicase/u16-prefix-context.c: New file.
41503         * modules/unicase/u16-prefix-context: New file.
41504
41505         New module 'unicase/u8-prefix-context'.
41506         * lib/unicase/u8-prefix-context.c: New file.
41507         * lib/unicase/u-prefix-context.h: New file.
41508         * lib/unicase/context.h: New file.
41509         * modules/unicase/u8-prefix-context: New file.
41510
41511         New module 'unicase/empty-prefix-context'.
41512         * lib/unicase/empty-prefix-context.c: New file.
41513         * modules/unicase/empty-prefix-context: New file.
41514
41515         New module 'unicase/ignorable'.
41516         * lib/unicase/ignorable.c: New file.
41517         * modules/unicase/ignorable: New file.
41518
41519         New module 'unicase/cased'.
41520         * lib/unicase/caseprop.h: New file.
41521         * lib/unicase/cased.c: New file.
41522         * modules/unicase/cased: New file.
41523
41524         New functions for case mapping of substrings.
41525         * lib/unicase.h (casing_prefix_context_t): New type.
41526         (unicase_empty_prefix_context): New variable.
41527         (u8_casing_prefix_context, u16_casing_prefix_context,
41528         u32_casing_prefix_context, u8_casing_prefixes_context,
41529         u16_casing_prefixes_context, u32_casing_prefixes_context): New
41530         declarations.
41531         (casing_suffix_context_t): New type.
41532         (unicase_empty_suffix_context): New variable.
41533         (u8_casing_suffix_context, u16_casing_suffix_context,
41534         u32_casing_suffix_context, u8_casing_suffixes_context,
41535         u16_casing_suffixes_context, u32_casing_suffixes_context,
41536         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
41537         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
41538         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
41539         declarations.
41540
41541 2009-06-28  Jim Meyering  <meyering@redhat.com>
41542
41543         boostrap: indent only with spaces
41544         * build-aux/bootstrap: Indent only with spaces, never TABs.
41545
41546         bootstrap: split long lines
41547         * build-aux/bootstrap: Keep line length < 80.
41548
41549         bootstrap: sync from coreutils
41550         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
41551         just as autoreconf does.  Verify a list of prerequisite
41552         package-name,version-number pairs if defined in bootstrap.conf.
41553         Refer to README-prereq, if prerequisites are not satisfied.
41554
41555 2009-06-27  Eric Blake  <ebb9@byu.net>
41556
41557         tests: add test for bogus NULL definition
41558         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
41559         * tests/test-stdlib.c: Likewise.
41560         * tests/test-string.c: Likewise.
41561         * tests/test-locale.c: Likewise.
41562         * tests/test-unistd.c: Likewise.
41563         * modules/stdio-tests (Depends-on): Add verify.
41564         * modules/stdlib-tests (Depends-on): Likewise.
41565         * modules/string-tests (Depends-on): Likewise.
41566         * modules/locale-tests (Depends-on): Likewise.
41567         * modules/unistd-tests (Depends-on): Likewise.
41568
41569 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
41570
41571         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
41572         self-explaining comment.
41573         * m4/selinux-selinux-h: Update serial.
41574         (gl_LIBSELINUX): New macro, adding a warning for missing development
41575         packages to code extracted from...
41576         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
41577         Add warning for missing development packages here, too.
41578
41579 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
41580
41581         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
41582
41583 2009-06-25  Eric Blake  <ebb9@byu.net>
41584
41585         version-etc: fix regression
41586         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
41587         gcc.
41588         (version_etc): Use it, to catch bugs with trailing NULL.
41589         * lib/version-etc.c (version_etc_arn): Delete unused argument.
41590         (version_etc_va): Fix logic bug.
41591         * modules/version-etc-tests: Add test.
41592         * tests/test-version-etc.c: New file.
41593         * tests/test-version-etc.sh: Likewise.
41594
41595 2009-06-25  Sam Steingold  <sds@gnu.org>
41596
41597         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
41598         mbtowc declaration.
41599
41600 2009-06-25  Eric Blake  <ebb9@byu.net>
41601
41602         fpurge: migrate into <stdio.h>
41603         * lib/fpurge.h: Delete...
41604         * lib/stdio.in.h (fpurge): ...and declare here, instead.
41605         * lib/fpurge.c (fpurge): Change declaring header.
41606         * modules/fpurge (Files): Drop deleted file.
41607         (Depends-on): Add stdio.
41608         (configure.ac): Set witness.
41609         * modules/stdio (Makefile.am): Support fpurge macros.
41610         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41611         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
41612         * lib/fflush.c: Update client.
41613         * tests/test-fpurge.c: Likewise.
41614         * NEWS: Mention the change.
41615
41616 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41617
41618         * lib/argp-version-etc.c (program_authors): Add const
41619         qualifier.
41620         * lib/version-etc.c: Fix typos in the comments.
41621         * modules/argp-version-etc: Depends on version-etc.
41622
41623 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41624
41625         argp-version-etc: new module.
41626
41627         * lib/argp-version-etc.c: New file.
41628         * lib/argp-version-etc.h: New file.
41629         * modules/argp-version-etc: New file.
41630         * modules/argp-version-etc-tests: New file.
41631         * tests/test-argp-version-etc.c: New test.
41632         * tests/test-argp-version-etc-1.sh: New test.
41633
41634 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41635
41636         Provide additional interfaces and documentation for version-etc
41637         module.
41638
41639         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
41640         interfaces.
41641         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
41642         prototypes.
41643
41644 2009-06-24  Bruno Haible  <bruno@clisp.org>
41645
41646         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
41647         HAVE_LIB${NAME} macro.
41648         Reported by Sam Steingold <sds@gnu.org>.
41649
41650 2009-06-23  Simon Josefsson  <simon@josefsson.org>
41651
41652         * modules/hash-tests (test_hash_LDADD): Link to libintl when
41653         needed.
41654
41655 2009-06-21  Bruno Haible  <bruno@clisp.org>
41656
41657         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
41658         work.
41659         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
41660         together with LIB${NAME}, LTLIB${NAME}.
41661         Reported by Sam Steingold <sds@gnu.org>.
41662
41663 2009-06-20  Jim Meyering  <meyering@redhat.com>
41664
41665         tests: make sc_require_test_exit_idiom more generic
41666         * top/maint.mk (Exit_witness_file): New overridable variable.
41667         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
41668         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
41669
41670 2009-06-19  Jim Meyering  <meyering@redhat.com>
41671
41672         hash: reverse order of src/dst parameters in an internal interface
41673         * lib/hash.c (transfer_entries): Reverse order of parameters to
41674         put DST before SRC.  Adjust callers.
41675
41676         tests: test-hash: avoid wholesale duplication
41677         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
41678         Instead, use a loop and add a single conditional.
41679
41680         tests: test-hash: allow seed selection via a command line argument
41681         * tests/test-hash.c (get_seed): New function.
41682         (main): Use it.
41683
41684 2009-06-19  Eric Blake  <ebb9@byu.net>
41685
41686         hash: avoid memory leak on allocation failure
41687         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
41688         failure.  Factor repeated algorithm...
41689         (transfer_entries): ...into new helper routine.
41690         (hash_delete): React to hash_rehash return value.
41691
41692         hash: reduce memory pressure in hash_rehash no-op case
41693         * lib/hash.c (next_prime): Avoid overflow.
41694         (hash_initialize): Factor bucket size computation...
41695         (compute_bucket_size): ...into new helper function.
41696         (hash_rehash): Use new function and open coding to reduce memory
41697         pressure, and avoid a memory leak in USE_OBSTACK code.
41698         Reported by Jim Meyering.
41699
41700 2009-06-18  Eric Blake  <ebb9@byu.net>
41701
41702         hash: make rotation more obvious
41703         * modules/hash (Depends-on): Add bitrotate and stdint.
41704         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
41705         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
41706         (SIZE_MAX): Rely on headers for definition.
41707         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
41708         (raw_hasher): Use rotr_sz.
41709         Suggested by Jim Meyering.
41710
41711         hash: fix memory leak in last patch
41712         * lib/hash.c (hash_rehash): Avoid memory leak.
41713
41714         hash: avoid no-op rehashing
41715         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
41716
41717         hash: provide default callback functions
41718         * lib/hash.c (raw_hasher, raw_comparator): New functions.
41719         (hash_initialize): Use them as defaults.
41720         * tests/test-hash.c (main): Test this.
41721
41722         hash: minor optimization
41723         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
41724         when possible.
41725         (hash_initialize): Document this promise.
41726         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
41727         * tests/test-hash.c (hash_compare_strings): Test this.
41728
41729 2009-06-18  Bruno Haible  <bruno@clisp.org>
41730
41731         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
41732         going to be replaced anyway.
41733
41734 2009-06-18  Bruno Haible  <bruno@clisp.org>
41735
41736         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
41737         in one place.
41738         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
41739         be replaced anyway.
41740
41741 2009-06-18  Eric Blake  <ebb9@byu.net>
41742
41743         hash: check for resize before insertion
41744         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
41745         threshold before insertion, so that a pathological hash_rehash
41746         that fills every bucket can still trigger another rehash.
41747
41748 2009-06-18  Jim Meyering  <meyering@redhat.com>
41749
41750         hash-tests: add a loop around the small tests
41751         * tests/test-hash.c (main): Repeat small tests with selected
41752         small initial table sizes.
41753
41754 2009-06-17  Eric Blake  <ebb9@byu.net>
41755
41756         hash: minor cleanups
41757         * lib/hash.h (hash_entry): Make opaque, by moving...
41758         * lib/hash.c (hash_entry): ...here.
41759         (hash_insert): Clarify restrictions on what can be inserted.
41760         (hash_get_next): Clarify when it is safe to remove an element
41761         during traversal.
41762         (check_tuning): Skip verification when tuning is known safe.
41763         (hash_initialize): Clarify restrictions on tuning.
41764
41765 2009-06-17  Jim Meyering  <jim@meyering.net>
41766         and Eric Blake  <ebb9@byu.net>
41767
41768         hash-tests: new module
41769         * modules/hash-tests: New file.
41770         * tests/test-hash.c: New file.
41771
41772 2009-06-17  Eric Blake  <ebb9@byu.net>
41773
41774         strstr-simple: document new module
41775         * MODULES.html.sh: Document new module.
41776
41777         strstr, strcasestr: replace on platforms with broken memchr
41778         * modules/strstr: Split into...
41779         * modules/strstr-simple: ...new module that does not care about
41780         performance, but does care about glibc bug.
41781         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
41782         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
41783         if platform memchr is broken, per Debian bug 521737.
41784         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
41785         memchr.
41786         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
41787         * doc/posix-functions/strstr.texi (strstr): Document the fix.
41788         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
41789         * modules/mountlist (Depends-on): Add strstr-simple.
41790         * modules/gen-uni-tables (Depends-on): Likewise.
41791         * modules/argz (Depends-on): Add strstr.
41792
41793 2009-06-17  Bruno Haible  <bruno@clisp.org>
41794
41795         * modules/posix_spawn-internal (Depends-on): Add errno.
41796
41797 2009-06-17  Bruno Haible  <bruno@clisp.org>
41798
41799         Define missing ESTALE on Interix 3.5.
41800         * lib/errno.in.h (ESTALE): Assign a value if missing.
41801         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
41802         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
41803         missing.
41804         * doc/posix-headers/errno.texi: Mention the Interix bug.
41805         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
41806
41807 2009-06-15  Eric Blake  <ebb9@byu.net>
41808
41809         memchr, memchr2: add valgrind exception
41810         * lib/memchr.valgrind: New file.
41811         * lib/memchr2.valgrind: New file.
41812         * modules/memchr (Files): Distribute valgrind file.
41813         * modules/memchr2 (Files): Likewise.
41814
41815         docs: memchr is no longer obsolete
41816         * MODULES.html.sh: Move memchr from obsolete to string.h section.
41817         * lib/string.in.h (memchr): Simplify logic.
41818
41819 2009-06-14  Jim Meyering  <meyering@redhat.com>
41820
41821         link-follow: fix the "checking..." message to not mention trailing slash
41822         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
41823         never considered trailing slashes.
41824
41825 2009-06-14  Bruno Haible  <bruno@clisp.org>
41826
41827         * m4/memchr.m4: Mention also the bug on IA-64.
41828         * doc/posix-functions/memchr.texi: Likewise.
41829
41830 2009-06-12  Eric Blake  <ebb9@byu.net>
41831
41832         memchr: detect broken x86_64 and alpha implementations
41833         * modules/memchr-tests (Depends-on): Move mmap detection...
41834         * modules/memchr (Depends-on): ...here.
41835         (configure.ac): Set indicator.
41836         * lib/string.in.h (memchr): Declare replacement.
41837         * modules/string (Makefile.am): Trigger replacement.
41838         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
41839         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
41840         bugs.
41841         * doc/posix-functions/memchr.texi (memchr): Document the bug.
41842         * modules/getpagesize (License): Relax license.
41843
41844 2009-06-11  Bruno Haible  <bruno@clisp.org>
41845
41846         * lib/idpriv.h: Add more references.
41847
41848 2009-06-08  Bruno Haible  <bruno@clisp.org>
41849
41850         Tests for module 'idpriv-droptemp'.
41851         * modules/idpriv-droptemp-tests: New file.
41852         * tests/test-idpriv-droptemp.sh: New file.
41853         * tests/test-idpriv-droptemp.su.sh: New file.
41854         * tests/test-idpriv-droptemp.c: New file.
41855
41856         New module 'idpriv-droptemp'.
41857         * lib/idpriv-droptemp.c: New file.
41858         * modules/idpriv-droptemp: New file.
41859
41860 2009-06-08  Bruno Haible  <bruno@clisp.org>
41861
41862         Tests for module 'idpriv-drop'.
41863         * modules/idpriv-drop-tests: New file.
41864         * tests/test-idpriv-drop.sh: New file.
41865         * tests/test-idpriv-drop.su.sh: New file.
41866         * tests/test-idpriv-drop.c: New file.
41867
41868         New module 'idpriv-drop'.
41869         * lib/idpriv.h: New file.
41870         * lib-idpriv-drop.c: New file.
41871         * m4/idpriv.m4: New file.
41872         * modules/idpriv-drop: New file.
41873
41874 2009-06-08  Bruno Haible  <bruno@clisp.org>
41875
41876         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
41877         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41878         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41879         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41880         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41881         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41882         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41883
41884 2009-06-08  Eric Blake  <ebb9@byu.net>
41885
41886         test-strstr: use memory fence, when possible
41887         * tests/test-strstr.c (main): Use memory fence, in order to be
41888         more likely to trigger Debian bug 521737.
41889         * modules/strstr-tests (Files): Pull in additional files.
41890
41891         memchr: no longer obsolete, for wider field testing
41892         * modules/memchr (Status, Notice): Delete, this module is no
41893         longer obsolete.
41894         * modules/vasnprintf (Depends-on): Add memchr.
41895
41896 2009-06-07  Jim Meyering  <meyering@redhat.com>
41897
41898         hash: declare some functions with the warn_unused_result attribute
41899         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
41900
41901 2009-06-07  Bruno Haible  <bruno@clisp.org>
41902
41903         * tests/test-alignof.c: Don't test int64_t if it does not exist.
41904         Reported by Eric Blake.
41905
41906 2009-06-06  Eric Blake  <ebb9@byu.net>
41907
41908         test-alignof: fix typo with long double
41909         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
41910         compiler error.
41911
41912 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
41913
41914         Escape non-texinfo { and }s.
41915         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
41916         markup error.
41917
41918 2009-06-04  Jim Meyering  <meyering@redhat.com>
41919
41920         gitlog-to-changelog: don't infloop on an empty commit log
41921         * build-aux/gitlog-to-changelog: Warn about an empty log message.
41922         Reported by Boris Petersen <transacid@centerim.org>.
41923
41924 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
41925
41926         version-etc: extend for packagers
41927         Add three new configure options, intended for packagers:
41928           --with-packager="packager name"
41929           --with-packager-version="packager-specific version"
41930           --with-packager-bug-reports="packager bug reporting"
41931         An example with coreutils:
41932           $ ./configure \
41933             --with-packager=Gentoo \
41934             --with-packager-bug-report=http://bugs.gentoo.org/ \
41935             --with-packager-version="patchset 1.6"
41936           $ ./src/ls --version | head -n2
41937           ls (GNU coreutils) 7.1-dirty
41938           Packaged by Gentoo (patchset 1.6)
41939         Note that the bug reporting info via --help doesn't show up because
41940         coreutils uses its own custom emit_bug_reporting_address() implementation
41941         in src/system.h.  If it didn't, it'd look like:
41942           $ ./src/ls --help | tail -n4
41943           Report bugs to <bug-coreutils@gnu.org>.
41944           Report Gentoo bugs to <http://bugs.gentoo.org/>.
41945           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
41946           General help using GNU software: <http://www.gnu.org/gethelp/>.
41947         * lib/version-etc.c: Print new information, if provided.
41948         * m4/version-etc.m4: New file.
41949         * modules/version-etc (Files): Add m4/version-etc.m4.
41950         (configure.ac): Add gl_VERSION_ETC.
41951
41952 2009-05-31  Bruno Haible  <bruno@clisp.org>
41953
41954         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
41955         and 'int64_t'.
41956         * modules/alignof-tests (Dependencies): Add stdint.
41957         Reported by Eric Blake.
41958
41959 2009-05-31  Bruno Haible  <bruno@clisp.org>
41960
41961         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
41962         restriction due to compiler bugs.
41963         Reported by Eric Blake.
41964
41965 2009-05-31  Simon Josefsson  <simon@josefsson.org>
41966             Bruno Haible  <bruno@clisp.org>
41967
41968         Fix test-alignof failure.
41969         * lib/alignof.h (alignof_slot): New macro.
41970         (alignof_type): New macro, with the same semantics as the previous
41971         'alignof'.
41972         (alignof): Alias to alignof_slot.
41973         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
41974         check that the results are usable as constant expressions.
41975
41976 2009-05-31  Bruno Haible  <bruno@clisp.org>
41977
41978         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
41979         * tests/test-memchr.c (main): Check that memchr does not read past the
41980         first occurrence of the byte.
41981         * tests/test-strstr.c (main): Update comment.
41982         Suggested by Eric Blake.
41983
41984 2009-05-30  Bruno Haible  <bruno@clisp.org>
41985
41986         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
41987         detail how to use dumpbin.
41988         Reported by David Byron <dbyron@dbyron.com>.
41989
41990 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41991
41992         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
41993
41994 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41995
41996         * m4/manywarnings.m4: Add GCC 4.4 warnings.
41997
41998 2009-05-28  Bruno Haible  <bruno@clisp.org>
41999
42000         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42001         build-aux/ files.
42002
42003 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42004
42005         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42006
42007 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42008
42009         * gnulib-tool (sed_transform_main_lib_file)
42010         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42011         regexps.
42012
42013 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42014
42015         * tests/test-strstr.c: Add another self-test.
42016         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42017         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42018
42019 2009-05-23  Bruno Haible  <bruno@clisp.org>
42020
42021         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42022         change.
42023
42024 2009-05-21  Bruno Haible  <bruno@clisp.org>
42025
42026         Simplify use of mode_t varargs.
42027         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42028         uses 'mode_t' or 'int'.
42029         * lib/openat.c (openat): Likewise.
42030         * lib/open-safer.c (open_safer): Likewise.
42031         * m4/mode_t.m4: New file.
42032         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42033         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42034         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42035         * modules/open (Files): Add m4/mode_t.m4.
42036         * modules/openat (Files): Likewise.
42037         * modules/fcntl-safer (Files): Likewise.
42038         Suggested by Eric Blake.
42039
42040 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42041
42042         * doc/glibc-functions/fallocate.texi: New file.
42043         * doc/gnulib.texi: Include it.
42044
42045 2009-05-21  Eric Blake  <ebb9@byu.net>
42046             Bruno Haible  <bruno@clisp.org>
42047
42048         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42049         invocations.
42050         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42051
42052 2009-05-21  Eric Blake  <ebb9@byu.net>
42053             Bruno Haible  <bruno@clisp.org>
42054
42055         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42056         include_next. Fix of 2008-11-20 commit.
42057         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42058         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42059         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42060         NEXT_MATH_H.
42061         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42062         instead of NEXT_MATH_H.
42063
42064 2009-05-21  Bruno Haible  <bruno@clisp.org>
42065
42066         Avoid redefinition warnings for SIZE_MAX.
42067         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42068         Reported by Simon Josefsson.
42069
42070 2009-05-21  Bruno Haible  <bruno@clisp.org>
42071
42072         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42073         AC_CACHE_VAL.
42074
42075 2009-05-20  Bruno Haible  <bruno@clisp.org>
42076
42077         Make zeroptr.h work on mingw.
42078         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42079         mprotect.
42080         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42081         * modules/memchr2-tests (configure.ac): Likewise.
42082         * modules/memcmp-tests (configure.ac): Likewise.
42083         * modules/memmem-tests (configure.ac): Likewise.
42084         * modules/memrchr-tests (configure.ac): Likewise.
42085         Reported by Simon Josefsson.
42086
42087 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42088
42089         * tests/test-glob.c: Include string.h for strcmp prototype.
42090
42091 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42092
42093         * modules/getdelim (Depends-on): Add explicit stdint, although it
42094         was implicitly already pulled in via realloc-posix.
42095         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42096
42097 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42098
42099         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42100         G. Christensen" <tgc@jupiterrise.com>.
42101         * m4/sys_socket_h.m4: Check for sa_family_t.
42102         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42103         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42104         * tests/test-sys_socket.c: Check that sa_family_t works.
42105
42106 2009-05-18  Eric Blake  <ebb9@byu.net>
42107
42108         maint.mk: allow gnulib_dir in VPATH build
42109         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42110
42111 2009-05-15  Jim Meyering  <meyering@redhat.com>
42112
42113         maint.mk: Give gnulib_dir a default definition.
42114         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42115         Thus, most packages no longer need to specify this variable in cfg.mk
42116
42117 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42118
42119         rename.m4: fix typos that would make non-mingw cross-configure fail
42120         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42121
42122 2009-05-13  Eric Blake  <ebb9@byu.net>
42123
42124         mmap-anon: avoid out-of-order autoconf expansion
42125         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42126         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42127         * modules/memchr-tests (Depends-on): Add extensions.
42128         * modules/memchr2-tests (Depends-on): Add extensions.
42129         * modules/memcmp-tests (Depends-on): Add extensions.
42130         * modules/memmem-tests (Depends-on): Add extensions.
42131         * modules/memrchr-tests (Depends-on): Add extensions.
42132
42133 2009-05-13  Bruno Haible  <bruno@clisp.org>
42134
42135         Make some tests ISO C 99 compliant.
42136         * tests/zerosize-ptr.h: New file.
42137         * tests/test-memchr.c: Include zerosize-ptr.h.
42138         (main): Use a zero-size object pointer instead of NULL.
42139         * tests/test-memchr2.c: Include zerosize-ptr.h.
42140         (main): Use a zero-size object pointer instead of NULL.
42141         * tests/test-memcmp.c: Include zerosize-ptr.h.
42142         (main): Use a zero-size object pointer instead of NULL.
42143         * tests/test-memmem.c: Include zerosize-ptr.h.
42144         (main): Use a zero-size object pointer instead of NULL.
42145         * tests/test-memrchr.c: Include zerosize-ptr.h.
42146         (main): Use a zero-size object pointer instead of NULL.
42147         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42148         m4/mmap-anon.m4.
42149         (Depends-on): Add getpagesize.
42150         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42151         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42152         m4/mmap-anon.m4.
42153         (Depends-on): Add getpagesize.
42154         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42155         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
42156         m4/mmap-anon.m4.
42157         (Depends-on): Add getpagesize.
42158         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42159         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
42160         m4/mmap-anon.m4.
42161         (Depends-on): Add getpagesize.
42162         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42163         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
42164         m4/mmap-anon.m4.
42165         (Depends-on): Add getpagesize.
42166         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42167
42168 2009-05-12  Bruno Haible  <bruno@clisp.org>
42169
42170         Tests for module 'alignof'.
42171         * modules/alignof-tests: New file.
42172         * tests/test-alignof.c: New file.
42173
42174 2009-05-12  Bruno Haible  <bruno@clisp.org>
42175
42176         Fix alignof macro.
42177         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42178         vendor compilers that are always correct.
42179
42180 2009-05-12  Bruno Haible  <bruno@clisp.org>
42181
42182         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42183         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42184         not whether its fully works.
42185
42186 2009-05-12  Bruno Haible  <bruno@clisp.org>
42187
42188         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
42189
42190 2009-05-12  Jim Meyering  <meyering@redhat.com>
42191
42192         * top/maint.mk: Adjust backslash alignment.
42193
42194 2009-05-11  Simon Josefsson  <simon@josefsson.org>
42195
42196         * top/maint.mk: Make $(srcdir)/build-aux configurable.
42197
42198 2009-05-11  Eric Blake  <ebb9@byu.net>
42199
42200         argp: avoid undefined behavior
42201         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
42202         macros.
42203
42204 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42205
42206         * tests/test-vc-list-files-git.sh: Do git config of user.email and
42207         user.name to prevent git commit from complaining.
42208
42209 2009-05-10  Bruno Haible  <bruno@clisp.org>
42210
42211         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
42212         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
42213         it rewrites every file name only once.
42214         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
42215
42216 2009-05-08  Bruno Haible  <bruno@clisp.org>
42217
42218         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
42219         instead of 'max'.
42220
42221 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42222
42223         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
42224         sockaddr_storage test.
42225
42226 2009-05-07  Simon Josefsson  <simon@josefsson.org>
42227
42228         * modules/sys_socket (Makefile.am): Substitute
42229         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
42230         * m4/sys_socket_h.m4: Check for sockaddr_storage.
42231         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
42232         * tests/test-sys_socket.c: Check sockaddr_storage.
42233
42234 2009-05-08  Bruno Haible  <bruno@clisp.org>
42235
42236         New module 'alignof'.
42237         * lib/alignof.h: New file.
42238         * modules/alignof: New file.
42239
42240 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42241             Bruno Haible  <bruno@clisp.org>
42242
42243         Fix test-file-has-acl on FreeBSD.
42244         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
42245         mask is implicitly added.
42246         * tests/test-file-has-acl.c: Include <signal.h>.
42247         (main): Terminate the test after 5 seconds.
42248         * modules/acl-tests (configure.ac): Check for alarm function.
42249
42250 2009-05-04  Bruno Haible  <bruno@clisp.org>
42251
42252         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
42253         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
42254         * modules/errno (configure.ac): Drop AC_REQUIRE.
42255         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
42256         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
42257
42258 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42259
42260         * modules/glob-tests: New module.
42261         * tests/test-glob.c: Add.
42262
42263 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42264
42265         * modules/fnmatch-tests: New module.
42266         * tests/test-fnmatch.c: Add.
42267
42268 2009-05-04  Eric Blake  <ebb9@byu.net>
42269
42270         maint: make the new no-submodule-changes rule VPATH-safe
42271         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
42272
42273 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42274             Bruno Haible  <bruno@clisp.org>
42275
42276         acl: Fix infinite loop on FreeBSD.
42277         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
42278         of return value from acl_get_entry.
42279         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
42280         Likewise.
42281
42282 2009-05-03  Bruno Haible  <bruno@clisp.org>
42283
42284         * lib/acl-internal.h (acl_entries): Clarify return value.
42285         * lib/acl_entries.c (acl_entries): Likewise.
42286
42287 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42288
42289         Bug fix in acl module.
42290         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
42291
42292 2009-05-03  Bruno Haible  <bruno@clisp.org>
42293
42294         Create gperf-generated file in the source dir, not in the build dir.
42295         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
42296         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
42297         * modules/unicase/locale-language (unicase/locale-languages.h):
42298         Likewise.
42299         * modules/unicase/special-casing (unicase/special-casing-table.h):
42300         Likewise.
42301         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
42302         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
42303         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
42304         Reported by Ralf Wildenhues.
42305
42306 2009-05-03  Bruno Haible  <bruno@clisp.org>
42307
42308         * modules/fnmatch (Description, configure.ac): Taken from
42309         fnmatch-posix.
42310         * modules/fnmatch-posix: Turn into a symbolic reference to the
42311         'fnmatch' module, and deprecate.
42312         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
42313
42314 2009-05-03  Bruno Haible  <bruno@clisp.org>
42315
42316         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
42317         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
42318         Reported by Ralf Wildenhues.
42319
42320 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42321
42322         * m4/fnmatch.m4: Fix fnmatch re-define.
42323
42324 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42325
42326         priv-set: new module and tests; adapt write-any-file
42327         * lib/priv-set.c: New file.
42328         * lib/priv-set.h: New file.
42329         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
42330         * lib/write-any-file.c: Simplify by using priv-set module.
42331         * m4/priv-set.m4: New file.
42332         * modules/priv-set: New file.
42333         * modules/unlinkdir: Add dependency on priv-set module.
42334         * modules/write-any-file: Likewise.
42335
42336         Tests for module 'priv-set'.
42337         * modules/priv-set-tests: New file.
42338         * tests/test-priv-set.c: New file.
42339
42340 2009-05-03  Jim Meyering  <meyering@redhat.com>
42341             Bruno Haible  <bruno@clisp.org>
42342
42343         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
42344         use the converted UTF-8 variant of the name instead.
42345
42346 2009-05-03  Jim Meyering  <meyering@redhat.com>
42347
42348         tests: tighten some getdate tests
42349         * tests/test-getdate.c (main): Tighten tests: require equality,
42350         not just greater than.  Set TZ envvar to UTC0.
42351
42352 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
42353
42354         getdate: correctly interpret "next monday" when run on a Monday
42355         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
42356         that e.g., "next tues" (when run on a tuesday) results in a date
42357         that is one week in the future, and not today's date.
42358         I.e., add a week when the wday is the same as the current one.
42359         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
42360         and earlier by Martin Bernreuther and Jan Minář.
42361         * tests/test-getdate.c (main): Check that "next DAY" is always in
42362         the future and that "last DAY" is always in the past.
42363
42364 2009-05-02  Jim Meyering  <meyering@redhat.com>
42365
42366         build: ensure that a release build fails when a submodule is unclean
42367         * top/maint.mk (no-submodule-changes): New rule.
42368         (alpha beta major): Depend on it.
42369
42370 2009-05-02  Bruno Haible  <bruno@clisp.org>
42371
42372         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
42373         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
42374         shell variable gl_fnmatch_required to detect which variant is
42375         requested.
42376         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
42377         gl_FUNC_FNMATCH_POSIX.
42378         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
42379         exclude fnmatch-posix.
42380
42381 2009-05-02  Bruno Haible  <bruno@clisp.org>
42382
42383         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
42384         * modules/mbsrtowcs (License): Change to LGPLv2+.
42385         * modules/strnlen1 (License): Likewise.
42386         Reported by Simon Josefsson.
42387
42388 2009-05-02  Bruno Haible  <bruno@clisp.org>
42389
42390         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
42391         "cross".
42392         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
42393         gnulib-tool was called with option --source-base=lib.
42394
42395 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42396
42397         Use automake *-local hooks without commands, for extensibility.
42398         * modules/localcharset (Makefile.am): Rename install-exec-local
42399         rule to install-exec-localcharset, and make it a prerequisite of
42400         install-exec-local.  Likewise, rename the uninstall-local rule to
42401         uninstall-localcharset, and make it a prerequisite of the former.
42402
42403 2009-05-01  Bruno Haible  <bruno@clisp.org>
42404
42405         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
42406         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42407         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
42408         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
42409         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
42410         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42411         m4/locale-zh.m4, m4/codeset.m4.
42412
42413         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42414         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
42415         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42416         m4/locale-zh.m4.
42417
42418         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
42419         REPLACE_WCRTOMB if mbstate_t must be replaced.
42420         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
42421         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
42422
42423 2009-05-01  Bruno Haible  <bruno@clisp.org>
42424
42425         Avoid compiler warnings when redefining macros defined by <libintl.h>.
42426         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
42427         dngettext, dcngettext, textdomain, bindtextdomain,
42428         bind_textdomain_codeset): Undefine before redefining.
42429
42430 2009-04-30  Bruno Haible  <bruno@clisp.org>
42431
42432         Fix bug introduced on 2009-04-25.
42433         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
42434         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
42435         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
42436         is defined.
42437         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
42438         is defined.
42439         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
42440         is defined.
42441         Reported by Elbert_Pol <elbert.pol@gmail.com>.
42442
42443 2009-04-28  Bruno Haible  <bruno@clisp.org>
42444
42445         Comment tweaks.
42446         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
42447         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
42448         * lib/unicase.h (u*_casexfrm): Likewise.
42449         Reported by Paolo Bonzini.
42450
42451 2009-04-28  Bruno Haible  <bruno@clisp.org>
42452
42453         Fix a compilation error.
42454         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
42455         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
42456         Reported by Jim Meyering.
42457
42458 2009-04-27  Bruno Haible  <bruno@clisp.org>
42459
42460         New module 'libunistring'.
42461         * modules/libunistring: New file.
42462         * m4/libunistring.m4: New file.
42463         * MODULES.html.sh (Unicode string functions): Add it.
42464
42465 2009-04-27  Eric Blake  <ebb9@byu.net>
42466
42467         maint.mk: allow package-specific header to provide <config.h>
42468         * top/maint.mk (sc_require_config_h): New variable.
42469         (sc_require_config_h, sc_require_config_h_first): Use it.
42470
42471 2009-04-27  Simon Josefsson  <simon@josefsson.org>
42472
42473         * top/maint.mk (sc_avoid_if_before_free): Except
42474         useless-if-before-free script.
42475
42476 2009-04-27  Eric Blake  <ebb9@byu.net>
42477
42478         maintainer-makefile: depend on all required helper scripts
42479         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
42480         useless-if-before-free.
42481         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
42482         version, rather than assuming gnulib checkout is available.
42483         Reported by Simen Josefsson.
42484
42485 2009-04-26  Bruno Haible  <bruno@clisp.org>
42486
42487         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
42488         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
42489         "../" or "..".
42490
42491 2009-04-26  Bruno Haible  <bruno@clisp.org>
42492
42493         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
42494         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
42495         AC_LIB_HAVE_LINKFLAGS.
42496
42497 2009-04-26  Bruno Haible  <bruno@clisp.org>
42498
42499         Simplify calling convention of u*_conv_from_encoding.
42500         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
42501         u32_conv_from_encoding): Expect a resultbuf argument and return the
42502         result directly as a pointer.
42503         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
42504         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
42505         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
42506         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
42507         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
42508         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42509         Update.
42510         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
42511         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
42512         * lib/vasnprintf.c (VASNPRINTF): Update.
42513         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
42514         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
42515         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
42516         * NEWS: Mention the change.
42517
42518 2009-04-26  Bruno Haible  <bruno@clisp.org>
42519
42520         Simplify calling convention of u*_conv_to_encoding.
42521         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
42522         u32_conv_to_encoding): Expect a resultbuf argument and return the
42523         result directly as a pointer.
42524         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42525         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
42526         freeing scaled_offsets if mem_iconveha failed.
42527         * lib/unicase/u-casexfrm.h (FUNC): Update.
42528         * lib/uninorm/u-normxfrm.h (FUNC): Update.
42529         * lib/vasnprintf.c (VASNPRINTF): Update.
42530         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
42531         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
42532         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
42533         * NEWS: Mention the change.
42534
42535 2009-04-26  Bruno Haible  <bruno@clisp.org>
42536
42537         Avoid test failures on AIX and OSF/1.
42538         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
42539         malloc(0).
42540         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42541         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42542         Likewise.
42543         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
42544         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
42545         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
42546         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
42547         * doc/posix-functions/malloc.texi: Document the portability problem
42548         related to malloc(0).
42549
42550 2009-04-26  Bruno Haible  <bruno@clisp.org>
42551
42552         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
42553         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
42554         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
42555
42556 2009-04-25  Bruno Haible  <bruno@clisp.org>
42557
42558         Avoid link error when creating a namespace clean library.
42559         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
42560         as macro with arguments if already defined as an alias.
42561         * lib/signbitf.c (gl_signbitf): Don't undefine.
42562         * lib/signbitd.c (gl_signbitd): Don't undefine.
42563         * lib/signbitl.c (gl_signbitl): Don't undefine.
42564
42565 2009-04-25  Jim Meyering  <meyering@redhat.com>
42566
42567         vc-list-files: fix another quoting bug
42568         * build-aux/vc-list-files: Avoid sed backslash expansion
42569         of pathological directory names.
42570
42571 2009-04-25  Eric Blake  <ebb9@byu.net>
42572
42573         vc-list-files: fix shell quoting error
42574         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
42575         timestamp.
42576
42577 2009-04-25  Jim Meyering  <meyering@redhat.com>
42578
42579         vc-list-files: restore lost functionality with subdir argument
42580         * build-aux/vc-list-files: When given a non-"." sub-directory
42581         argument, substitute the $dir/ prefix back onto each resulting name.
42582         Otherwise, coreutils' root_tests check would fail.
42583
42584 2009-04-24  Eric Blake  <ebb9@byu.net>
42585
42586         vc-list-files: ignore git symlinks
42587         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
42588         than ls-files, to ignore git symlinks.
42589
42590         maint.mk: import improvements from m4
42591         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
42592         (move_if_change): Delete unused macro.
42593         (news-date-check, vc-diff-check): Support VPATH builds.
42594         (announcement): Likewise.  Split --bootstrap-tools list...
42595         (boostrap-tools): ...into separate list, which can be overridden
42596         in cfg.mk.
42597         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
42598         requiring dependency on useless-if-before-free module.
42599         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
42600         Support VPATH builds.
42601
42602 2009-04-24  Jim Meyering  <meyering@redhat.com>
42603
42604         maint.mk: remove coreutils-specific rules and variables
42605         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
42606         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
42607         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
42608
42609         maint.mk: remove obsolete rule
42610         * top/maint.mk (rel-check): Remove rule.
42611         (WGET, WGETFLAGS): Remove now-unused variables.
42612
42613 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42614
42615         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
42616         consistency.
42617
42618         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
42619         '$(PATH_SEPARATOR)' instead of ':'.
42620
42621 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42622
42623         * lib/getopt1.c (main): Use 'const' for static array.
42624
42625 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42626
42627         * top/maint.mk: Sync with coreutils.
42628         * NEWS: Explain incompatibilities.
42629
42630 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42631             Bruno Haible  <bruno@clisp.org>
42632
42633         Fix cross-compilation results.
42634         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
42635         statement, as third argument of AC_TRY_RUN.
42636         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
42637         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
42638         Likewise.
42639         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
42640         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
42641         Likewise.
42642         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
42643         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
42644         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
42645
42646 2009-04-20  Bruno Haible  <bruno@clisp.org>
42647
42648         Avoid test failure on mingw.
42649         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
42650
42651 2009-04-20  Bruno Haible  <bruno@clisp.org>
42652
42653         Avoid compilation error on mingw.
42654         * modules/localename-tests (Depends-on): Add locale.
42655
42656 2009-04-19  Bruno Haible  <bruno@clisp.org>
42657
42658         Support for building a shared library on Windows platforms.
42659         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
42660         (main): Test the presence of UNINORM_NFC here.
42661         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
42662         (main): Test the presence of UNINORM_NFD here.
42663         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
42664         (main): Test the presence of UNINORM_NFKC here.
42665         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
42666         (main): Test the presence of UNINORM_NFKD here.
42667
42668 2009-04-19  Bruno Haible  <bruno@clisp.org>
42669
42670         Avoid a compiler warning.
42671         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
42672         Change type of variable 'sequence'.
42673
42674 2009-04-19  Bruno Haible  <bruno@clisp.org>
42675
42676         * modules/configmake (Makefile.am): When the contents of configmake.h
42677         does not change, arrange to preserve its modification time.
42678
42679 2009-04-17  Simon Josefsson  <simon@josefsson.org>
42680
42681         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
42682         gettext domain.
42683
42684 2009-04-16  Jim Meyering  <meyering@redhat.com>
42685
42686         useless-if-before-free: improve conversion code
42687         * build-aux/useless-if-before-free: Adjust code-in-comment to match
42688         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
42689
42690 2009-04-14  Bruno Haible  <bruno@clisp.org>
42691
42692         * modules/fcntl (Depends-on): Add extensions.
42693         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
42694
42695 2009-04-12  Ben Pfaff  <blp@gnu.org>
42696
42697         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
42698         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
42699
42700 2009-03-20  Ben Pfaff  <blp@gnu.org>
42701
42702         Make rename replace existing destinations on Windows.
42703         * m4/rename.m4: Add test for Mingw.
42704         * lib/rename.c: Add rename replacement that uses MoveFileEx with
42705         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
42706         * doc/posix-functions/rename.texi: Document.
42707
42708 2009-04-10  Bruno Haible  <bruno@clisp.org>
42709
42710         New include file "iconveh.h".
42711         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
42712         * lib/striconveh.h: Include it.
42713         (enum iconv_ilseq_handler): Remove definition.
42714         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
42715         striconveh.h.
42716         * lib/striconveha.c: Include striconveh.h.
42717         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
42718         * modules/striconveh (Files): Add lib/iconveh.h.
42719         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
42720         lib/striconveh.h.
42721
42722 2009-04-10  Bruno Haible  <bruno@clisp.org>
42723
42724         * lib/uniconv.h: Update comment.
42725
42726 2009-04-10  Bruno Haible  <bruno@clisp.org>
42727
42728         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
42729         always.
42730         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
42731         * lib/unistr/u16-mbtouc-aux.c: Likewise.
42732         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
42733         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
42734         "unistring-notinline.h", so that the function gets defined always.
42735         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
42736         * lib/unistr/u8-uctomb.c: Likewise.
42737         * lib/unistr/u16-mbtouc.c: Likewise.
42738         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
42739         * lib/unistr/u16-uctomb.c: Likewise.
42740         * lib/unistr/u32-mbtouc.c: Likewise.
42741         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
42742         * lib/unistr/u32-uctomb.c: Likewise.
42743
42744 2009-04-10  Bruno Haible  <bruno@clisp.org>
42745
42746         Mark 'utime' obsolete.
42747         * modules/utime (Status, Notice): New sections.
42748         Suggested by Jim Meyering.
42749
42750         Fix cross-compile guess for utime test.
42751         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
42752         autoconf.
42753         * doc/posix-functions/utime.texi: Give more precisions.
42754         Reported by Jan <ipif@ymail.com>.
42755
42756 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
42757
42758         filevercmp: correct today's change
42759         * lib/filevercmp.c: Also handle coreutils' test inputs.
42760         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
42761
42762         Fix regression in 'filevercmp' module. Thanks Sven Joachim
42763         for reporting it.
42764         * lib/filevercmp.c: Special handle for "", "." and "..".
42765         * tests/test-filevercmp.c: Enlarge the set suite.
42766
42767 2009-04-07  Jim Meyering  <meyering@redhat.com>
42768
42769         useless-if-before-free: show how to remove braced useless free, too
42770         * build-aux/useless-if-before-free: still only in a comment, though.
42771
42772 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
42773
42774         maint.mk: import changes to syntax-check macros from coreutils
42775         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
42776         Use them in the relevant macros.
42777
42778 2009-04-06  Bruno Haible  <bruno@clisp.org>
42779
42780         Fix unportable use of bit-fields.
42781         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
42782         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
42783         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
42784
42785 2009-04-06  Bruno Haible  <bruno@clisp.org>
42786
42787         Avoid test failures on AIX and OSF/1.
42788         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
42789         that malloc(0) = NULL.
42790         * tests/unicase/test-u8-tolower.c (check): Likewise.
42791         * tests/unicase/test-u8-totitle.c (check): Likewise.
42792         * tests/unicase/test-u8-toupper.c (check): Likewise.
42793         * tests/unicase/test-u16-casefold.c (check): Likewise.
42794         * tests/unicase/test-u16-tolower.c (check): Likewise.
42795         * tests/unicase/test-u16-totitle.c (check): Likewise.
42796         * tests/unicase/test-u16-toupper.c (check): Likewise.
42797         * tests/unicase/test-u32-casefold.c (check): Likewise.
42798         * tests/unicase/test-u32-tolower.c (check): Likewise.
42799         * tests/unicase/test-u32-totitle.c (check): Likewise.
42800         * tests/unicase/test-u32-toupper.c (check): Likewise.
42801         * tests/uninorm/test-u8-nfc.c (check): Likewise.
42802         * tests/uninorm/test-u8-nfd.c (check): Likewise.
42803         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
42804         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
42805         * tests/uninorm/test-u16-nfc.c (check): Likewise.
42806         * tests/uninorm/test-u16-nfd.c (check): Likewise.
42807         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
42808         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
42809         * tests/uninorm/test-u32-nfc.c (check): Likewise.
42810         * tests/uninorm/test-u32-nfd.c (check): Likewise.
42811         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
42812         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
42813
42814 2009-04-05  Bruno Haible  <bruno@clisp.org>
42815
42816         Work around an autoconf limitation.
42817         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
42818         comment line if it would be longer than 3 KB.
42819
42820 2009-04-05  Bruno Haible  <bruno@clisp.org>
42821
42822         Avoid test failure with libiconv-1.13.
42823         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
42824         of the expected test results.
42825
42826 2009-04-05  Bruno Haible  <bruno@clisp.org>
42827
42828         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
42829         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
42830         that it should be installed.
42831
42832 2009-04-05  Bruno Haible  <bruno@clisp.org>
42833
42834         * gnulib-tool: New option --copy-file.
42835         (func_usage): Document it.
42836         (func_dest_tmpfilename): Moved out of func_import.
42837         (func_add_file, func_update_file): New functions, extracted from
42838         func_import.
42839         (func_import): Update.
42840
42841 2009-04-05  Karl Berry  <karl@gnu.org>
42842
42843         * README: prominently mention gnulib-tool.
42844         Rearrange sections so getting the code is near the top.
42845
42846 2009-04-05  Bruno Haible  <bruno@clisp.org>
42847
42848         * lib/unicase.h: Mention u*_cmp2.
42849         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42850         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
42851         * lib/unicase/ulc-casecmp.c: Likewise.
42852         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
42853         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
42854         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
42855         unistr/u8-cmp.
42856         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
42857         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
42858         unistr/u16-cmp.
42859         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
42860         unistr/u32-cmp.
42861
42862         * lib/uninorm.h: Mention u*_cmp2.
42863         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42864         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
42865         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
42866         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
42867         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
42868         unistr/u8-cmp.
42869         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
42870         unistr/u16-cmp.
42871         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
42872         unistr/u32-cmp.
42873
42874         New module 'unistr/u32-cmp2'.
42875         * lib/unistr/u32-cmp2.c: New file.
42876         * modules/unistr/u32-cmp2: New file.
42877
42878         New module 'unistr/u16-cmp2'.
42879         * lib/unistr/u16-cmp2.c: New file.
42880         * modules/unistr/u16-cmp2: New file.
42881
42882         New module 'unistr/u8-cmp2'.
42883         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
42884         * lib/unistr/u8-cmp2.c: New file.
42885         * lib/unistr/u-cmp2.h: New file.
42886         * modules/unistr/u8-cmp2: New file.
42887
42888 2009-04-05  Bruno Haible  <bruno@clisp.org>
42889
42890         * lib/unictype.h (uc_property_is_valid): New macro.
42891         * tests/unictype/test-pr_byname.c (main): Use it.
42892
42893         * lib/unistr.h: Doc fixes.
42894         * lib/uniconv.h: Doc fixes.
42895         * lib/unictype.h: Doc fixes.
42896
42897 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42898
42899         Port coreutils 7.2 to Solaris 8.
42900
42901         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
42902         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
42903         for Solaris 8.  This is a bit of a hack, as it means it's the
42904         caller's responsibility to add -lnsl if needed, but most likely it
42905         won't be needed since only getaddrinfo uses this and getaddrinfo
42906         isn't needed on Solaris 8.
42907
42908         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
42909         problem to Solaris 8 encountered with coreutils 7.2, which
42910         resulted in a message "fnmatch.c:292: warning: passing argument 4
42911         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
42912         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
42913
42914 2009-04-03  Simon Josefsson  <simon@josefsson.org>
42915
42916         * m4/ld-version-script.m4: Add FIXME comment.
42917
42918 2009-04-02  Simon Josefsson  <simon@josefsson.org>
42919
42920         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
42921         SOVERSION variable.
42922
42923 2009-04-02  Bruno Haible  <bruno@clisp.org>
42924
42925         * Makefile (info, html, dvi, pdf): Combine the rules.
42926         Suggested by Jim Meyering.
42927
42928 2009-04-01  Bruno Haible  <bruno@clisp.org>
42929
42930         * Makefile (info, html, dvi, pdf): New targets.
42931         Reported by Reuben Thomas <rrt@sc3d.org>.
42932
42933 2009-04-01  Bruno Haible  <bruno@clisp.org>
42934
42935         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
42936         can be put into PATH.
42937         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
42938
42939 2009-04-01  Bruno Haible  <bruno@clisp.org>
42940
42941         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
42942
42943 2009-04-01  Bruno Haible  <bruno@clisp.org>
42944
42945         Rename module 'visibility'.
42946         * modules/lib-symbol-visibility: Renamed from modules/visibility.
42947         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
42948         * doc/gnulib.texi: Update.
42949         * MODULES.html.sh (Misc): Update.
42950         * NEWS: Mention the change.
42951
42952 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42953
42954         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
42955         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
42956         Eric Blake <ebb9@byu.net> for review.
42957         * MODULES.html.sh: Add lib-msvc-compat.
42958         * doc/gnulib.texi: Link to new section.
42959         * m4/ld-output-def.m4: New file.
42960         * doc/ld-output-def.texi: New file.
42961
42962 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42963
42964         Rename ld-version-script to lib-symbol-versions.  Suggested by
42965         Bruno Haible <bruno@clisp.org>.
42966         * modules/ld-version-script: Renamed to lib-symbol-versions.
42967         * doc/ld-version-script.texi: Fix module name.
42968         * MODULES.html.sh: Add lib-symbol-versions.
42969
42970 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42971
42972         * modules/u64-tests: New file.
42973         * tests/test-u64.c: New file.
42974
42975 2009-03-04  Simon Josefsson  <simon@josefsson.org>
42976
42977         * MODULES.html.sh: Mention u64.
42978         * modules/u64: New module.
42979         * modules/crypto/sha512: Depend on u64 module instead of providing
42980         u64.h.
42981
42982 2009-03-27  Eric Blake  <ebb9@byu.net>
42983
42984         test-strerror: make debugging EAI_SYSTEM easier
42985         * modules/getaddrinfo-tests (Depends-on): Add strerror.
42986         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
42987         failure was EAI_SYSTEM.
42988
42989 2009-03-25  Bruno Haible  <bruno@clisp.org>
42990
42991         Fix a problem with --enable-relocatable on Solaris 7.
42992         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
42993         since 2008-02-24.
42994
42995 2009-03-25  Eric Blake  <ebb9@byu.net>
42996
42997         test-sockets: avoid gcc warning
42998         * tests/test-sockets.c (main): Silence compiler warning.
42999
43000 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43001
43002         New modules nproc, pthread, contributed by Glen Lenker.
43003
43004         * MODULES.html.sh: Add pthread, nproc.
43005         * lib/nproc.c: New file.
43006         * lib/nproc.h: New file.
43007         * lib/pthread.in.h: New file.
43008         * m4/pthread.m4: New file.
43009         * modules/nproc: New file.
43010         * modules/pthread: New file.
43011
43012 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43013
43014         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43015         New variable.
43016
43017 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43018
43019         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43020         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43021         * tests/test-filevercmp.c: Add tests for backup suffixes.
43022
43023 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43024
43025         * modules/stdlib (Depends-on): Add stdint, needed when defining
43026         struct random_data on, for example, HP-UX 10.20.  Reported by
43027         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43028
43029 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43030
43031         * lib/readline.c (readline): Call fflush on stdout after printing
43032         prompt.
43033
43034 2009-03-20  Bruno Haible  <bruno@clisp.org>
43035
43036         Remove dependency from 'close' module to -lws2_32 on native Windows.
43037         * lib/close-hook.h: New file.
43038         * lib/close-hook.c: New file.
43039         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43040         w32sock.h.
43041         (_gl_close_fd_maybe_socket): Remove function.
43042         (rpl_close): Invoke execute_all_close_hooks instead of
43043         _gl_close_fd_maybe_socket.
43044         * lib/sockets.c: Include close-hook.h, w32sock.h.
43045         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43046         (close_sockets_hook): New variable.
43047         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43048         (gl_sockets_cleanup): Unregister it.
43049         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43050         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43051         * modules/close-hook: New file.
43052         * modules/close (Files): Remove lib/w32sock.h.
43053         (Depends-on): Add close-hook.
43054         (Link): Remove section.
43055         * modules/sockets (Files): Add lib/w32sock.h.
43056         (Depends-on): Add close-hook.
43057         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43058         invocation.
43059         * NEWS: Mention that LIB_CLOSE is gone.
43060
43061 2009-03-23  Eric Blake  <ebb9@byu.net>
43062
43063         signal-tests: test previous patch
43064         * tests/test-signal.c: New file.
43065         * modules/signal-tests: Likewise.
43066
43067         signal.h: always support 'volatile sig_atomic_t'
43068         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43069         (gl_SIGNAL_H_DEFAULTS): Add a default.
43070         * modules/signal (Makefile.am): Substitute if needed.
43071         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43072         users can blindly add volatile.
43073         * doc/posix-headers/signal.texi (signal.h): Document it.
43074         Reported by Matthew Woehlke.
43075
43076 2009-03-23  Jim Meyering  <meyering@redhat.com>
43077
43078         pathmax: PATH_MAX: use pathconf only when available
43079         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43080         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43081         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43082         This avoids a link failure in a PSP cross-compilation environment
43083         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43084
43085         * lib/vasnprintf.c (divide): Fix typo in comment.
43086
43087 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43088
43089         * gnulib-tool (func_filter_filelist): Fix comment.
43090
43091 2009-03-20  Bruno Haible  <bruno@clisp.org>
43092
43093         Make sockets.h self-contained.
43094         * lib/sockets.c: Include sockets.h first.
43095         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43096
43097 2009-03-19  Eric Blake  <ebb9@byu.net>
43098
43099         doc: mention more functions added in cygwin 1.7.0
43100         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43101         addition.
43102         * doc/posix-functions/log2f.texi: Likewise.
43103
43104 2009-03-19  Jim Meyering  <meyering@redhat.com>
43105
43106         fsusage: avoid syntax error due to statement-before-declaration
43107         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43108         after all declarations.  Reported by Matthew Woehlke in
43109         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43110
43111 2009-03-18  Eric Blake  <ebb9@byu.net>
43112
43113         build-aux/compile: sync from automake
43114         * build-aux/compile: New file, from automake.
43115         * config/srclist.txt: Mention build-aux/compile.
43116
43117 2009-03-17  Bruno Haible  <bruno@clisp.org>
43118
43119         * lib/git-merge-changelog.c: Fix typo in comment.
43120         Reported by Reuben Thomas <rrt@sc3d.org>.
43121
43122 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43123
43124         * m4/regex.m4: update and improve help for
43125         --without-included-regex.
43126
43127 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43128
43129         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43130         failure on missing include files.
43131
43132 2009-03-17  Eric Blake  <ebb9@byu.net>
43133
43134         doc: mention more functions added in cygwin 1.7.0
43135         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43136         addition.
43137         * doc/posix-functions/fwscanf.texi: Likewise.
43138         * doc/posix-functions/swprintf.texi: Likewise.
43139         * doc/posix-functions/swscanf.texi: Likewise.
43140         * doc/posix-functions/vfwprintf.texi: Likewise.
43141         * doc/posix-functions/vfwscanf.texi: Likewise.
43142         * doc/posix-functions/vswprintf.texi: Likewise.
43143         * doc/posix-functions/vswscanf.texi: Likewise.
43144         * doc/posix-functions/vwprintf.texi: Likewise.
43145         * doc/posix-functions/vwscanf.texi: Likewise.
43146         * doc/posix-functions/wcscasecmp.texi: Likewise.
43147         * doc/posix-functions/wcsdup.texi: Likewise.
43148         * doc/posix-functions/wcsftime.texi: Likewise.
43149         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43150         * doc/posix-functions/wprintf.texi: Likewise.
43151         * doc/posix-functions/wscanf.texi: Likewise.
43152         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43153
43154 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43155
43156         maint.mk: really add $(AM_MAKEFLAGS)
43157         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
43158         was inadvertently omitted in the last commit.
43159         Spotted by Bruno Haible.
43160
43161         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
43162         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
43163         $(AM_MAKEFLAGS)' rather than plain `make'.
43164
43165         gnulib-tool: execute $MAKE not make
43166         * gnulib-tool: Default $MAKE to 'make'.
43167         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
43168         than make.  Initialize $MAKE in the do-autobuild script.
43169
43170         gnulib-tool: use $MAKE not make in generated files
43171         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43172         make, in generated files.  Initialize $MAKE in the do-autobuild
43173         script.
43174
43175         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43176
43177         GNUmakefile: disable parallelism only for multiple, recursive targets
43178         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43179         additions in the Makefile.
43180         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43181         by Automake.
43182         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43183         are listed on the command line and at least one of them is
43184         listed in $(ALL_RECURSIVE_TARGETS).
43185
43186 2009-03-14  Bruno Haible  <bruno@clisp.org>
43187
43188         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
43189         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
43190         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
43191         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
43192         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
43193         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
43194         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
43195         unistr/u8-uctomb.
43196         * modules/unistr/u8-strchr (Depends-on): Likewise.
43197         * modules/unistr/u8-strrchr (Depends-on): Likewise.
43198         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
43199         unistr/u16-uctomb.
43200         * modules/unistr/u16-strchr (Depends-on): Likewise.
43201         * modules/unistr/u16-strrchr (Depends-on): Likewise.
43202
43203 2009-03-12  Bruno Haible  <bruno@clisp.org>
43204
43205         Work around select() bug on Interix 3.5.
43206         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
43207         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
43208         * m4/select.m4: New file.
43209         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
43210         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
43211         * modules/select (Files): Add m4/select.m4.
43212         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
43213         * modules/nanosleep (Depends-on): Add select.
43214         * modules/poll (Depends-on): Likewise.
43215         * doc/posix-functions/select.texi: Mention the Interix bug.
43216         Reported by Markus Duft <mduft@gentoo.org>.
43217
43218         * lib/select.c: Renamed from lib/winsock-select.c.
43219         * modules/select (Files): Add lib/select.c, remove
43220         lib/winsock-select.c.
43221         (configure.ac): Update.
43222
43223 2009-03-12  Jim Meyering  <meyering@redhat.com>
43224
43225         avoid gcc warnings about unused macro definitions
43226         * lib/readtokens.c (STREQ): Remove unused definition.
43227         * lib/xmalloc.c (SIZE_MAX): Likewise.
43228         * lib/openat-die.c (N_): Likewise.
43229         * lib/mountlist.c (SIZE_MAX): Remove definition.
43230         Instead, include <stdint.h>.
43231         * lib/readutmp.c: Likewise.
43232         * modules/readutmp (Depends-on): Add stdint.
43233         * modules/mountlist (Depends-on): Add stdint.
43234         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
43235
43236 2009-03-10  Bruno Haible  <bruno@clisp.org>
43237
43238         Tests for module 'mbmemcasecoll'.
43239         * modules/mbmemcasecoll-tests: New file.
43240         * tests/test-mbmemcasecoll1.sh: New file.
43241         * tests/test-mbmemcasecoll2.sh: New file.
43242         * tests/test-mbmemcasecoll3.sh: New file.
43243         * tests/test-mbmemcasecoll.c: New file.
43244
43245         New module 'mbmemcasecoll'.
43246         * lib/mbmemcasecoll.h: New file.
43247         * lib/mbmemcasecoll.c: New file.
43248         * modules/mbmemcasecoll: New file.
43249
43250         * tests/test-mbmemcasecmp.h: New file, extracted from
43251         tests/test-mbmemcasecmp.c.
43252         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
43253         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
43254         (main): Update.
43255         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
43256
43257 2009-03-09  Bruno Haible  <bruno@clisp.org>
43258
43259         Tests for module 'mbmemcasecmp'.
43260         * modules/mbmemcasecmp-tests: New file.
43261         * tests/test-mbmemcasecmp1.sh: New file.
43262         * tests/test-mbmemcasecmp2.sh: New file.
43263         * tests/test-mbmemcasecmp3.sh: New file.
43264         * tests/test-mbmemcasecmp.c: New file.
43265
43266         New module 'mbmemcasecmp'.
43267         * lib/mbmemcasecmp.h: New file.
43268         * lib/mbmemcasecmp.c: New file.
43269         * modules/mbmemcasecmp: New file.
43270
43271 2009-03-09  Bruno Haible  <bruno@clisp.org>
43272
43273         Tests for module 'unicase/ulc-casecoll'.
43274         * modules/unicase/ulc-casecoll-tests: New file.
43275         * tests/unicase/test-ulc-casecoll1.sh: New file.
43276         * tests/unicase/test-ulc-casecoll2.sh: New file.
43277         * tests/unicase/test-ulc-casecoll.c: New file.
43278
43279         New module 'unicase/ulc-casecoll'.
43280         * lib/unicase.h (ulc_casecoll): New declaration.
43281         * lib/unicase/ulc-casecoll.c: New file.
43282         * modules/unicase/ulc-casecoll: New file.
43283
43284         New module 'unicase/ulc-casexfrm'.
43285         * lib/unicase.h (ulc_casexfrm): New declaration.
43286         * lib/unicase/ulc-casexfrm.c: New file.
43287         * modules/unicase/ulc-casexfrm: New file.
43288
43289 2009-03-09  Bruno Haible  <bruno@clisp.org>
43290
43291         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
43292         invocations.
43293
43294         * m4/mbscasecmp.m4: Remove file.
43295         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
43296         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
43297
43298         * m4/mbscasestr.m4: Remove file.
43299         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
43300         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
43301
43302         * m4/mbschr.m4: Remove file.
43303         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
43304         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
43305
43306         * m4/mbscspn.m4: Remove file.
43307         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
43308         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
43309
43310         * m4/mbslen.m4: Remove file.
43311         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
43312         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
43313
43314         * m4/mbsncasecmp.m4: Remove file.
43315         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
43316         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
43317
43318         * m4/mbsnlen.m4: Remove file.
43319         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
43320         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
43321
43322         * m4/mbspbrk.m4: Remove file.
43323         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
43324         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
43325
43326         * m4/mbspcasecmp.m4: Remove file.
43327         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
43328         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
43329
43330         * m4/mbsrchr.m4: Remove file.
43331         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
43332         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
43333
43334         * m4/mbssep.m4: Remove file.
43335         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
43336         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
43337
43338         * m4/mbsspn.m4: Remove file.
43339         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
43340         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
43341
43342         * m4/mbsstr.m4: Remove file.
43343         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
43344         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
43345
43346         * m4/mbstok_r.m4: Remove file.
43347         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
43348         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
43349
43350         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
43351
43352         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
43353         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
43354
43355         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
43356
43357 2009-03-08  Bruno Haible  <bruno@clisp.org>
43358
43359         Tests for module 'unicase/ulc-casecmp'.
43360         * modules/unicase/ulc-casecmp-tests: New file.
43361         * tests/unicase/test-ulc-casecmp1.sh: New file.
43362         * tests/unicase/test-ulc-casecmp2.sh: New file.
43363         * tests/unicase/test-ulc-casecmp.c: New file.
43364
43365         New module 'unicase/ulc-casecmp'.
43366         * lib/unicase.h (ulc_casecmp): New declaration.
43367         * lib/unicase/ulc-casecmp.c: New file.
43368         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
43369         'const SRC_UNIT *'.
43370         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
43371         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
43372         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
43373         * modules/unicase/ulc-casecmp: New file.
43374
43375         Tests for module 'unicase/u32-is-cased'.
43376         * modules/unicase/u32-is-cased-tests: New file.
43377         * tests/unicase/test-u32-is-cased.c: New file.
43378
43379         Tests for module 'unicase/u16-is-cased'.
43380         * modules/unicase/u16-is-cased-tests: New file.
43381         * tests/unicase/test-u16-is-cased.c: New file.
43382
43383         Tests for module 'unicase/u8-is-cased'.
43384         * modules/unicase/u8-is-cased-tests: New file.
43385         * tests/unicase/test-u8-is-cased.c: New file.
43386         * tests/unicase/test-is-cased.h: New file.
43387
43388         New module 'unicase/u32-is-cased'.
43389         * lib/unicase/u32-is-cased.c: New file.
43390         * modules/unicase/u32-is-cased: New file.
43391
43392         New module 'unicase/u16-is-cased'.
43393         * lib/unicase/u16-is-cased.c: New file.
43394         * modules/unicase/u16-is-cased: New file.
43395
43396         New module 'unicase/u8-is-cased'.
43397         * lib/unicase/u8-is-cased.c: New file.
43398         * lib/unicase/u-is-cased.h: New file.
43399         * modules/unicase/u8-is-cased: New file.
43400
43401         Tests for module 'unicase/u32-is-casefolded'.
43402         * modules/unicase/u32-is-casefolded-tests: New file.
43403         * tests/unicase/test-u32-is-casefolded.c: New file.
43404
43405         Tests for module 'unicase/u16-is-casefolded'.
43406         * modules/unicase/u16-is-casefolded-tests: New file.
43407         * tests/unicase/test-u16-is-casefolded.c: New file.
43408
43409         Tests for module 'unicase/u8-is-casefolded'.
43410         * modules/unicase/u8-is-casefolded-tests: New file.
43411         * tests/unicase/test-u8-is-casefolded.c: New file.
43412         * tests/unicase/test-is-casefolded.h: New file.
43413
43414         New module 'unicase/u32-is-casefolded'.
43415         * lib/unicase/u32-is-casefolded.c: New file.
43416         * modules/unicase/u32-is-casefolded: New file.
43417
43418         New module 'unicase/u16-is-casefolded'.
43419         * lib/unicase/u16-is-casefolded.c: New file.
43420         * modules/unicase/u16-is-casefolded: New file.
43421
43422         New module 'unicase/u8-is-casefolded'.
43423         * lib/unicase/u8-is-casefolded.c: New file.
43424         * modules/unicase/u8-is-casefolded: New file.
43425
43426         Tests for module 'unicase/u32-is-titlecase'.
43427         * modules/unicase/u32-is-titlecase-tests: New file.
43428         * tests/unicase/test-u32-is-titlecase.c: New file.
43429
43430         Tests for module 'unicase/u16-is-titlecase'.
43431         * modules/unicase/u16-is-titlecase-tests: New file.
43432         * tests/unicase/test-u16-is-titlecase.c: New file.
43433
43434         Tests for module 'unicase/u8-is-titlecase'.
43435         * modules/unicase/u8-is-titlecase-tests: New file.
43436         * tests/unicase/test-u8-is-titlecase.c: New file.
43437         * tests/unicase/test-is-titlecase.h: New file.
43438
43439         New module 'unicase/u32-is-titlecase'.
43440         * lib/unicase/u32-is-titlecase.c: New file.
43441         * modules/unicase/u32-is-titlecase: New file.
43442
43443         New module 'unicase/u16-is-titlecase'.
43444         * lib/unicase/u16-is-titlecase.c: New file.
43445         * modules/unicase/u16-is-titlecase: New file.
43446
43447         New module 'unicase/u8-is-titlecase'.
43448         * lib/unicase/u8-is-titlecase.c: New file.
43449         * modules/unicase/u8-is-titlecase: New file.
43450
43451         Tests for module 'unicase/u32-is-lowercase'.
43452         * modules/unicase/u32-is-lowercase-tests: New file.
43453         * tests/unicase/test-u32-is-lowercase.c: New file.
43454
43455         Tests for module 'unicase/u16-is-lowercase'.
43456         * modules/unicase/u16-is-lowercase-tests: New file.
43457         * tests/unicase/test-u16-is-lowercase.c: New file.
43458
43459         Tests for module 'unicase/u8-is-lowercase'.
43460         * modules/unicase/u8-is-lowercase-tests: New file.
43461         * tests/unicase/test-u8-is-lowercase.c: New file.
43462         * tests/unicase/test-is-lowercase.h: New file.
43463
43464         New module 'unicase/u32-is-lowercase'.
43465         * lib/unicase/u32-is-lowercase.c: New file.
43466         * modules/unicase/u32-is-lowercase: New file.
43467
43468         New module 'unicase/u16-is-lowercase'.
43469         * lib/unicase/u16-is-lowercase.c: New file.
43470         * modules/unicase/u16-is-lowercase: New file.
43471
43472         New module 'unicase/u8-is-lowercase'.
43473         * lib/unicase/u8-is-lowercase.c: New file.
43474         * modules/unicase/u8-is-lowercase: New file.
43475
43476         Tests for module 'unicase/u32-is-uppercase'.
43477         * modules/unicase/u32-is-uppercase-tests: New file.
43478         * tests/unicase/test-u32-is-uppercase.c: New file.
43479
43480         Tests for module 'unicase/u16-is-uppercase'.
43481         * modules/unicase/u16-is-uppercase-tests: New file.
43482         * tests/unicase/test-u16-is-uppercase.c: New file.
43483
43484         Tests for module 'unicase/u8-is-uppercase'.
43485         * modules/unicase/u8-is-uppercase-tests: New file.
43486         * tests/unicase/test-u8-is-uppercase.c: New file.
43487         * tests/unicase/test-is-uppercase.h: New file.
43488
43489         New module 'unicase/u32-is-uppercase'.
43490         * lib/unicase/u32-is-uppercase.c: New file.
43491         * modules/unicase/u32-is-uppercase: New file.
43492
43493         New module 'unicase/u16-is-uppercase'.
43494         * lib/unicase/u16-is-uppercase.c: New file.
43495         * modules/unicase/u16-is-uppercase: New file.
43496
43497         New module 'unicase/u8-is-uppercase'.
43498         * lib/unicase/u8-is-uppercase.c: New file.
43499         * modules/unicase/u8-is-uppercase: New file.
43500
43501         New module 'unicase/u32-is-invariant'.
43502         * lib/unicase/u32-is-invariant.c: New file.
43503         * modules/unicase/u32-is-invariant: New file.
43504
43505         New module 'unicase/u16-is-invariant'.
43506         * lib/unicase/u16-is-invariant.c: New file.
43507         * modules/unicase/u16-is-invariant: New file.
43508
43509         New module 'unicase/u8-is-invariant'.
43510         * lib/unicase/u8-is-invariant.c: New file.
43511         * lib/unicase/invariant.h: New file.
43512         * lib/unicase/u-is-invariant.h: New file.
43513         * modules/unicase/u8-is-invariant: New file.
43514
43515         Tests for module 'unicase/u32-casecoll'.
43516         * modules/unicase/u32-casecoll-tests: New file.
43517         * tests/unicase/test-u32-casecoll.c: New file.
43518
43519         Tests for module 'unicase/u16-casecoll'.
43520         * modules/unicase/u16-casecoll-tests: New file.
43521         * tests/unicase/test-u16-casecoll.c: New file.
43522
43523         Tests for module 'unicase/u8-casecoll'.
43524         * modules/unicase/u8-casecoll-tests: New file.
43525         * tests/unicase/test-u8-casecoll.c: New file.
43526
43527         New module 'unicase/u32-casecoll'.
43528         * lib/unicase/u32-casecoll.c: New file.
43529         * modules/unicase/u32-casecoll: New file.
43530
43531         New module 'unicase/u16-casecoll'.
43532         * lib/unicase/u16-casecoll.c: New file.
43533         * modules/unicase/u16-casecoll: New file.
43534
43535         New module 'unicase/u8-casecoll'.
43536         * lib/unicase/u8-casecoll.c: New file.
43537         * lib/unicase/u-casecoll.h: New file.
43538         * modules/unicase/u8-casecoll: New file.
43539
43540         New module 'unicase/u32-casexfrm'.
43541         * lib/unicase/u32-casexfrm.c: New file.
43542         * modules/unicase/u32-casexfrm: New file.
43543
43544         New module 'unicase/u16-casexfrm'.
43545         * lib/unicase/u16-casexfrm.c: New file.
43546         * modules/unicase/u16-casexfrm: New file.
43547
43548         New module 'unicase/u8-casexfrm'.
43549         * lib/unicase/u8-casexfrm.c: New file.
43550         * lib/unicase/u-casexfrm.h: New file.
43551         * modules/unicase/u8-casexfrm: New file.
43552
43553         Tests for module 'unicase/u32-casecmp'.
43554         * modules/unicase/u32-casecmp-tests: New file.
43555         * tests/unicase/test-u32-casecmp.c: New file.
43556
43557         Tests for module 'unicase/u16-casecmp'.
43558         * modules/unicase/u16-casecmp-tests: New file.
43559         * tests/unicase/test-u16-casecmp.c: New file.
43560
43561         Tests for module 'unicase/u8-casecmp'.
43562         * modules/unicase/u8-casecmp-tests: New file.
43563         * tests/unicase/test-u8-casecmp.c: New file.
43564         * tests/unicase/test-casecmp.h: New file.
43565
43566         New module 'unicase/u32-casecmp'.
43567         * lib/unicase/u32-casecmp.c: New file.
43568         * modules/unicase/u32-casecmp: New file.
43569
43570         New module 'unicase/u16-casecmp'.
43571         * lib/unicase/u16-casecmp.c: New file.
43572         * modules/unicase/u16-casecmp: New file.
43573
43574         New module 'unicase/u8-casecmp'.
43575         * lib/unicase/u8-casecmp.c: New file.
43576         * lib/unicase/u-casecmp.h: New file.
43577         * modules/unicase/u8-casecmp: New file.
43578
43579         Tests for module 'unicase/u32-casefold'.
43580         * modules/unicase/u32-casefold-tests: New file.
43581         * tests/unicase/test-u32-casefold.c: New file.
43582
43583         Tests for module 'unicase/u16-casefold'.
43584         * modules/unicase/u16-casefold-tests: New file.
43585         * tests/unicase/test-u16-casefold.c: New file.
43586
43587         Tests for module 'unicase/u8-casefold'.
43588         * modules/unicase/u8-casefold-tests: New file.
43589         * tests/unicase/test-u8-casefold.c: New file.
43590
43591         New module 'unicase/u32-casefold'.
43592         * lib/unicase/u32-casefold.c: New file.
43593         * modules/unicase/u32-casefold: New file.
43594
43595         New module 'unicase/u16-casefold'.
43596         * lib/unicase/u16-casefold.c: New file.
43597         * modules/unicase/u16-casefold: New file.
43598
43599         New module 'unicase/u8-casefold'.
43600         * lib/unicase/u8-casefold.c: New file.
43601         * lib/unicase/u-casefold.h: New file.
43602         * modules/unicase/u8-casefold: New file.
43603
43604         New module 'unicase/tocasefold'.
43605         * lib/unicase/casefold.h: New file.
43606         * lib/unicase/tocasefold.c: New file.
43607         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
43608         * modules/unicase/tocasefold: New file.
43609
43610         Tests for module 'unicase/u32-totitle'.
43611         * modules/unicase/u32-totitle-tests: New file.
43612         * tests/unicase/test-u32-totitle.c: New file.
43613
43614         Tests for module 'unicase/u16-totitle'.
43615         * modules/unicase/u16-totitle-tests: New file.
43616         * tests/unicase/test-u16-totitle.c: New file.
43617
43618         Tests for module 'unicase/u8-totitle'.
43619         * modules/unicase/u8-totitle-tests: New file.
43620         * tests/unicase/test-u8-totitle.c: New file.
43621
43622         New module 'unicase/u32-totitle'.
43623         * lib/unicase/u32-totitle.c: New file.
43624         * modules/unicase/u32-totitle: New file.
43625
43626         New module 'unicase/u16-totitle'.
43627         * lib/unicase/u16-totitle.c: New file.
43628         * modules/unicase/u16-totitle: New file.
43629
43630         New module 'unicase/u8-totitle'.
43631         * lib/unicase/u8-totitle.c: New file.
43632         * lib/unicase/u-totitle.h: New file.
43633         * modules/unicase/u8-totitle: New file.
43634
43635         Tests for module 'unicase/u32-tolower'.
43636         * modules/unicase/u32-tolower-tests: New file.
43637         * tests/unicase/test-u32-tolower.c: New file.
43638
43639         Tests for module 'unicase/u16-tolower'.
43640         * modules/unicase/u16-tolower-tests: New file.
43641         * tests/unicase/test-u16-tolower.c: New file.
43642
43643         Tests for module 'unicase/u8-tolower'.
43644         * modules/unicase/u8-tolower-tests: New file.
43645         * tests/unicase/test-u8-tolower.c: New file.
43646
43647         New module 'unicase/u32-tolower'.
43648         * lib/unicase/u32-tolower.c: New file.
43649         * modules/unicase/u32-tolower: New file.
43650
43651         New module 'unicase/u16-tolower'.
43652         * lib/unicase/u16-tolower.c: New file.
43653         * modules/unicase/u16-tolower: New file.
43654
43655         New module 'unicase/u8-tolower'.
43656         * lib/unicase/u8-tolower.c: New file.
43657         * modules/unicase/u8-tolower: New file.
43658
43659         Tests for module 'unicase/u32-toupper'.
43660         * modules/unicase/u32-toupper-tests: New file.
43661         * tests/unicase/test-u32-toupper.c: New file.
43662
43663         Tests for module 'unicase/u16-toupper'.
43664         * modules/unicase/u16-toupper-tests: New file.
43665         * tests/unicase/test-u16-toupper.c: New file.
43666
43667         Tests for module 'unicase/u8-toupper'.
43668         * modules/unicase/u8-toupper-tests: New file.
43669         * tests/unicase/test-u8-toupper.c: New file.
43670
43671         New module 'unicase/u32-toupper'.
43672         * lib/unicase/u32-toupper.c: New file.
43673         * modules/unicase/u32-toupper: New file.
43674
43675         New module 'unicase/u16-toupper'.
43676         * lib/unicase/u16-toupper.c: New file.
43677         * modules/unicase/u16-toupper: New file.
43678
43679         New module 'unicase/u8-toupper'.
43680         * lib/unicase/u8-toupper.c: New file.
43681         * modules/unicase/u8-toupper: New file.
43682
43683         New module 'unicase/u32-casemap'.
43684         * lib/unicase/u32-casemap.c: New file.
43685         * modules/unicase/u32-casemap: New file.
43686
43687         New module 'unicase/u16-casemap'.
43688         * lib/unicase/u16-casemap.c: New file.
43689         * modules/unicase/u16-casemap: New file.
43690
43691         New module 'unicase/u8-casemap'.
43692         * lib/unicase/unicasemap.h: New file.
43693         * lib/unicase/u8-casemap.c: New file.
43694         * lib/unicase/u-casemap.h: New file.
43695         * modules/unicase/u8-casemap: New file.
43696
43697         New module 'unicase/special-casing'.
43698         * lib/unicase/special-casing.h: New file.
43699         * lib/unicase/special-casing.c: New file.
43700         * lib/unicase/special-casing-table.gperf: New file, generated by
43701         gen-uni-tables.c.
43702         * modules/unicase/special-casing: New file.
43703
43704         Tests for module 'unicase/locale-language'.
43705         * modules/unicase/locale-language-tests: New file.
43706         * tests/unicase/test-locale-language.sh: New file.
43707         * tests/unicase/test-locale-language.c: New file.
43708
43709         New module 'unicase/locale-language'.
43710         * lib/unicase/locale-language.c: New file.
43711         * lib/unicase/locale-languages.gperf: New file.
43712         * modules/unicase/locale-language: New file.
43713
43714         Generate more tables for case conversion and case folding.
43715         * lib/gen-uni-tables.c (SCC_*): New enum items.
43716         (struct special_casing_rule): New type.
43717         (casing_rules, num_casing_rules, allocated_casing_rules): New
43718         variables.
43719         (add_casing_rule, fill_casing_rules): New functions.
43720         (struct casefold_rule): New type.
43721         (casefolding_rules, num_casefolding_rules,
43722         allocated_casefolding_rules): New variables.
43723         (fill_casefolding_rules): New function.
43724         (unicode_casefold): New variable.
43725         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
43726         sort_casing_rules, output_casing_rules): New functions.
43727         (main): Accept to more arguments: SpecialCasing.txt and
43728         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
43729         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
43730         Output mapping for casefolding.
43731
43732         * lib/unicase.h: Include stdbool.h, uninorm.h.
43733         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
43734         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
43735         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
43736         arguments.
43737         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
43738         resultp arguments.
43739         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
43740         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
43741         resultp arguments.
43742         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
43743         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
43744         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
43745         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
43746         declarations.
43747         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
43748
43749 2009-03-08  Bruno Haible  <bruno@clisp.org>
43750
43751         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43752         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
43753         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
43754         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43755
43756 2009-03-07  Bruno Haible  <bruno@clisp.org>
43757
43758         Adjust u*_normcmp, u*_normcoll API.
43759         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43760         u16_normcoll, u32_normcoll): Change failure conventions.
43761         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
43762         errno and return -1.
43763         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43764
43765 2009-03-07  Bruno Haible  <bruno@clisp.org>
43766
43767         Tests for module 'uninorm/u32-normcoll'.
43768         * modules/uninorm/u32-normcoll-tests: New file.
43769         * tests/uninorm/test-u32-normcoll.c: New file.
43770
43771         Tests for module 'uninorm/u16-normcoll'.
43772         * modules/uninorm/u16-normcoll-tests: New file.
43773         * tests/uninorm/test-u16-normcoll.c: New file.
43774
43775         Tests for module 'uninorm/u8-normcoll'.
43776         * modules/uninorm/u8-normcoll-tests: New file.
43777         * tests/uninorm/test-u8-normcoll.c: New file.
43778
43779 2009-03-07  Bruno Haible  <bruno@clisp.org>
43780
43781         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
43782         tests/uninorm/test-u32-normcmp.c.
43783         * tests/uninorm/test-u32-normcmp.c: Include it.
43784         (test_nonascii): New function, extracted from main. Add some more
43785         tests.
43786         (main): Invoke test_ascii and test_nonascii.
43787         * modules/uninorm/u32-normcmp-tests (Files): Add
43788         tests/uninorm/test-u32-normcmp.h.
43789         (Depends-on): Remove uninorm/u32-normcmp.
43790
43791         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
43792         tests/uninorm/test-u16-normcmp.c.
43793         * tests/uninorm/test-u16-normcmp.c: Include it.
43794         (test_nonascii): New function, extracted from main. Add some more
43795         tests.
43796         (main): Invoke test_ascii and test_nonascii.
43797         * modules/uninorm/u16-normcmp-tests (Files): Add
43798         tests/uninorm/test-u16-normcmp.h.
43799         (Depends-on): Remove uninorm/u16-normcmp.
43800
43801         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
43802         tests/uninorm/test-u8-normcmp.c.
43803         * tests/uninorm/test-u8-normcmp.c: Include it.
43804         (test_nonascii): New function, extracted from main. Add some more
43805         tests.
43806         (main): Invoke test_ascii and test_nonascii.
43807         * modules/uninorm/u8-normcmp-tests (Files): Add
43808         tests/uninorm/test-u8-normcmp.h.
43809         (Depends-on): Remove uninorm/u8-normcmp.
43810
43811 2009-03-07  Bruno Haible  <bruno@clisp.org>
43812
43813         New module 'uninorm/u32-normcoll'.
43814         * lib/uninorm/u32-normcoll.c: New file.
43815         * modules/uninorm/u32-normcoll: New file.
43816
43817         New module 'uninorm/u16-normcoll'.
43818         * lib/uninorm/u16-normcoll.c: New file.
43819         * modules/uninorm/u16-normcoll: New file.
43820
43821         New module 'uninorm/u8-normcoll'.
43822         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
43823         declarations.
43824         * lib/uninorm/u8-normcoll.c: New file.
43825         * lib/uninorm/u-normcoll.h: New file.
43826         * modules/uninorm/u8-normcoll: New file.
43827
43828         New module 'uninorm/u32-normxfrm'.
43829         * lib/uninorm/u32-normxfrm.c: New file.
43830         * modules/uninorm/u32-normxfrm: New file.
43831
43832         New module 'uninorm/u16-normxfrm'.
43833         * lib/uninorm/u16-normxfrm.c: New file.
43834         * modules/uninorm/u16-normxfrm: New file.
43835
43836         New module 'uninorm/u8-normxfrm'.
43837         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
43838         declarations.
43839         * lib/uninorm/u8-normxfrm.c: New file.
43840         * lib/uninorm/u-normxfrm.h: New file.
43841         * modules/uninorm/u8-normxfrm: New file.
43842
43843 2009-03-07  Bruno Haible  <bruno@clisp.org>
43844
43845         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
43846         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
43847         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
43848
43849 2009-03-07  Bruno Haible  <bruno@clisp.org>
43850
43851         New module 'memxfrm'.
43852         * lib/memxfrm.h: New file.
43853         * lib/memxfrm.c: New file.
43854         * modules/memxfrm: New file.
43855
43856 2009-03-07  Bruno Haible  <bruno@clisp.org>
43857
43858         New module 'memcmp2'.
43859         * lib/memcmp2.h: New file.
43860         * lib/memcmp2.c: New file.
43861         * modules/memcmp2: New file.
43862
43863 2009-03-07  Bruno Haible  <bruno@clisp.org>
43864
43865         Tests for module 'uninorm/decomposing-form'.
43866         * modules/uninorm/decomposing-form-tests: New file.
43867         * tests/uninorm/test-decomposing-form.c: New file.
43868
43869         New module 'uninorm/decomposing-form'.
43870         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
43871         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
43872         Add 'decomposing_variant' field.
43873         * lib/uninorm/decomposing-form.c: New file.
43874         * lib/uninorm/nfc.c (uninorm_nfc): Update.
43875         * lib/uninorm/nfd.c (uninorm_nfd): Update.
43876         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
43877         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
43878         * modules/uninorm/decomposing-form: New file.
43879         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
43880         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
43881
43882 2009-03-07  Bruno Haible  <bruno@clisp.org>
43883
43884         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
43885         strings.
43886
43887 2009-03-06  Bruno Haible  <bruno@clisp.org>
43888
43889         Tests for module 'uninorm/u32-normcmp'.
43890         * tests/uninorm/test-u32-normcmp.c: New file.
43891         * modules/uninorm/u32-normcmp-tests: New file.
43892
43893         Tests for module 'uninorm/u16-normcmp'.
43894         * tests/uninorm/test-u16-normcmp.c: New file.
43895         * modules/uninorm/u16-normcmp-tests: New file.
43896
43897         Tests for module 'uninorm/u8-normcmp'.
43898         * tests/uninorm/test-u8-normcmp.c: New file.
43899         * modules/uninorm/u8-normcmp-tests: New file.
43900
43901         New module 'uninorm/u32-normcmp'.
43902         * lib/uninorm/u32-normcmp.c: New file.
43903         * modules/uninorm/u32-normcmp: New file.
43904
43905         New module 'uninorm/u16-normcmp'.
43906         * lib/uninorm/u16-normcmp.c: New file.
43907         * modules/uninorm/u16-normcmp: New file.
43908
43909         New module 'uninorm/u8-normcmp'.
43910         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
43911         declarations.
43912         * lib/uninorm/u8-normcmp.c: New file.
43913         * lib/uninorm/u-normcmp.h: New file.
43914         * modules/uninorm/u8-normcmp: New file.
43915
43916 2009-03-06  Bruno Haible  <bruno@clisp.org>
43917
43918         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
43919         Reported by Eric Blake.
43920
43921 2009-03-06  Eric Blake  <ebb9@byu.net>
43922             Bruno Haible  <bruno@clisp.org>
43923
43924         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
43925         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
43926         condition.
43927         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43928         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
43929         condition.
43930         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43931
43932 2009-03-06  Eric Blake  <ebb9@byu.net>
43933
43934         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
43935         to avoid compiler warnings.
43936         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
43937
43938 2009-03-05  Bruno Haible  <bruno@clisp.org>
43939
43940         * tests/test-ftell.c (main): Disable test beyond end of file on
43941         FreeMiNT.
43942         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43943
43944 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
43945
43946         * lib/filevercmp.c: Move hidden files up in ordering.
43947         * tests/test-filevercmp.c: Add tests for hidden files.
43948
43949 2009-03-04  Bruno Haible  <bruno@clisp.org>
43950
43951         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
43952         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
43953         AM_CFLAGS.
43954         Reported by Simon Josefsson.
43955
43956 2009-03-03  Bruno Haible  <bruno@clisp.org>
43957
43958         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
43959         Reported by Simon Josefsson.
43960
43961         * doc/ld-version-script.texi: Update node reference.
43962
43963 2009-03-03  Bruno Haible  <bruno@clisp.org>
43964
43965         * modules/visibility (License): Change to 'unlimited'.
43966         Suggested by Simon Josefsson.
43967
43968 2009-03-03  Jim Meyering  <meyering@redhat.com>
43969
43970         unlinkdir: cannot_unlink_dir may modify process state
43971         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
43972         it's neither thread-safe nor appropriate for use in a library.
43973
43974 2009-03-03  Eric Blake  <ebb9@byu.net>
43975
43976         test-closein: silence test under Darwin
43977         * tests/test-closein.sh: Ignore stderr from cat, since we don't
43978         care if it dies from EPIPE or EBADF.
43979
43980 2009-03-03  Bruno Haible  <bruno@clisp.org>
43981
43982         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
43983         earlier.
43984         * doc/visibility.texi: Fix @node and @section.
43985
43986 2009-03-03  Simon Josefsson  <simon@josefsson.org>
43987
43988         * doc/gnulib.texi: Link to sections for ld version script and
43989         visibility.
43990         * doc/visibility.texi: Add @node and @section.
43991         * modules/ld-version-script: New module.
43992         * m4/ld-version-script.m4: New file.
43993         * doc/ld-version-script.texi: New file.
43994
43995 2009-03-02  David Lutterkort  <lutter@redhat.com>
43996
43997         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
43998         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43999
44000 2009-03-02  Bruno Haible  <bruno@clisp.org>
44001
44002         * doc/visibility.texi: Mention libtool's -export-symbols option.
44003
44004 2009-03-02  Jim Meyering  <meyering@redhat.com>
44005
44006         announce-gen: new option: --no-print-checksums
44007         * build-aux/announce-gen (usage): Describe it.
44008         (print_checksums): Print a newline here, not in the [*] footnote.
44009         (main): Honor it.
44010
44011 2009-03-01  Bruno Haible  <bruno@clisp.org>
44012
44013         Use socklen_t in the native Windows replacements prototypes.
44014         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44015         instead of 'int'.
44016         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44017         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44018         * modules/getsockopt (Depends-on): Add socklen.
44019         * modules/setsockopt (Depends-on): Add socklen.
44020
44021 2009-03-01  Bruno Haible  <bruno@clisp.org>
44022
44023         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44024         least 4.2.
44025
44026 2009-03-01  Eric Blake  <ebb9@byu.net>
44027             Bruno Haible  <bruno@clisp.org>
44028
44029         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44030         error messages.
44031         * lib/wait-process.c (wait_subprocess): Omit error message about
44032         deadly signal sent to the child of termsigp != NULL.
44033
44034 2009-03-01  Eric Blake  <ebb9@byu.net>
44035
44036         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44037
44038 2009-03-01  Bruno Haible  <bruno@clisp.org>
44039
44040         Avoid a gcc warning.
44041         * tests/test-sched.c (b): Make global.
44042         Reported by Eric Blake.
44043
44044 2009-01-19  Martin Lambers  <marlam@marlam.de>
44045
44046         Provide POSIX semantics for socket timeout options on W32.
44047         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44048         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44049         * modules/setsockopt: Depend on sys_time module for struct timeval.
44050         * modules/getsockopt: Depend on sys_time module for struct timeval.
44051
44052 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44053
44054         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44055         __USE_GNU, for consistency with netdb.in.h.
44056         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44057
44058 2009-03-01  Bruno Haible  <bruno@clisp.org>
44059
44060         More support for FreeMiNT.
44061         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44062         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44063
44064 2009-03-01  Bruno Haible  <bruno@clisp.org>
44065
44066         More support for FreeMiNT.
44067         * lib/fpurge.c (fpurge): Correct last commit.
44068         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44069
44070 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44071
44072         Fix unportable awk script in vc-list-files.
44073         * build-aux/vc-list-files: In the replacement awk script, use
44074         substr with a second argument of 1, not zero.
44075         Report by Simon Josefsson.
44076
44077 2009-02-28  Bruno Haible  <bruno@clisp.org>
44078
44079         More support for FreeMiNT.
44080         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44081         to FreeMiNT today.
44082         * lib/fwriting.c (fwriting): Likewise.
44083         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44084
44085 2009-02-28  Bruno Haible  <bruno@clisp.org>
44086
44087         * tests/test-freadseek.c (main): Disable test beyond end of file on
44088         FreeMiNT.
44089         * tests/test-ftello.c (main): Likewise.
44090         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44091
44092 2009-02-28  Bruno Haible  <bruno@clisp.org>
44093
44094         Add tentative support for FreeMiNT.
44095         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44096         * lib/fpurge.c (fpurge): Likewise.
44097         * lib/freadable.c (freadable): Likewise.
44098         * lib/freading.c (freading): Likewise.
44099         * lib/freadptr.c (freadptr): Likewise.
44100         * lib/freadseek.c (freadptrinc): Likewise.
44101         * lib/fseeko.c (rpl_fseeko): Likewise.
44102         * lib/fseterr.c (fseterr): Likewise.
44103         * lib/fwritable.c (fwritable): Likewise.
44104         * lib/fwriting.c (fwriting): Likewise.
44105         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44106         Hourihane.
44107         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44108
44109 2009-02-28  Bruno Haible  <bruno@clisp.org>
44110
44111         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44112         SIGCHLD.
44113         Reported by Jim Meyering.
44114
44115 2009-02-28  Bruno Haible  <bruno@clisp.org>
44116
44117         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44118         Mention the results of these tests on various platforms.
44119         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44120         order.
44121         * doc/posix-functions/printf.texi: Likewise.
44122         * doc/posix-functions/snprintf.texi: Likewise.
44123         * doc/posix-functions/sprintf.texi: Likewise.
44124         * doc/posix-functions/vfprintf.texi: Likewise.
44125         * doc/posix-functions/vprintf.texi: Likewise.
44126         * doc/posix-functions/vsnprintf.texi: Likewise.
44127         * doc/posix-functions/vsprintf.texi: Likewise.
44128         * doc/glibc-functions/obstack_printf.texi: Likewise.
44129         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44130
44131 2009-02-28  Bruno Haible  <bruno@clisp.org>
44132
44133         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44134         Reported by Loïc Minier <lool@dooz.org>.
44135
44136 2009-02-27  Bruno Haible  <bruno@clisp.org>
44137
44138         * gnulib-tool (func_import): Make the sed expression used to create the
44139         sed script for updating the .gitignore file POSIX compliant.
44140         Reported by Eric Blake.
44141
44142 2009-02-27  Bruno Haible  <bruno@clisp.org>
44143
44144         * gnulib-tool (sed): Don't alias as "sed --posix".
44145         Reported by Eric Blake.
44146
44147 2009-02-27  Bruno Haible  <bruno@clisp.org>
44148
44149         Avoid test link errors.
44150         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44151         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44152         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44153         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44154         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44155
44156 2009-02-27  Bruno Haible  <bruno@clisp.org>
44157
44158         Avoid spurious "(cached)" in configure output.
44159         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
44160         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
44161         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44162         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44163         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44164         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44165         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44166         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44167         Reported by Eric Blake.
44168
44169 2009-02-27  Eric Blake  <ebb9@byu.net>
44170
44171         printf: fix regression in previous patch
44172         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44173
44174 2009-02-27  Bruno Haible  <bruno@clisp.org>
44175
44176         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44177         value.
44178         * lib/stdint.in.h: Likewise.
44179         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44180
44181 2009-02-27  Eric Blake  <ebb9@byu.net>
44182
44183         doc: mention more functions added in cygwin 1.7.0
44184         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44185         addition.
44186         * doc/posix-functions/open_wmemstream.texi: Likewise.
44187         * doc/posix-functions/wcsnlen.texi: Likewise.
44188         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44189         * doc/posix-functions/wcstod.texi: Likewise.
44190         * doc/posix-functions/wcstof.texi: Likewise.
44191         * doc/posix-functions/wcstoimax.texi: Likewise.
44192         * doc/posix-functions/wcstok.texi: Likewise.
44193         * doc/posix-functions/wcstoumax.texi: Likewise.
44194
44195         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
44196         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
44197         * doc/posix-functions/fprintf.texi: Update.
44198         * doc/posix-functions/printf.texi: Update.
44199         * doc/posix-functions/snprintf.texi: Update.
44200         * doc/posix-functions/sprintf.texi: Update.
44201         * doc/posix-functions/vfprintf.texi: Update.
44202         * doc/posix-functions/vprintf.texi: Update.
44203         * doc/posix-functions/vsnprintf.texi: Update.
44204         * doc/posix-functions/vsprintf.texi: Update.
44205         * doc/glibc-functions/obstack_printf.texi: Update.
44206         * doc/glibc-functions/obstack_vprintf.texi: Update.
44207
44208 2009-02-26  Eric Blake  <ebb9@byu.net>
44209
44210         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
44211         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
44212         compilation bug by using runtime conversion.
44213         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
44214         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
44215         * modules/ceill-tests (Files): Use nan.h.
44216         * modules/floorl-tests (Files): Likewise.
44217         * modules/frexpl-tests (Files): Likewise.
44218         * modules/isnanl-tests (Files): Likewise.
44219         * modules/ldexpl-tests (Files): Likewise.
44220         * modules/roundl-tests (Files): Likewise.
44221         * modules/truncl-tests (Files): Likewise.
44222         * tests/test-ceill.c (main): Use a working NaN.
44223         * tests/test-floorl.c (main): Likewise.
44224         * tests/test-frexpl.c (main): Likewise.
44225         * tests/test-isnan.c (test_long_double): Likewise.
44226         * tests/test-isnanl.h (main): Likewise.
44227         * tests/test-ldexpl.h (main): Likewise.
44228         * tests/test-roundl.h (main): Likewise.
44229         * tests/test-truncl.h (main): Likewise.
44230         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
44231
44232 2009-02-26  Eric Blake  <ebb9@byu.net>
44233             Bruno Haible  <bruno@clisp.org>
44234
44235         Work around a *printf bug with %ls on Solaris.
44236         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
44237         precision is specified, sprintf stops converting the wide string
44238         argument when the number of bytes that have been produced by this
44239         conversion equals or exceeds the precision.
44240         * doc/posix-functions/fprintf.texi: Update.
44241         * doc/posix-functions/printf.texi: Update.
44242         * doc/posix-functions/snprintf.texi: Update.
44243         * doc/posix-functions/sprintf.texi: Update.
44244         * doc/posix-functions/vfprintf.texi: Update.
44245         * doc/posix-functions/vprintf.texi: Update.
44246         * doc/posix-functions/vsnprintf.texi: Update.
44247         * doc/posix-functions/vsprintf.texi: Update.
44248         * doc/glibc-functions/obstack_printf.texi: Update.
44249         * doc/glibc-functions/obstack_vprintf.texi: Update.
44250
44251 2009-02-26  Eric Blake  <ebb9@byu.net>
44252
44253         stdlib: favor compiler check of random.h
44254         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
44255         to avoid an ObjC random.h installed by Swarm.
44256
44257 2009-02-26  Bruno Haible  <bruno@clisp.org>
44258
44259         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
44260         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
44261         Reported by Gary V. Vaughan <gary@gnu.org>.
44262
44263 2009-02-26  Bruno Haible  <bruno@clisp.org>
44264
44265         Fix *printf behaviour regarding the %ls directive.
44266         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
44267         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
44268         NEED_PRINTF_DIRECTIVE_LS.
44269         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
44270         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44271         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44272         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
44273         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
44274         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
44275         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44276         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44277         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44278         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44279         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44280         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
44281         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44282         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44283         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44284         * doc/posix-functions/fprintf.texi: Update.
44285         * doc/posix-functions/printf.texi: Update.
44286         * doc/posix-functions/snprintf.texi: Update.
44287         * doc/posix-functions/sprintf.texi: Update.
44288         * doc/posix-functions/vfprintf.texi: Update.
44289         * doc/posix-functions/vprintf.texi: Update.
44290         * doc/posix-functions/vsnprintf.texi: Update.
44291         * doc/posix-functions/vsprintf.texi: Update.
44292         * doc/glibc-functions/obstack_printf.texi: Update.
44293         * doc/glibc-functions/obstack_vprintf.texi: Update.
44294         Reported by Eric Blake.
44295
44296 2009-02-25  Bruno Haible  <bruno@clisp.org>
44297
44298         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
44299         with known value.
44300         Reported by Gary V. Vaughan <gary@gnu.org>.
44301
44302 2009-02-25  Bruno Haible  <bruno@clisp.org>
44303
44304         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
44305         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
44306         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
44307         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
44308         Reported by Gary V. Vaughan <gary@gnu.org>.
44309
44310 2009-02-25  Bruno Haible  <bruno@clisp.org>
44311
44312         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
44313         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
44314         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
44315         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
44316         Reported by Gary V. Vaughan <gary@gnu.org>.
44317
44318 2009-02-25  Eric Blake  <ebb9@byu.net>
44319
44320         tests: skip fseek/ftell tests if ungetc is broken
44321         * m4/ungetc.m4: New file.
44322         * modules/fseek-tests: Split test, so ungetc dependency is
44323         separate from rest of test.
44324         * modules/fseeko-tests: Likewise.
44325         * modules/ftell-tests: Likewise.
44326         * modules/ftello-tests: Likewise.
44327         * tests/test-fseek.c (main): Isolate ungetc dependency.
44328         * tests/test-fseeko.c (main): Likewise.
44329         * tests/test-ftell.c (main): Likewise.
44330         * tests/test-ftello.c (main): Likewise.
44331         * tests/test-fseek2.sh: New file.
44332         * tests/test-fseeko2.sh: Likewise.
44333         * tests/test-ftell2.sh: Likewise.
44334         * tests/test-ftello2.sh: Likewise.
44335
44336 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
44337
44338         test-getaddrinfo: fix usage of skip return code 77
44339         * tests/test-gettaddrinfo.c: Return skip code 77 only
44340         for first occurance of skip (4x77 is not 77)
44341
44342 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
44343
44344         strtod: avoid C99 decl-after-statement
44345         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
44346
44347 2009-02-24  Eric Blake  <ebb9@byu.net>
44348
44349         strtod: detect HP-UX 11.31 bug
44350         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
44351         Reported by Gary V. Vaughan.
44352
44353 2009-02-23  Bruno Haible  <bruno@clisp.org>
44354
44355         Fix invalid read past end of memory block.
44356         * lib/vasnprintf.c (DCHAR_SET): Define.
44357         (local_wcslen): Define only when needed.
44358         (local_strnlen, local_wcsnlen): New functions.
44359         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
44360         directives that involve a conversion ourselves.
44361         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
44362         wcsnlen, mbrtowc, wcrtomb.
44363         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
44364         * tests/test-vasprintf-posix.c (test_function): Likewise.
44365         * tests/test-snprintf-posix.h (test_function): Likewise.
44366         * tests/test-sprintf-posix.h (test_function): Likewise.
44367         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44368
44369 2009-02-22  Bruno Haible  <bruno@clisp.org>
44370
44371         Implement new clarified decomposition of Hangul syllables.
44372         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
44373         of type LTV, return only a pairwise decomposition.
44374         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
44375         Likewise.
44376         * tests/uninorm/test-decomposition.c (main): Updated expected result.
44377         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
44378         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
44379
44380 2009-02-22  Bruno Haible  <bruno@clisp.org>
44381
44382         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
44383         zero-length results and shrink excess allocated memory.
44384         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
44385         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
44386         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
44387         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
44388         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
44389         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
44390         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
44391         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
44392         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
44393         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
44394         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
44395         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
44396
44397 2009-02-21  Bruno Haible  <bruno@clisp.org>
44398
44399         * doc/gnulib.texi: Include safe-alloc.texi earlier.
44400         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
44401         spaces after a period. Put a space between a macro name and its
44402         argument list. Trivial rewordings.
44403         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
44404         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
44405         (main): Return 0 explicitly.
44406
44407 2009-02-21  Bruno Haible  <bruno@clisp.org>
44408
44409         Tests for module 'uninorm/filter'.
44410         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
44411         * modules/uninorm/filter-tests: New file.
44412
44413         New module 'uninorm/filter'.
44414         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
44415         uninorm_filter_flush, uninorm_filter_free): New declarations.
44416         * lib/uninorm/uninorm-filter.c: New file.
44417         * modules/uninorm/filter: New file.
44418
44419 2009-02-21  Bruno Haible  <bruno@clisp.org>
44420
44421         Tests for module 'uninorm/nfkc'.
44422         * tests/uninorm/test-nfkc.c: New file.
44423         * tests/uninorm/test-u8-nfkc.c: New file.
44424         * tests/uninorm/test-u16-nfkc.c: New file.
44425         * tests/uninorm/test-u32-nfkc.c: New file.
44426         * tests/uninorm/test-u32-nfkc-big.sh: New file.
44427         * tests/uninorm/test-u32-nfkc-big.c: New file.
44428         * modules/uninorm/nfkc-tests: New file.
44429
44430         New module 'uninorm/nfkc'.
44431         * lib/uninorm/nfkc.c: New file.
44432         * modules/uninorm/nfkc: New file.
44433
44434         Tests for module 'uninorm/nfkd'.
44435         * tests/uninorm/test-nfkd.c: New file.
44436         * tests/uninorm/test-u8-nfkd.c: New file.
44437         * tests/uninorm/test-u16-nfkd.c: New file.
44438         * tests/uninorm/test-u32-nfkd.c: New file.
44439         * tests/uninorm/test-u32-nfkd-big.sh: New file.
44440         * tests/uninorm/test-u32-nfkd-big.c: New file.
44441         * modules/uninorm/nfkd-tests: New file.
44442
44443         New module 'uninorm/nfkd'.
44444         * lib/uninorm/nfkd.c: New file.
44445         * modules/uninorm/nfkd: New file.
44446
44447         Tests for module 'uninorm/nfc'.
44448         * tests/uninorm/test-nfc.c: New file.
44449         * tests/uninorm/test-u8-nfc.c: New file.
44450         * tests/uninorm/test-u16-nfc.c: New file.
44451         * tests/uninorm/test-u32-nfc.c: New file.
44452         * tests/uninorm/test-u32-nfc-big.sh: New file.
44453         * tests/uninorm/test-u32-nfc-big.c: New file.
44454         * modules/uninorm/nfc-tests: New file.
44455
44456         New module 'uninorm/nfc'.
44457         * lib/uninorm/nfc.c: New file.
44458         * modules/uninorm/nfc: New file.
44459
44460         Tests for module 'uninorm/nfd'.
44461         * tests/uninorm/test-nfd.c: New file.
44462         * tests/uninorm/test-u8-nfd.c: New file.
44463         * tests/uninorm/test-u16-nfd.c: New file.
44464         * tests/uninorm/test-u32-nfd.c: New file.
44465         * tests/uninorm/test-u32-nfd-big.sh: New file.
44466         * tests/uninorm/test-u32-nfd-big.c: New file.
44467         * tests/uninorm/test-u32-normalize-big.h: New file.
44468         * tests/uninorm/test-u32-normalize-big.c: New file.
44469         * tests/uninorm/NormalizationTest.txt: New file, created from
44470         Unicode 5.1.0 NormalizationTest.txt.
44471         * modules/uninorm/nfd-tests: New file.
44472
44473         New module 'uninorm/nfd'.
44474         * lib/uninorm/nfd.c: New file.
44475         * modules/uninorm/nfd: New file.
44476
44477         New module 'uninorm/u32-normalize'.
44478         * lib/uninorm/u32-normalize.c: New file.
44479         * modules/uninorm/u32-normalize: New file.
44480
44481         New module 'uninorm/u16-normalize'.
44482         * lib/uninorm/u16-normalize.c: New file.
44483         * modules/uninorm/u16-normalize: New file.
44484
44485         New module 'uninorm/u8-normalize'.
44486         * lib/uninorm/u8-normalize.c: New file.
44487         * lib/uninorm/normalize-internal.h: New file.
44488         * lib/uninorm/u-normalize-internal.h: New file.
44489         * modules/uninorm/u8-normalize: New file.
44490
44491         New module 'uninorm/decompose-internal'.
44492         * lib/uninorm/decompose-internal.c: New file.
44493         * modules/uninorm/decompose-internal: New file.
44494
44495         Tests for module 'uninorm/composition'.
44496         * tests/uninorm/test-composition.c: New file.
44497         * modules/uninorm/composition-tests: New file.
44498
44499         New module 'uninorm/composition'.
44500         * lib/uninorm/composition.c: New file.
44501         * lib/uninorm/composition-table.gperf: New file, generated by
44502         gen-uni-tables.
44503         * modules/uninorm/composition: New file.
44504
44505         Tests for module 'uninorm/compat-decomposition'.
44506         * tests/uninorm/test-compat-decomposition.c: New file.
44507         * modules/uninorm/compat-decomposition-tests: New file.
44508
44509         New module 'uninorm/compat-decomposition'.
44510         * lib/uninorm/decompose-internal.h: New file.
44511         * lib/uninorm/compat-decomposition.c: New file.
44512         * modules/uninorm/compat-decomposition: New file.
44513
44514         Tests for module 'uninorm/canonical-decomposition'.
44515         * tests/uninorm/test-canonical-decomposition.c: New file.
44516         * modules/uninorm/canonical-decomposition-tests: New file.
44517
44518         New module 'uninorm/canonical-decomposition'.
44519         * lib/uninorm/canonical-decomposition.c: New file.
44520         * modules/uninorm/canonical-decomposition: New file.
44521
44522         Tests for module 'uninorm/decomposition'.
44523         * tests/uninorm/test-decomposition.c: New file.
44524         * modules/uninorm/decomposition-tests: New file.
44525
44526         New module 'uninorm/decomposition'.
44527         * lib/uninorm/decomposition.c: New file.
44528         * modules/uninorm/decomposition: New file.
44529
44530         New module 'uninorm/decomposition-table'.
44531         * lib/uninorm/decomposition-table.h: New file.
44532         * lib/uninorm/decomposition-table.c: New file.
44533         * lib/uninorm/decomposition-table1.h: New file, generated by
44534         gen-uni-tables.
44535         * lib/uninorm/decomposition-table2.h: New file, generated by
44536         gen-uni-tables.
44537         * modules/uninorm/decomposition-table: New file.
44538
44539         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
44540         (UC_DECOMP_*): New enumeration items.
44541         (get_decomposition): New function.
44542         (struct decomp_table): New type.
44543         (output_decomposition, output_decomposition_tables): New functions.
44544         (unicode_composition_exclusions): New variable.
44545         (fill_composition_exclusions, debug_output_composition_tables): New
44546         functions.
44547         (main): Accept one more argument. Invoke fill_composition_exclusions.
44548         Output decomposition and composition tables.
44549
44550         New module 'uninorm/base'.
44551         * lib/uninorm.h: New file.
44552         * lib/unictype.h: Update comment.
44553         * modules/uninorm/base: New file.
44554
44555 2009-02-21  David Lutterkort  <lutter@redhat.com>
44556
44557         Tests for module 'safe-alloc'.
44558         * tests/test-safe-alloc.c: New file.
44559         * modules/safe-alloc-tests: New file.
44560
44561         New module 'safe-alloc'.
44562         * lib/safe-alloc.h: New file.
44563         * lib/safe-alloc.c: New file.
44564         * m4/safe-alloc.m4: New file.
44565         * modules/safe-alloc: New file.
44566         * doc/safe-alloc.texi: New file.
44567         * doc/gnulib.texi: Include it.
44568         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
44569         safe-alloc.
44570
44571 2009-02-18  Bruno Haible  <bruno@clisp.org>
44572
44573         Fix link error on non-glibc systems.
44574         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
44575         variable.
44576         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44577
44578 2009-02-18  Jim Meyering  <meyering@redhat.com>
44579
44580         fts: avoid used-uninitialized error due to recent change
44581         * lib/fts.c (fts_read): Guard uses of the new member,
44582         parent->fts_n_dirs_remaining, since it's not relevant for
44583         the parent of a directory specified on the command-line.
44584
44585 2009-02-17  James Youngman  <jay@gnu.org>
44586             Bruno Haible  <bruno@clisp.org>
44587
44588         * m4/include_next.m4: Reformulate comment.
44589
44590 2009-02-16  Jim Meyering  <meyering@redhat.com>
44591
44592         fts: add #if guards so that the fts_lgpl module still builds
44593         * lib/fts.c: Guard just-added hash-table-using parts with
44594         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
44595         Reported by Simon Josefsson.
44596
44597 2009-02-15  Bruno Haible  <bruno@clisp.org>
44598
44599         * modules/array-mergesort-tests: New file.
44600         * tests/test-array-mergesort.c: New file.
44601
44602         New module 'array-mergesort'.
44603         * modules/array-mergesort: New file.
44604         * lib/array-mergesort.h: New file.
44605
44606 2009-02-15  Bruno Haible  <bruno@clisp.org>
44607
44608         Fix 2009-02-07 commit.
44609         * lib/gen-uni-tables.c (output_predicate, output_category,
44610         output_combclass, output_bidi_category, output_decimal_digit,
44611         output_digit, output_numeric, output_mirror, output_scripts,
44612         output_ident_category, output_simple_mapping): Fix format directives.
44613         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
44614
44615 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
44616
44617         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
44618         fixes are available from IBM.
44619
44620 2009-02-13  Jim Meyering  <meyering@redhat.com>
44621
44622         fts: arrange not to stat non-directories in more cases
44623         This makes GNU find (when it doesn't need to stat each file)
44624         *much* more efficient at traversing reiserfs file systems.
44625         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
44626         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
44627         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
44628         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
44629         (leaf_optimization_applies): New function.
44630         (LCO_hash, LCO_compare): New helper functions.
44631         (link_count_optimize_ok): New function.
44632         (fts_stat): Initialize new member (if dir).
44633         (fts_read): Decrement parent's fts_n_dirs_remaining count if
44634         we've just stat'ed a directory.  Skip the stat call when possible.
44635         ---
44636         Note this AFS-related exchange:
44637         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
44638         and note find's pioctl call in find/fstype.c.
44639         But that is necessary only if you want to enable the
44640         optimization for AFS, and for now, I don't.
44641
44642         fts: move a function definition "up" (no semantic change)
44643         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
44644         "up" to precede upcoming use of a related function.
44645
44646 2009-02-11  Jim Meyering  <meyering@redhat.com>
44647
44648         fts: correct internal computation of nlinks (optimization-related)
44649         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
44650         whether the current entry is a directory, so don't test it.
44651
44652 2009-02-10  Bruno Haible  <bruno@clisp.org>
44653
44654         Tests for module 'uniwbrk/ulc-wordbreaks'.
44655         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
44656         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
44657         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
44658
44659         Tests for module 'uniwbrk/u32-wordbreaks'.
44660         * modules/uniwbrk/u32-wordbreaks-tests: New file.
44661         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
44662
44663         Tests for module 'uniwbrk/u16-wordbreaks'.
44664         * modules/uniwbrk/u16-wordbreaks-tests: New file.
44665         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
44666
44667         Tests for module 'uniwbrk/u8-wordbreaks'.
44668         * modules/uniwbrk/u8-wordbreaks-tests: New file.
44669         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
44670
44671 2009-02-10  Bruno Haible  <bruno@clisp.org>
44672
44673         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
44674         property.
44675         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
44676         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
44677         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
44678
44679 2009-02-10  Simon Josefsson  <simon@josefsson.org>
44680
44681         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
44682         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
44683
44684 2009-02-10  Bruno Haible  <bruno@clisp.org>
44685
44686         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
44687         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
44688         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
44689         * lib/unilbrk/u8-possible-linebreaks.c: Update.
44690         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
44691         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
44692
44693 2009-02-09  Simon Josefsson  <simon@josefsson.org>
44694
44695         * lib/sockets.h (gl_fd_to_handle): New function.
44696
44697         * tests/test-sockets.c: Call gl_fd_to_handle.
44698
44699 2009-02-09  Bruno Haible  <bruno@clisp.org>
44700
44701         * doc/havelib.texi: Document the conventions on bi-arch systems.
44702
44703 2009-02-08  Bruno Haible  <bruno@clisp.org>
44704
44705         Document the AC_LIB_LINKFLAGS macro.
44706         * doc/havelib.texi: New file, mostly written on 2005-05-24.
44707         * doc/gnulib.texi: Include it.
44708
44709 2009-02-08  Bruno Haible  <bruno@clisp.org>
44710
44711         Fix wrong order of sections, compared to TOC.
44712         * doc/gnulib.texi: Include relocatable-maint.texi after the
44713         "Regular expressions" node, not before.
44714
44715 2009-02-08  Bruno Haible  <bruno@clisp.org>
44716
44717         Tests for module 'unicase/totitle'.
44718         * modules/unicase/totitle-tests: New file.
44719
44720         Tests for module 'unicase/tolower'.
44721         * modules/unicase/tolower-tests: New file.
44722
44723         Tests for module 'unicase/toupper'.
44724         * modules/unicase/toupper-tests: New file.
44725         * tests/unicase/test-mapping-part1.h: New file.
44726         * tests/unicase/test-mapping-part2.h: New file.
44727
44728         New module 'unicase/totitle'.
44729         * modules/unicase/totitle: New file.
44730         * lib/unicase/totitle.c: New file.
44731
44732         New module 'unicase/tolower'.
44733         * modules/unicase/tolower: New file.
44734         * lib/unicase/tolower.c: New file.
44735
44736         New module 'unicase/toupper'.
44737         * modules/unicase/toupper: New file.
44738         * lib/unicase/toupper.c: New file.
44739         * lib/unicase/simple-mapping.h: New file.
44740
44741         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
44742         (mapping_table): New structure.
44743         (output_simple_mapping): New function.
44744         (main): Invoke output_simple_mapping_test and output_simple_mapping.
44745         * modules/gen-uni-tables (Description): Update.
44746         * lib/unicase/toupper.h: New file, automatically generated by
44747         gen-uni-tables.
44748         * lib/unicase/tolower.h: New file, automatically generated by
44749         gen-uni-tables.
44750         * lib/unicase/totitle.h: New file, automatically generated by
44751         gen-uni-tables.
44752         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
44753         gen-uni-tables.
44754         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
44755         gen-uni-tables.
44756         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
44757         gen-uni-tables.
44758
44759         New module 'unicase/base'.
44760         * modules/unicase/base: New file.
44761         * lib/unicase.h: New file.
44762
44763 2009-02-08  Bruno Haible  <bruno@clisp.org>
44764
44765         New module 'uniwbrk/ulc-wordbreaks'.
44766         * modules/uniwbrk/ulc-wordbreaks: New file.
44767         * lib/uniwbrk/ulc-wordbreaks.c: New file.
44768
44769         New module 'uniwbrk/u32-wordbreaks'.
44770         * modules/uniwbrk/u32-wordbreaks: New file.
44771         * lib/uniwbrk/u32-wordbreaks.c: New file.
44772
44773         New module 'uniwbrk/u16-wordbreaks'.
44774         * modules/uniwbrk/u16-wordbreaks: New file.
44775         * lib/uniwbrk/u16-wordbreaks.c: New file.
44776
44777         New module 'uniwbrk/u8-wordbreaks'.
44778         * modules/uniwbrk/u8-wordbreaks: New file.
44779         * lib/uniwbrk/u8-wordbreaks.c: New file.
44780         * lib/uniwbrk/u-wordbreaks.h: New file.
44781
44782         New module 'uniwbrk/table'.
44783         * modules/uniwbrk/table: New file.
44784         * lib/uniwbrk/wbrktable.h: New file.
44785         * lib/uniwbrk/wbrktable.c: New file.
44786
44787         New module 'uniwbrk/wordbreak-property'.
44788         * modules/uniwbrk/wordbreak-property: New file.
44789         * lib/uniwbrk/wordbreak-property.c: New file.
44790
44791         * lib/gen-uni-tables.c (WBP_*): New enum items.
44792         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
44793         (unicode_org_wbp): New variable.
44794         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
44795         New functions.
44796         (wbp_table): New structure.
44797         (output_wbp, output_wbrk_tables): New functions.
44798         (main): Accept additional argument. Invoke fill_org_wbp,
44799         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
44800         output_wbrk_tables.
44801         * modules/gen-uni-tables (Description): Update.
44802         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
44803         gen-uni-tables.
44804
44805         New module 'uniwbrk/base'.
44806         * modules/uniwbrk/base: New file.
44807         * lib/uniwbrk.h: New file.
44808
44809 2009-02-08  Bruno Haible  <bruno@clisp.org>
44810
44811         Update to Unicode 5.1.0.
44812         * lib/gen-uni-tables.c (is_property_alphabetic): Include
44813         U+2185..U+2188.
44814         (is_property_default_ignorable_code_point): Don't include characters
44815         of category Cc or Cs and not-a-characters.
44816         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
44817         U+0D79, U+109E, U+109F, U+A60C.
44818         * lib/unictype/bidi_of.h: Regenerated.
44819         * lib/unictype/blocks.h: Regenerated.
44820         * lib/unictype/categ_C.h: Regenerated.
44821         * lib/unictype/categ_Cf.h: Regenerated.
44822         * lib/unictype/categ_Cn.h: Regenerated.
44823         * lib/unictype/categ_L.h: Regenerated.
44824         * lib/unictype/categ_Ll.h: Regenerated.
44825         * lib/unictype/categ_Lm.h: Regenerated.
44826         * lib/unictype/categ_Lo.h: Regenerated.
44827         * lib/unictype/categ_Lu.h: Regenerated.
44828         * lib/unictype/categ_M.h: Regenerated.
44829         * lib/unictype/categ_Mc.h: Regenerated.
44830         * lib/unictype/categ_Me.h: Regenerated.
44831         * lib/unictype/categ_Mn.h: Regenerated.
44832         * lib/unictype/categ_N.h: Regenerated.
44833         * lib/unictype/categ_Nd.h: Regenerated.
44834         * lib/unictype/categ_Nl.h: Regenerated.
44835         * lib/unictype/categ_No.h: Regenerated.
44836         * lib/unictype/categ_P.h: Regenerated.
44837         * lib/unictype/categ_Pd.h: Regenerated.
44838         * lib/unictype/categ_Pe.h: Regenerated.
44839         * lib/unictype/categ_Pf.h: Regenerated.
44840         * lib/unictype/categ_Pi.h: Regenerated.
44841         * lib/unictype/categ_Po.h: Regenerated.
44842         * lib/unictype/categ_Ps.h: Regenerated.
44843         * lib/unictype/categ_S.h: Regenerated.
44844         * lib/unictype/categ_Sk.h: Regenerated.
44845         * lib/unictype/categ_Sm.h: Regenerated.
44846         * lib/unictype/categ_So.h: Regenerated.
44847         * lib/unictype/categ_of.h: Regenerated.
44848         * lib/unictype/combining.h: Regenerated.
44849         * lib/unictype/ctype_alnum.h: Regenerated.
44850         * lib/unictype/ctype_alpha.h: Regenerated.
44851         * lib/unictype/ctype_graph.h: Regenerated.
44852         * lib/unictype/ctype_lower.h: Regenerated.
44853         * lib/unictype/ctype_print.h: Regenerated.
44854         * lib/unictype/ctype_punct.h: Regenerated.
44855         * lib/unictype/ctype_upper.h: Regenerated.
44856         * lib/unictype/decdigit.h: Regenerated.
44857         * lib/unictype/digit.h: Regenerated.
44858         * lib/unictype/mirror.h: Regenerated.
44859         * lib/unictype/numeric.h: Regenerated.
44860         * lib/unictype/pr_alphabetic.h: Regenerated.
44861         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
44862         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
44863         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
44864         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
44865         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
44866         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
44867         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
44868         * lib/unictype/pr_combining.h: Regenerated.
44869         * lib/unictype/pr_dash.h: Regenerated.
44870         * lib/unictype/pr_decimal_digit.h: Regenerated.
44871         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
44872         * lib/unictype/pr_deprecated.h: Regenerated.
44873         * lib/unictype/pr_diacritic.h: Regenerated.
44874         * lib/unictype/pr_extender.h: Regenerated.
44875         * lib/unictype/pr_format_control.h: Regenerated.
44876         * lib/unictype/pr_grapheme_base.h: Regenerated.
44877         * lib/unictype/pr_grapheme_extend.h: Regenerated.
44878         * lib/unictype/pr_grapheme_link.h: Regenerated.
44879         * lib/unictype/pr_id_continue.h: Regenerated.
44880         * lib/unictype/pr_id_start.h: Regenerated.
44881         * lib/unictype/pr_ideographic.h: Regenerated.
44882         * lib/unictype/pr_ignorable_control.h: Regenerated.
44883         * lib/unictype/pr_lowercase.h: Regenerated.
44884         * lib/unictype/pr_math.h: Regenerated.
44885         * lib/unictype/pr_numeric.h: Regenerated.
44886         * lib/unictype/pr_other_alphabetic.h: Regenerated.
44887         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
44888         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
44889         * lib/unictype/pr_other_id_continue.h: Regenerated.
44890         * lib/unictype/pr_other_lowercase.h: Regenerated.
44891         * lib/unictype/pr_other_math.h: Regenerated.
44892         * lib/unictype/pr_punctuation.h: Regenerated.
44893         * lib/unictype/pr_sentence_terminal.h: Regenerated.
44894         * lib/unictype/pr_soft_dotted.h: Regenerated.
44895         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
44896         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
44897         * lib/unictype/pr_unified_ideograph.h: Regenerated.
44898         * lib/unictype/pr_uppercase.h: Regenerated.
44899         * lib/unictype/pr_xid_continue.h: Regenerated.
44900         * lib/unictype/pr_xid_start.h: Regenerated.
44901         * lib/unictype/pr_zero_width.h: Regenerated.
44902         * lib/unictype/scripts.h: Regenerated.
44903         * lib/unictype/scripts_byname.gperf: Regenerated.
44904         * lib/unictype/sy_java_ident.h: Regenerated.
44905         * lib/unilbrk/lbrkprop1.h: Regenerated.
44906         * lib/unilbrk/lbrkprop2.h: Regenerated.
44907         * tests/unictype/test-categ_C.c: Regenerated.
44908         * tests/unictype/test-categ_Cf.c: Regenerated.
44909         * tests/unictype/test-categ_Cn.c: Regenerated.
44910         * tests/unictype/test-categ_L.c: Regenerated.
44911         * tests/unictype/test-categ_Ll.c: Regenerated.
44912         * tests/unictype/test-categ_Lm.c: Regenerated.
44913         * tests/unictype/test-categ_Lo.c: Regenerated.
44914         * tests/unictype/test-categ_Lu.c: Regenerated.
44915         * tests/unictype/test-categ_M.c: Regenerated.
44916         * tests/unictype/test-categ_Mc.c: Regenerated.
44917         * tests/unictype/test-categ_Me.c: Regenerated.
44918         * tests/unictype/test-categ_Mn.c: Regenerated.
44919         * tests/unictype/test-categ_N.c: Regenerated.
44920         * tests/unictype/test-categ_Nd.c: Regenerated.
44921         * tests/unictype/test-categ_Nl.c: Regenerated.
44922         * tests/unictype/test-categ_No.c: Regenerated.
44923         * tests/unictype/test-categ_P.c: Regenerated.
44924         * tests/unictype/test-categ_Pd.c: Regenerated.
44925         * tests/unictype/test-categ_Pe.c: Regenerated.
44926         * tests/unictype/test-categ_Pf.c: Regenerated.
44927         * tests/unictype/test-categ_Pi.c: Regenerated.
44928         * tests/unictype/test-categ_Po.c: Regenerated.
44929         * tests/unictype/test-categ_Ps.c: Regenerated.
44930         * tests/unictype/test-categ_S.c: Regenerated.
44931         * tests/unictype/test-categ_Sk.c: Regenerated.
44932         * tests/unictype/test-categ_Sm.c: Regenerated.
44933         * tests/unictype/test-categ_So.c: Regenerated.
44934         * tests/unictype/test-ctype_alnum.c: Regenerated.
44935         * tests/unictype/test-ctype_alpha.c: Regenerated.
44936         * tests/unictype/test-ctype_graph.c: Regenerated.
44937         * tests/unictype/test-ctype_lower.c: Regenerated.
44938         * tests/unictype/test-ctype_print.c: Regenerated.
44939         * tests/unictype/test-ctype_punct.c: Regenerated.
44940         * tests/unictype/test-ctype_upper.c: Regenerated.
44941         * tests/unictype/test-decdigit.h: Regenerated.
44942         * tests/unictype/test-digit.h: Regenerated.
44943         * tests/unictype/test-numeric.h: Regenerated.
44944         * tests/unictype/test-pr_alphabetic.c: Regenerated.
44945         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
44946         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
44947         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
44948         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
44949         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
44950         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
44951         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
44952         * tests/unictype/test-pr_combining.c: Regenerated.
44953         * tests/unictype/test-pr_dash.c: Regenerated.
44954         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
44955         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
44956         * tests/unictype/test-pr_deprecated.c: Regenerated.
44957         * tests/unictype/test-pr_diacritic.c: Regenerated.
44958         * tests/unictype/test-pr_extender.c: Regenerated.
44959         * tests/unictype/test-pr_format_control.c: Regenerated.
44960         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
44961         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
44962         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
44963         * tests/unictype/test-pr_id_continue.c: Regenerated.
44964         * tests/unictype/test-pr_id_start.c: Regenerated.
44965         * tests/unictype/test-pr_ideographic.c: Regenerated.
44966         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
44967         * tests/unictype/test-pr_lowercase.c: Regenerated.
44968         * tests/unictype/test-pr_math.c: Regenerated.
44969         * tests/unictype/test-pr_numeric.c: Regenerated.
44970         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
44971         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
44972         Regenerated.
44973         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
44974         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
44975         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
44976         * tests/unictype/test-pr_other_math.c: Regenerated.
44977         * tests/unictype/test-pr_punctuation.c: Regenerated.
44978         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
44979         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
44980         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
44981         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
44982         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
44983         * tests/unictype/test-pr_uppercase.c: Regenerated.
44984         * tests/unictype/test-pr_xid_continue.c: Regenerated.
44985         * tests/unictype/test-pr_xid_start.c: Regenerated.
44986         * tests/unictype/test-pr_zero_width.c: Regenerated.
44987
44988         Update to Unicode 5.1.0.
44989         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
44990         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
44991         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
44992         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
44993         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
44994         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
44995         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
44996         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
44997         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
44998         (nonspacing_table_ind): Update.
44999         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45000
45001         Update to Unicode 5.1.0.
45002         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45003         code transform.
45004         * lib/uniname/uniname.c (unicode_character_name,
45005         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45006         * lib/uniname/uninames.h: Regenerated.
45007         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45008
45009 2009-02-07  Bruno Haible  <bruno@clisp.org>
45010
45011         Merge gen-ctype and gen-lbrk into a single program.
45012         * lib/gen-uni-tables.c: New file, incorporating
45013         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45014         Add directory prefixes to the names of the generated files.
45015         * lib/unictype/gen-ctype.c: Remove file.
45016         * lib/unilbrk/gen-lbrk.c: Remove file.
45017         * modules/gen-uni-tables: New file.
45018         * modules/unictype/gen-ctype: Remove file.
45019         * modules/unilbrk/gen-lbrk: Remove file.
45020
45021 2009-02-07  Bruno Haible  <bruno@clisp.org>
45022
45023         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45024
45025         New module 'unistr/u32-strcoll'.
45026         * modules/unistr/u32-strcoll: New file.
45027         * lib/unistr/u32-strcoll.c: New file.
45028
45029         New module 'unistr/u16-strcoll'.
45030         * modules/unistr/u16-strcoll: New file.
45031         * lib/unistr/u16-strcoll.c: New file.
45032
45033         New module 'unistr/u8-strcoll'.
45034         * modules/unistr/u8-strcoll: New file.
45035         * lib/unistr/u8-strcoll.c: New file.
45036         * lib/unistr/u-strcoll.h: New file.
45037
45038 2009-02-07  Bruno Haible  <bruno@clisp.org>
45039
45040         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45041         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45042         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45043         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45044         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45045         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45046
45047 2009-02-07  Bruno Haible  <bruno@clisp.org>
45048
45049         Make 64-bit clean.
45050         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45051         output_combclass, output_bidi_category, output_decimal_digit,
45052         output_digit, output_numeric, output_mirror, output_scripts,
45053         output_ident_category): Use proper width specifier in format strings.
45054
45055 2009-02-07  Bruno Haible  <bruno@clisp.org>
45056
45057         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45058         failure behaviour.
45059
45060 2009-02-07  Jim Meyering  <meyering@redhat.com>
45061
45062         regex: avoid compilation failure with upcoming gcc-4.4
45063         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45064         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45065         "... error: integer overflow in preprocessor expression".
45066
45067 2009-02-05  Ben Pfaff  <blp@gnu.org>
45068
45069         Fix link errors on Windows when close module is used.
45070         * modules/close: Add $(LIB_CLOSE) to Link section.
45071         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45072         $(LIB_CLOSE) on Windows.
45073
45074 2009-02-05  Jim Meyering  <meyering@redhat.com>
45075
45076         still avoid unused-parameter warnings, but do it cleanly
45077         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45078         (get_fs_usage): Cast to void instead.
45079         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45080         (dev_from_mount_options, read_file_system_list): Cast to void.
45081         Prompted by Bruno Haible.
45082
45083 2009-02-04  Jim Meyering  <meyering@redhat.com>
45084
45085         fsusage.c: correct copyright year
45086         * lib/fsusage.c: Reflect year in which the change is pushed into
45087
45088         avoid misc. warnings
45089         * lib/fsusage.c (UNUSED_PARAM): Define.
45090         (get_fs_usage): Mark parameter "disk" as unused.
45091         * lib/getugroups.c (getgrent): Use "void" in prototype.
45092         * lib/mountlist.c: Mark unused parameters.
45093         (read_file_system_list): Declare a local with "const".
45094         * lib/nanosleep.c (getnow): Declare static.
45095         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45096
45097         dirfd: set errno upon failure
45098         * lib/dirfd.c: Include <errno.h>.
45099         Set errno to ENOTSUP when returning -1.
45100         * modules/dirfd (Depends-on): Add errno.
45101         Suggested by John Kodis <kodis@comcast.net>.
45102
45103 2009-02-01  Bruno Haible  <bruno@clisp.org>
45104
45105         Don't assume sizeof (long) >= sizeof (void *).
45106         * lib/memcmp.c: Include stdint.h.
45107         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45108         srcp2 to 'const byte *'.
45109         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45110         types to uintptr_t.
45111         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45112         * modules/memcmp (Depends-on): Add stdint.
45113         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45114
45115 2009-01-30  Eric Blake  <ebb9@byu.net>
45116
45117         fix more require-before-expand issues
45118         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45119         expand, AC_PROG_AWK.
45120         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45121
45122 2009-01-28  Eric Blake  <ebb9@byu.net>
45123
45124         version-etc: use consistent URL formatting
45125         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45126         Improve formatting.  Use fputs for string without %.
45127
45128 2009-01-28  Jim Meyering  <meyering@redhat.com>
45129
45130         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45131         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45132         "underquoted definition of NAME" from autoconf-2.59.
45133
45134 2009-01-28  Bruno Haible  <bruno@clisp.org>
45135
45136         * doc/gnulib.texi: Add "Obsolete modules" to index.
45137
45138 2009-01-28  Jim Meyering  <meyering@redhat.com>
45139
45140         useless-if-before-free: recognize more variants
45141         * build-aux/useless-if-before-free: Also recognize e.g.,
45142         if (NULL != p) free (p);
45143
45144 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45145
45146         test-getaddrinfo: skip (don't fail) this test when there's no network
45147         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45148         on the presumption that it means you lack network access.
45149
45150 2009-01-26  Jim Meyering  <meyering@redhat.com>
45151
45152         fflush: avoid warnings on modern systems
45153         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45154         pos and result, into scopes where they're used.
45155
45156 2009-01-26  Eric Blake  <ebb9@byu.net>
45157
45158         Silence warning reintroduced by recent extensions patch.
45159         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
45160         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
45161         autoconf.
45162
45163         Backport improved autoconf semantics of AC_DEFUN_ONCE.
45164         * m4/00gnulib.m4: New file.
45165         * gnulib-tool (func_get_filelist): Always use it.
45166         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
45167         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
45168
45169 2009-01-25  Bruno Haible  <bruno@clisp.org>
45170
45171         Make test-quotearg work on MacOS X and AIX.
45172         * tests/test-quotearg.sh: New file.
45173         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45174         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45175         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45176         include <libintl.h>.
45177         (fake_locale): Remove variable.
45178         (gettext, dgettext, dcgettext): Remove functions.
45179         (main): Instead of setting a fake locale, set a real locale. Call
45180         textdomain and bindtextdomain.
45181         * modules/quotearg-tests (Files): Add the new files.
45182         (Depends-on): Add gettext, setenv, unsetenv.
45183         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45184         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45185         Augment TESTS_ENVIRONMENT.
45186
45187 2009-01-25  Bruno Haible  <bruno@clisp.org>
45188
45189         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
45190         fr_FR.ISO8859-1 locale on MacOS X.
45191         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
45192         ja_JP.eucJP locale on MacOS X.
45193         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
45194         zh_CN.GB18030 locale on MacOS X.
45195
45196 2009-01-25  Bruno Haible  <bruno@clisp.org>
45197
45198         Avoid link errors on MacOS X 10.3.
45199         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
45200         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45201
45202 2009-01-25  Bruno Haible  <bruno@clisp.org>
45203
45204         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45205         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
45206         * modules/pipe (Files): Remove m4/posix_spawn.m4.
45207         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45208         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
45209         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45210         posix_spawnattr_init, posix_spawnattr_setsigmask,
45211         posix_spawnattr_setflags, posix_spawnattr_destroy.
45212
45213         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45214         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
45215         * modules/execute (Files): Remove m4/posix_spawn.m4.
45216         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45217         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45218         posix_spawnattr_init, posix_spawnattr_setsigmask,
45219         posix_spawnattr_setflags, posix_spawnattr_destroy.
45220
45221 2009-01-25  Bruno Haible  <bruno@clisp.org>
45222
45223         * lib/glthread/threadlib.c: Include <stdlib.h>.
45224
45225 2009-01-25  Bruno Haible  <bruno@clisp.org>
45226
45227         * lib/glthread/threadlib.c (dummy): New declaration.
45228
45229 2009-01-25  Bruno Haible  <bruno@clisp.org>
45230
45231         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
45232         multibyte characters also for the GB18030 encoding. Don't crash when
45233         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
45234
45235 2009-01-25  Bruno Haible  <bruno@clisp.org>
45236
45237         Avoid redefining 'struct random_data' on OSF/1 5.1.
45238         * lib/stdlib.in.h: Include <random.h> if it exists.
45239         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
45240         HAVE_RANDOM_H. Include <random.h> when testing whether
45241         'struct random_data' exists.
45242         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
45243
45244 2009-01-25  Bruno Haible  <bruno@clisp.org>
45245
45246         Don't install charset.alias on MacOS X >= 10.3.
45247         * lib/localcharset.c (DARWIN7): New macro.
45248         (get_charset_aliases): Hardcode the result for Darwin7.
45249         * modules/localcharset (install-exec-local): Don't install
45250         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
45251
45252 2009-01-25  Bruno Haible  <bruno@clisp.org>
45253
45254         Don't install charset.alias on mingw and Cygwin.
45255         * modules/localcharset (install-exec-local): Don't install
45256         charset.alias on mingw and Cygwin, if the file does not yet exist.
45257         The result for these platforms is hardcoded in localcharset.c.
45258
45259 2009-01-25  Bruno Haible  <bruno@clisp.org>
45260
45261         Make it possible again to use AC_GNU_SOURCE together with gnulib.
45262         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
45263         before requiring AC_USE_SYSTEM_EXTENSIONS.
45264
45265 2009-01-25  Jim Meyering  <meyering@redhat.com>
45266
45267         c-strtod: avoid warnings
45268         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
45269         "assignment discards qualifiers from pointer target type" warnings.
45270
45271 2009-01-24  Bruno Haible  <bruno@clisp.org>
45272
45273         Add support for non-UTF-8 locales on MacOS X.
45274         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
45275         canonical encodings. For Darwin 7 and newer, don't map traditional
45276         encodings to UTF-8.
45277         Reported by Vincent Lefevre <vincent@vinc17.org>
45278         at <http://savannah.gnu.org/bugs/?25235>.
45279
45280 2009-01-24  Bruno Haible  <bruno@clisp.org>
45281
45282         * doc/gnulib.texi (Obsolete modules): New section.
45283         Reported by Mike Frysinger <vapier@gentoo.org>.
45284
45285 2009-01-24  Bruno Haible  <bruno@clisp.org>
45286
45287         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
45288         (%.dvi): New rule.
45289
45290 2009-01-24  Bruno Haible  <bruno@clisp.org>
45291
45292         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
45293         Reported by Eric Blake.
45294
45295 2009-01-24  Bruno Haible  <bruno@clisp.org>
45296
45297         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
45298         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
45299         Reported by Gary V. Vaughan <gary@gnu.org>.
45300
45301 2009-01-24  Bruno Haible  <bruno@clisp.org>
45302
45303         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
45304
45305 2009-01-23  Bruno Haible  <bruno@clisp.org>
45306
45307         Make c-strtod, c-strtold usable in libraries.
45308         * lib/c-strtod.c: Include string.h instead of xalloc.h.
45309         (C_STRTOD): Call strdup instead of xstrdup.
45310         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
45311         * modules/c-strtold (Depends-on): Likewise.
45312         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
45313         * NEWS: Mention the change.
45314         Reported by Michael Gold <mgold@ncf.ca>.
45315
45316 2009-01-23  Jim Meyering  <meyering@redhat.com>
45317
45318         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
45319         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
45320         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
45321
45322 2009-01-23  Simon Josefsson  <simon@josefsson.org>
45323
45324         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
45325         GNU CoreUtils.
45326         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
45327         * modules/version-etc (Description): Update.
45328
45329 2009-01-22  Bruno Haible  <bruno@clisp.org>
45330
45331         Cache the C locale object.
45332         * lib/c-strtod.c (c_locale_cache): New variable.
45333         (c_locale): New function.
45334         (C_STRTOD): Use it, and don't call freelocale.
45335         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
45336         Suggested by Paolo Bonzini.
45337
45338 2009-01-21  Bruno Haible  <bruno@clisp.org>
45339
45340         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
45341         conditions other than overflow.
45342
45343 2009-01-21  Bruno Haible  <bruno@clisp.org>
45344
45345         * lib/c-strtod.c: Include errno.h.
45346         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
45347         value from STRTOD_L and STRTOD.
45348
45349 2009-01-21  Bruno Haible  <bruno@clisp.org>
45350         and Jim Meyering  <meyering@redhat.com>
45351
45352         nanosleep: skip configure test (fail it) for apple universal builds
45353         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
45354         universal builds, assume that nanosleep does not work.
45355         * modules/nanosleep (Depends-on): Add multiarch.
45356
45357         mktime: skip configure test (fail it) for apple universal builds
45358         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
45359         universal builds, assume that mktime does not work.
45360         * modules/mktime (Depends-on): Add multiarch.
45361
45362 2009-01-21  Eric Blake  <ebb9@byu.net>
45363
45364         multiarch: avoid expand-before-require warning
45365         * modules/multiarch (configure.ac): Require, rather than expand,
45366         gl_MULTIARCH.
45367         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
45368         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
45369         enforce that all clients require it.  Partial reversion of
45370         2008-12-29 patch.
45371
45372         error: avoid expand-before-require warning
45373         * modules/errno (configure.ac): Require, rather than expand,
45374         gl_HEADER_ERRNO_H.
45375         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
45376         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
45377         enforce that all clients require it.
45378
45379         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
45380         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
45381         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
45382         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
45383
45384 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
45385
45386         Revert:
45387         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45388
45389         regex: do not depend on obsolete modules.
45390         * modules/regex: Remove memcmp and memmove.
45391
45392 2009-01-20  Bruno Haible  <bruno@clisp.org>
45393
45394         Make the 'link' module link on Windows NT 4.
45395         * lib/link.c (_WIN32_WINNT): Don't define.
45396         (CreateHardLinkFuncType): New type.
45397         (CreateHardLinkFunc, initialized): New variables.
45398         (initialize): New function.
45399         (link): Invoke CreateHardLink indirectly through the function pointer.
45400
45401 2009-01-20  Bruno Haible  <bruno@clisp.org>
45402
45403         Fix compilation failure on mingw.
45404         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
45405
45406 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
45407
45408         * doc/c-strtod.texi: Mention a couple of restrictions.
45409
45410 2009-01-20  Jim Meyering  <meyering@redhat.com>
45411
45412         gettimeofday: move more declarations out of functions
45413         * lib/gettimeofday.c: Move extern declarations of tzset and
45414         gmtime out of containing functions.  Prompted by Bruno Haible.
45415
45416 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45417
45418         regex: do not depend on obsolete modules.
45419         * modules/regex: Remove memcmp and memmove.
45420
45421 2009-01-19  Bruno Haible  <bruno@clisp.org>
45422
45423         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45424         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
45425         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45426         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
45427         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
45428
45429 2009-01-19  Bruno Haible  <bruno@clisp.org>
45430
45431         * tests/test-link.c: Include <errno.h>.
45432         (main): Exit with code 77 when a hard link cannot be created due to
45433         the file system.
45434         * tests/test-link.sh: Skip test when a hard link cannot be created due
45435         to the file system.
45436         Suggested by Eric Blake.
45437
45438 2009-01-19  Martin Lambers  <marlam@marlam.de>
45439
45440         * modules/link-tests: New file.
45441         * tests/test-link.sh: New file.
45442         * tests/test-link.c: New file.
45443
45444 2009-01-19  Eric Blake  <ebb9@byu.net>
45445
45446         doc: mention another function added in cygwin 1.7.0
45447         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
45448         Another new function in cygwin 1.7.
45449
45450 2009-01-19  Bruno Haible  <bruno@clisp.org>
45451
45452         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45453         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
45454         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
45455         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45456         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45457         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
45458         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45459         * m4/md4.m4 (gl_MD4): Likewise.
45460         * m4/md5.m4 (gl_MD5): Likewise.
45461         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
45462         * m4/sha1.m4 (gl_SHA1): Likewise.
45463         * m4/sha256.m4 (gl_SHA256): Likewise.
45464         * m4/sha512.m4 (gl_SHA512): Likewise.
45465
45466 2009-01-19  Bruno Haible  <bruno@clisp.org>
45467
45468         * modules/uniname/uniname-tests (Depends-on): Add progname.
45469         * tests/uniname/test-uninames.c: Include progname.h.
45470         (main): Call set_program_name.
45471
45472         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
45473         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
45474         (main): Call set_program_name.
45475
45476         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
45477         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
45478         (main): Call set_program_name.
45479
45480         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
45481         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
45482         (main): Call set_program_name.
45483
45484         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
45485         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
45486         (main): Call set_program_name.
45487
45488         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
45489         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
45490         (main): Call set_program_name.
45491
45492         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
45493         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
45494         (main): Call set_program_name.
45495
45496         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
45497         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
45498         (main): Call set_program_name.
45499
45500         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
45501         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
45502         (main): Call set_program_name.
45503
45504 2009-01-19  Eric Blake  <ebb9@byu.net>
45505
45506         test-unistd: test previous patch
45507         * tests/test-unistd.c: Test *_FILENO macros.
45508
45509         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
45510         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45511         Guarantee a definition.
45512         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
45513         * modules/unistd-safer (Depends-on): Add dependency on unistd.
45514         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
45515         * lib/dup-safer.c (STDERR_FILENO): Likewise.
45516         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45517         Likewise.
45518         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
45519         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
45520         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45521         Likewise.
45522         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
45523         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
45524         (STDERR_FILENO): Likewise.
45525         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
45526         (STDERR_FILENO): Likewise.
45527         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
45528         (STDERR_FILENO): Likewise.
45529         Reported by Elbert Pol.
45530
45531 2009-01-19  Eric Blake  <ebb9@byu.net>
45532
45533         doc: mention more functions added in cygwin 1.7.0
45534         * doc/posix-functions/abort.texi (abort): Update wording related
45535         to cygwin.
45536         * doc/posix-functions/daylight.texi (daylight): Likewise.
45537         * doc/posix-functions/optarg.texi (optarg): Likewise.
45538         * doc/posix-functions/optarg.texi (opterr): Likewise.
45539         * doc/posix-functions/optarg.texi (optind): Likewise.
45540         * doc/posix-functions/optarg.texi (optopt): Likewise.
45541         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
45542         worked in 1.5.x, and was withdrawn in 1.7.
45543         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
45544         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
45545         cygwin versions.
45546         * doc/posix-functions/perror.texi (perror): Likewise.
45547         * doc/posix-functions/printf.texi (printf): Likewise.
45548         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
45549         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
45550         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
45551         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
45552         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45553         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
45554         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
45555         Likewise.
45556         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
45557         Likewise.
45558         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
45559         this function.
45560         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
45561         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
45562         Likewise.
45563         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
45564         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
45565         * doc/posix-functions/confstr.texi (confstr): Likewise.
45566         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
45567         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
45568         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
45569         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
45570         * doc/posix-functions/fputws.texi (fputws): Likewise.
45571         * doc/posix-functions/fwide.texi (fwide): Likewise.
45572         * doc/posix-functions/getwc.texi (getwc): Likewise.
45573         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
45574         * doc/posix-functions/putwc.texi (putwc): Likewise.
45575         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
45576         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
45577         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
45578         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
45579         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
45580         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
45581         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
45582         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
45583         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
45584         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
45585         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
45586
45587 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45588
45589         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
45590         * lib/ioctl.c: Include <sys/ioctl.h>.
45591
45592 2009-01-19  Simon Josefsson  <simon@josefsson.org>
45593
45594         * modules/getdate-tests (Depends-on): Add progname.
45595         * tests/test-getdate.c: Use progname module, to avoid link errors
45596         on non-glibc systems.
45597
45598 2009-01-18  Simon Josefsson  <simon@josefsson.org>
45599
45600         * modules/filenamecat-tests (Depends-on): Add progname.
45601         * modules/fstrcmp-tests (Depends-on): Likewise.
45602
45603         * tests/test-filenamecat.c: Use progname module, to avoid link
45604         errors on non-glibc systems.
45605         * tests/test-fstrcmp.c: Likewise.
45606
45607 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45608
45609         gettimeofday: avoid warning: nested extern declaration of 'localtime'
45610         * lib/gettimeofday.c: Move extern declaration out of function.
45611
45612 2009-01-18  Bruno Haible  <bruno@clisp.org>
45613
45614         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
45615         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
45616         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
45617
45618 2009-01-18  Bruno Haible  <bruno@clisp.org>
45619
45620         * lib/strftime.c (MEMPCPY): Remove unused macro.
45621         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
45622
45623 2009-01-18  Martin Lambers  <marlam@marlam.de>
45624
45625         New module 'link'.
45626         * lib/unistd.in.h (link): New declaration.
45627         * lib/link.c: New file.
45628         * m4/link.m4: New file.
45629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
45630         HAVE_LINK.
45631         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
45632         * modules/link: New file.
45633         * doc/posix-functions/link.texi: Mention the new module.
45634
45635 2009-01-18  Bruno Haible  <bruno@clisp.org>
45636
45637         * tests/test-avltree_list.c (main): Call set_program_name.
45638         * tests/test-avltree_oset.c (main): Likewise.
45639         * tests/test-obstack-printf.c: Include progname.h.
45640         (main): Call set_program_name.
45641         * tests/test-quotearg.c: Include progname.h.
45642         (main): Call set_program_name.
45643         * tests/test-xmemdup0.c: Include progname.h.
45644         (main): Call set_program_name.
45645
45646 2009-01-18  Bruno Haible  <bruno@clisp.org>
45647
45648         New module 'alphasort'.
45649         * lib/dirent.in.h (alphasort): New declaration.
45650         * lib/alphasort.c: New file, from glibc with modifications.
45651         * m4/alphasort.m4: New file.
45652         * modules/alphasort: New file.
45653         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
45654         HAVE_ALPHASORT.
45655         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
45656         HAVE_ALPHASORT.
45657         * doc/posix-functions/alphasort.texi: Mention the new module and the
45658         portability problems.
45659
45660 2009-01-18  Bruno Haible  <bruno@clisp.org>
45661
45662         New module 'scandir'.
45663         * lib/dirent.in.h (scandir): New declaration.
45664         * lib/scandir.c: New file, from glibc with modifications.
45665         * m4/scandir.m4: New file.
45666         * modules/scandir: New file.
45667         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
45668         HAVE_SCANDIR.
45669         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
45670         HAVE_SCANDIR.
45671         * doc/posix-functions/scandir.texi: Mention the new module and the
45672         portability problems.
45673
45674 2009-01-17  Bruno Haible  <bruno@clisp.org>
45675
45676         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
45677         Update documentation.
45678         (func_remove_suffix): Escape all dots in the suffix. Update
45679         documentation.
45680         (func_filter_filelist): Update documentation.
45681         Reported by Ralf Wildenhues.
45682
45683 2009-01-17  Bruno Haible  <bruno@clisp.org>
45684
45685         * modules/dprintf-posix-tests: New file.
45686         * tests/test-dprintf-posix.sh: New file.
45687         * tests/test-dprintf-posix.c: New file.
45688
45689         New modules 'dprintf', 'dprintf-posix'.
45690         * lib/stdio.in.h (dprintf): New declaration.
45691         * lib/dprintf.c: New file.
45692         * m4/dprintf.m4: New file.
45693         * m4/dprintf-posix.m4: New file.
45694         * modules/dprintf: New file.
45695         * modules/dprintf-posix: New file.
45696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
45697         HAVE_DPRINTF, REPLACE_DPRINTF.
45698         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
45699         HAVE_DPRINTF, REPLACE_DPRINTF.
45700         * doc/posix-functions/dprintf.texi: Mention the new modules.
45701
45702 2009-01-17  Bruno Haible  <bruno@clisp.org>
45703
45704         * modules/vdprintf-posix-tests: New file.
45705         * tests/test-vdprintf-posix.sh: New file.
45706         * tests/test-vdprintf-posix.c: New file.
45707
45708         New modules 'vdprintf', 'vdprintf-posix'.
45709         * lib/stdio.in.h (vdprintf): New declaration.
45710         * lib/vdprintf.c: New file.
45711         * m4/vdprintf.m4: New file.
45712         * m4/vdprintf-posix.m4: New file.
45713         * modules/vdprintf: New file.
45714         * modules/vdprintf-posix: New file.
45715         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
45716         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45717         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
45718         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45719         * doc/posix-functions/vdprintf.texi: Mention the new modules.
45720
45721 2009-01-17  Bruno Haible  <bruno@clisp.org>
45722
45723         Fix replacement of fopen on mingw.
45724         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
45725         mingw.
45726
45727 2009-01-17  Bruno Haible  <bruno@clisp.org>
45728
45729         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
45730         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
45731
45732 2009-01-17  Bruno Haible  <bruno@clisp.org>
45733
45734         Avoid test-fflush2.sh failure on mingw.
45735         * tests/test-fflush2.c: Include binary-io.h.
45736         (main): Put standard input into binary mode.
45737         * modules/fflush-tests (Depends-on): Add binary-io.
45738
45739 2009-01-17  Bruno Haible  <bruno@clisp.org>
45740
45741         * lib/wchar.in.h: In another particular situation, include only the
45742         system's <wchar.h> file.
45743         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
45744         Reported by Albert Chin-A-Young <china@thewrittenword.com>
45745         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
45746
45747 2009-01-17  Bruno Haible  <bruno@clisp.org>
45748
45749         Support for stripping executables in --enable-relocatable.
45750         * build-aux/install-reloc: Expect one more argument, or an environment
45751         variable RELOC_STRIP_PROG. If set, strip the destination program and
45752         its wrapper.
45753         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
45754         RELOC_STRIP_PROG.
45755         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
45756         to set RELOCATABLE_STRIP.
45757         * NEWS: Mention the new Makefile requirement.
45758
45759 2009-01-17  Bruno Haible  <bruno@clisp.org>
45760
45761         * build-aux/install-reloc: Remove debugging information left over by
45762         C compiler on MacOS X.
45763
45764 2009-01-17  Bruno Haible  <bruno@clisp.org>
45765
45766         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
45767         * lib/progreloc.c (find_executable): Fix type of pointer passed to
45768         _NSGetExecutablePath.
45769
45770 2009-01-16  Jim Meyering  <meyering@redhat.com>
45771
45772         strerror: avoid warnings about discarding "const"
45773         * lib/strerror.c (rpl_strerror): Instead of returning a const
45774         string from each and every "case", use a variable, and add a single
45775         cast after the switch.
45776
45777 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
45778
45779         * lib/arpa_inet.in.h: Add extern "C" block for C++.
45780
45781 2009-01-16  Bruno Haible  <bruno@clisp.org>
45782
45783         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
45784         array initializer syntax that also works in C++ mode.
45785         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45786
45787 2009-01-16  Jim Meyering  <meyering@redhat.com>
45788
45789         poll: suppress a warning
45790         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
45791         to ignore "...unsigned expression < 0 is always false" warnings.
45792
45793 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
45794
45795         poll: remove declarations of unused variables
45796         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
45797         sockbuf and optlen.
45798
45799 2009-01-15  Bruno Haible  <bruno@clisp.org>
45800
45801         Make fflush-after-ungetc POSIX compliant on BSD systems.
45802         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
45803         (clear_ungetc_buffer): Implement also for other systems.
45804         (rpl_fflush): On glibc systems, invoke
45805         clear_ungetc_buffer_preserving_position. Otherwise, invoke
45806         clear_ungetc_buffer after fetching the stream's position, not before.
45807
45808 2009-01-15  Bruno Haible  <bruno@clisp.org>
45809
45810         Make fflush-after-ungetc POSIX compliant on glibc systems.
45811         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
45812         after ungetc.
45813         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
45814         (rpl_fflush): On glibc systems, simply call the system's fflush
45815         function after clearing the ungetc buffer.
45816         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
45817         Instead, lseek only to the end of file, then use the system's fseeko
45818         for the rest. On glibc systems, reset the EOF indicator bit.
45819
45820 2009-01-15  Jim Meyering  <meyering@redhat.com>
45821
45822         openmp.m4: revert quote-adding change, for portability to older autoconf
45823         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
45824         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
45825         Simon Josefsson noticed the problem when using autoconf-2.61.
45826
45827 2009-01-15  Bruno Haible  <bruno@clisp.org>
45828
45829         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
45830         * tests/test-fflush2.c (ASSERT): Always fail.
45831         (main): Add two tests for fflush() after ungetc(), taking into account
45832         the Austin Group's clarification.
45833         Suggested by Eric Blake.
45834
45835 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
45836
45837         mktime.m4: remove K&R-style function prototypes
45838         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
45839         for the Sun C++ compiler.
45840
45841 2009-01-14  Bruno Haible  <bruno@clisp.org>
45842
45843         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
45844         while including <wchar.h>.
45845         * lib/wchar.in.h: In two particular situations on HP-UX, include only
45846         the system's <wchar.h> file.
45847         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45848
45849 2009-01-14  Bruno Haible  <bruno@clisp.org>
45850
45851         * m4/csharp.m4: Don't mention gettext on the serial number line.
45852         * m4/csharpexec.m4: Likewise.
45853         * m4/eaccess.m4: Likewise.
45854         * m4/javaexec.m4: Likewise.
45855         * m4/sig_atomic_t.m4: Likewise.
45856         * m4/tmpdir.m4: Likewise.
45857         * m4/intldir.m4: Bump gettext version.
45858         * m4/lib-ld.m4: Likewise.
45859
45860 2009-01-14  Bruno Haible  <bruno@clisp.org>
45861
45862         * lib/progname.c (set_program_name): Add more comments.
45863         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
45864
45865 2009-01-14  Simon Josefsson  <simon@josefsson.org>
45866
45867         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
45868         were sys/stat.h does not define it.
45869
45870 2009-01-14  Jim Meyering  <meyering@redhat.com>
45871
45872         many *.m4 files: improve m4 quoting
45873         99% of this change was performed by running the following commands:
45874         git ls-files | grep '\.m4$' | xargs perl -pi \
45875           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
45876           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45877           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45878           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
45879         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
45880         The remainder were to add Copyright dates, increment serial numbers,
45881         undo some changes in comments, exclude m4/intl.m4, and add quotes
45882         around the "1" in ",1" where the unusual spacing prohibited the
45883         above regexps from doing the job.  For more details, see
45884         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
45885         * m4/acl.m4: Modified.
45886         * m4/afs.m4: Likewise.
45887         * m4/alloca.m4: Likewise.
45888         * m4/argp.m4: Likewise.
45889         * m4/argz.m4: Likewise.
45890         * m4/atexit.m4: Likewise.
45891         * m4/bison-i18n.m4: Likewise.
45892         * m4/bison.m4: Likewise.
45893         * m4/byteswap.m4: Likewise.
45894         * m4/c-stack.m4: Likewise.
45895         * m4/c-strtod.m4: Likewise.
45896         * m4/calloc.m4: Likewise.
45897         * m4/canonicalize-lgpl.m4: Likewise.
45898         * m4/chown.m4: Likewise.
45899         * m4/clock_time.m4: Likewise.
45900         * m4/codeset.m4: Likewise.
45901         * m4/copy-file.m4: Likewise.
45902         * m4/csharp.m4: Likewise.
45903         * m4/csharpcomp.m4: Likewise.
45904         * m4/csharpexec.m4: Likewise.
45905         * m4/d-ino.m4: Likewise.
45906         * m4/d-type.m4: Likewise.
45907         * m4/dirfd.m4: Likewise.
45908         * m4/double-slash-root.m4: Likewise.
45909         * m4/eaccess.m4: Likewise.
45910         * m4/eealloc.m4: Likewise.
45911         * m4/environ.m4: Likewise.
45912         * m4/errno_h.m4: Likewise.
45913         * m4/euidaccess.m4: Likewise.
45914         * m4/execute.m4: Likewise.
45915         * m4/fatal-signal.m4: Likewise.
45916         * m4/fchdir.m4: Likewise.
45917         * m4/fcntl_h.m4: Likewise.
45918         * m4/fileblocks.m4: Likewise.
45919         * m4/filenamecat.m4: Likewise.
45920         * m4/findprog.m4: Likewise.
45921         * m4/flexmember.m4: Likewise.
45922         * m4/fnmatch.m4: Likewise.
45923         * m4/fopen.m4: Likewise.
45924         * m4/fpending.m4: Likewise.
45925         * m4/fprintf-posix.m4: Likewise.
45926         * m4/free.m4: Likewise.
45927         * m4/frexp.m4: Likewise.
45928         * m4/frexpl.m4: Likewise.
45929         * m4/fsusage.m4: Likewise.
45930         * m4/ftruncate.m4: Likewise.
45931         * m4/gc-camellia.m4: Likewise.
45932         * m4/gc-random.m4: Likewise.
45933         * m4/gc.m4: Likewise.
45934         * m4/getaddrinfo.m4: Likewise.
45935         * m4/getcwd-abort-bug.m4: Likewise.
45936         * m4/getcwd-path-max.m4: Likewise.
45937         * m4/getdate.m4: Likewise.
45938         * m4/getdomainname.m4: Likewise.
45939         * m4/getgroups.m4: Likewise.
45940         * m4/gethostname.m4: Likewise.
45941         * m4/gethrxtime.m4: Likewise.
45942         * m4/getline.m4: Likewise.
45943         * m4/getloadavg.m4: Likewise.
45944         * m4/getndelim2.m4: Likewise.
45945         * m4/getpass.m4: Likewise.
45946         * m4/gettext.m4: Likewise.
45947         * m4/gettime.m4: Likewise.
45948         * m4/gettimeofday.m4: Likewise.
45949         * m4/gnulib-common.m4: Likewise.
45950         * m4/group-member.m4: Likewise.
45951         * m4/host-os.m4: Likewise.
45952         * m4/iconv.m4: Likewise.
45953         * m4/iconv_open.m4: Likewise.
45954         * m4/inet_ntop.m4: Likewise.
45955         * m4/inet_pton.m4: Likewise.
45956         * m4/inline.m4: Likewise.
45957         * m4/intldir.m4: Likewise.
45958         * m4/intlmacosx.m4: Likewise.
45959         * m4/intmax.m4: Likewise.
45960         * m4/intmax_t.m4: Likewise.
45961         * m4/inttypes.m4: Likewise.
45962         * m4/inttypes_h.m4: Likewise.
45963         * m4/inttypes-pri.m4: Likewise.
45964         * m4/isapipe.m4: Likewise.
45965         * m4/isnand.m4: Likewise.
45966         * m4/isnanf.m4: Likewise.
45967         * m4/isnanl.m4: Likewise.
45968         * m4/javacomp.m4: Likewise.
45969         * m4/javaexec.m4: Likewise.
45970         * m4/jm-winsz1.m4: Likewise.
45971         * m4/jm-winsz2.m4: Likewise.
45972         * m4/lchown.m4: Likewise.
45973         * m4/lcmessage.m4: Likewise.
45974         * m4/ldexpl.m4: Likewise.
45975         * m4/lib-ld.m4: Likewise.
45976         * m4/lib-link.m4: Likewise.
45977         * m4/libsigsegv.m4: Likewise.
45978         * m4/link-follow.m4: Likewise.
45979         * m4/localcharset.m4: Likewise.
45980         * m4/locale-fr.m4: Likewise.
45981         * m4/locale-ja.m4: Likewise.
45982         * m4/locale-tr.m4: Likewise.
45983         * m4/locale-zh.m4: Likewise.
45984         * m4/lock.m4: Likewise.
45985         * m4/longlong.m4: Likewise.
45986         * m4/ls-mntd-fs.m4: Likewise.
45987         * m4/lstat.m4: Likewise.
45988         * m4/malloc.m4: Likewise.
45989         * m4/mathl.m4: Likewise.
45990         * m4/mbrtowc.m4: Likewise.
45991         * m4/mbstate_t.m4: Likewise.
45992         * m4/mbswidth.m4: Likewise.
45993         * m4/memchr.m4: Likewise.
45994         * m4/memcmp.m4: Likewise.
45995         * m4/memcpy.m4: Likewise.
45996         * m4/memmem.m4: Likewise.
45997         * m4/memmove.m4: Likewise.
45998         * m4/mempcpy.m4: Likewise.
45999         * m4/memrchr.m4: Likewise.
46000         * m4/memset.m4: Likewise.
46001         * m4/minmax.m4: Likewise.
46002         * m4/mkdir-slash.m4: Likewise.
46003         * m4/mkdtemp.m4: Likewise.
46004         * m4/mktime.m4: Likewise.
46005         * m4/mmap-anon.m4: Likewise.
46006         * m4/mountlist.m4: Likewise.
46007         * m4/nanosleep.m4: Likewise.
46008         * m4/nls.m4: Likewise.
46009         * m4/nocrash.m4: Likewise.
46010         * m4/open.m4: Likewise.
46011         * m4/openat.m4: Likewise.
46012         * m4/openmp.m4: Likewise.
46013         * m4/pathmax.m4: Likewise.
46014         * m4/perl.m4: Likewise.
46015         * m4/physmem.m4: Likewise.
46016         * m4/pipe.m4: Likewise.
46017         * m4/po.m4: Likewise.
46018         * m4/poll.m4: Likewise.
46019         * m4/posixtm.m4: Likewise.
46020         * m4/posixver.m4: Likewise.
46021         * m4/printf-frexp.m4: Likewise.
46022         * m4/printf-frexpl.m4: Likewise.
46023         * m4/printf-posix.m4: Likewise.
46024         * m4/printf-posix-rpl.m4: Likewise.
46025         * m4/printf.m4: Likewise.
46026         * m4/progtest.m4: Likewise.
46027         * m4/putenv.m4: Likewise.
46028         * m4/readline.m4: Likewise.
46029         * m4/readlink.m4: Likewise.
46030         * m4/readutmp.m4: Likewise.
46031         * m4/realloc.m4: Likewise.
46032         * m4/regex.m4: Likewise.
46033         * m4/relocatable.m4: Likewise.
46034         * m4/relocatable-lib.m4: Likewise.
46035         * m4/rename-dest-slash.m4: Likewise.
46036         * m4/rename.m4: Likewise.
46037         * m4/rmdir-errno.m4: Likewise.
46038         * m4/rmdir.m4: Likewise.
46039         * m4/roundf.m4: Likewise.
46040         * m4/roundl.m4: Likewise.
46041         * m4/rpmatch.m4: Likewise.
46042         * m4/save-cwd.m4: Likewise.
46043         * m4/selinux-selinux-h.m4: Likewise.
46044         * m4/setenv.m4: Likewise.
46045         * m4/settime.m4: Likewise.
46046         * m4/sig2str.m4: Likewise.
46047         * m4/sig_atomic_t.m4: Likewise.
46048         * m4/signalblocking.m4: Likewise.
46049         * m4/signbit.m4: Likewise.
46050         * m4/sigpipe.m4: Likewise.
46051         * m4/sockets.m4: Likewise.
46052         * m4/sockpfaf.m4: Likewise.
46053         * m4/st_dm_mode.m4: Likewise.
46054         * m4/stat-time.m4: Likewise.
46055         * m4/stdbool.m4: Likewise.
46056         * m4/stdint.m4: Likewise.
46057         * m4/stdint_h.m4: Likewise.
46058         * m4/stpcpy.m4: Likewise.
46059         * m4/stpncpy.m4: Likewise.
46060         * m4/strcase.m4: Likewise.
46061         * m4/strchrnul.m4: Likewise.
46062         * m4/strcspn.m4: Likewise.
46063         * m4/strdup.m4: Likewise.
46064         * m4/strftime.m4: Likewise.
46065         * m4/strndup.m4: Likewise.
46066         * m4/strnlen.m4: Likewise.
46067         * m4/strpbrk.m4: Likewise.
46068         * m4/strptime.m4: Likewise.
46069         * m4/strsep.m4: Likewise.
46070         * m4/strtod.m4: Likewise.
46071         * m4/strtoimax.m4: Likewise.
46072         * m4/strtok_r.m4: Likewise.
46073         * m4/strtol.m4: Likewise.
46074         * m4/strtoll.m4: Likewise.
46075         * m4/strtoul.m4: Likewise.
46076         * m4/strtoull.m4: Likewise.
46077         * m4/strtoumax.m4: Likewise.
46078         * m4/strverscmp.m4: Likewise.
46079         * m4/threadlib.m4: Likewise.
46080         * m4/timegm.m4: Likewise.
46081         * m4/tm_gmtoff.m4: Likewise.
46082         * m4/tmpdir.m4: Likewise.
46083         * m4/tmpfile.m4: Likewise.
46084         * m4/tzset.m4: Likewise.
46085         * m4/uintmax_t.m4: Likewise.
46086         * m4/unlinkdir.m4: Likewise.
46087         * m4/unlocked-io.m4: Likewise.
46088         * m4/uptime.m4: Likewise.
46089         * m4/userspec.m4: Likewise.
46090         * m4/utimbuf.m4: Likewise.
46091         * m4/utime.m4: Likewise.
46092         * m4/utimes-null.m4: Likewise.
46093         * m4/utimes.m4: Likewise.
46094         * m4/vararrays.m4: Likewise.
46095         * m4/vasnprintf.m4: Likewise.
46096         * m4/vfprintf-posix.m4: Likewise.
46097         * m4/vprintf-posix.m4: Likewise.
46098         * m4/wait-process.m4: Likewise.
46099         * m4/wchar_t.m4: Likewise.
46100         * m4/wint_t.m4: Likewise.
46101         * m4/write-any-file.m4: Likewise.
46102         * m4/yield.m4: Likewise.
46103
46104 2009-01-13  Bruno Haible  <bruno@clisp.org>
46105
46106         Avoid test-copy-file.sh failures when ACL support insufficient.
46107         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46108         TESTS_ENVIRONMENT.
46109         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46110         Reported by Jim Meyering.
46111
46112 2009-01-13  Bruno Haible  <bruno@clisp.org>
46113
46114         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46115         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46116         * modules/unistdio/u8-printf-parse (Files): Likewise.
46117         * modules/unistdio/u32-printf-parse (Files): Likewise.
46118         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46119
46120 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46121
46122         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46123         and m4/inttypes_h.m4 too.
46124
46125 2009-01-12  Eric Blake  <ebb9@byu.net>
46126
46127         tests: IRIX 6.2 cc can't compile -0.0 into .data
46128         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46129         rather than at compile-time.
46130         * tests/test-floorl.c (minus_zero): Likewise.
46131         * tests/test-frexpl.c (minus_zero): Likewise.
46132         * tests/test-isnan.c (minus_zerol): Likewise.
46133         * tests/test-isnanl.h (minus_zero): Likewise.
46134         * tests/test-ldexpl.c (minus_zero): Likewise.
46135         * tests/test-roundl.c (minus_zero): Likewise.
46136         * tests/test-signbit.c (minus_zerol): Likewise.
46137         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46138         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46139         * tests/test-truncl.c (minus_zero): Likewise.
46140         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46141         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46142         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46143
46144 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46145
46146         regex: fix glibc bug 9697
46147         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46148         handling.
46149
46150 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46151
46152         regex: fix glibc bug 697
46153         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46154         being NULL also if there are no backreferences.
46155
46156 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46157
46158         regex: merge glibc changes
46159         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
46160         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
46161         re_string_skip_chars, re_string_reconstruct): Likewise.
46162         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
46163
46164 2009-01-07  Jim Meyering  <meyering@redhat.com>
46165
46166         poll: filter through cppi
46167         * lib/poll.c: Indent cpp directives to reflect nesting.
46168
46169 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46170
46171         poll: don't return uninitialized
46172         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46173
46174 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46175
46176         avoid compile failure on AIX 6.1
46177         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46178         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46179
46180 2009-01-04  Jim Meyering  <meyering@redhat.com>
46181
46182         remove duplicate inclusion of <stdio.h>
46183         * tests/test-fprintf-posix.c: Likewise.
46184         * tests/test-printf-posix.c: Likewise.
46185         * tests/test-snprintf-posix.c: Likewise.
46186         * tests/test-sprintf-posix.c: Likewise.
46187         * tests/test-vasprintf-posix.c: Likewise.
46188         * tests/test-vfprintf-posix.c: Likewise.
46189         * tests/test-vprintf-posix.c: Likewise.
46190         * tests/test-vsnprintf-posix.c: Likewise.
46191         * tests/test-vsprintf-posix.c: Likewise.
46192
46193 2009-01-03  Jim Meyering  <meyering@redhat.com>
46194
46195         gnulib-tool: fix sed-based filtering
46196         * gnulib-tool (func_filter_filelist): Remove extra backslash
46197         in sed_fff_filter definition.
46198
46199 2009-01-02  Jim Meyering  <meyering@redhat.com>
46200
46201         strftime: avoid compilation failure on Solaris 2.6
46202         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
46203         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
46204         Don't #define mbrlen or mbsinit, since now they're guaranteed to
46205         be available.  Reported by Tom G. Christensen.  Details in
46206         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
46207
46208 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46209             Bruno Haible  <bruno@clisp.org>
46210
46211         Speed up gnulib-tool by doing more string processing through shell
46212         built-ins.
46213         * gnulib-tool (fast_func_append): New variable.
46214         (func_remove_prefix, func_remove_suffix): New functions.
46215         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
46216         (func_filter_filelist): New function.
46217         (func_get_dependencies): Use func_remove_suffix instead of sed.
46218         (func_get_automake_snippet): Use func_filter_filelist instead of a
46219         subshell and sed invocation.
46220
46221 2009-01-01  Bruno Haible  <bruno@clisp.org>
46222
46223         Fix a security bug.
46224         * gnulib-tool (func_import, import, update): Don't allow the characters
46225         '"', '$', '`', '\' in macro arguments that become part of commands that
46226         are evaluated.
46227
46228 2009-01-01  Bruno Haible  <bruno@clisp.org>
46229
46230         * gnulib-tool (func_reset_sigpipe): Add more comments.
46231
46232 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46233
46234         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
46235         func_emit_tests_Makefile_am, func_import): Abort loops early if we
46236         already know the answer.
46237
46238 2009-01-01  Jim Meyering  <meyering@redhat.com>
46239
46240         * lib/version-etc.c (version_etc_va): Update copyright year.
46241
46242 2008-12-30  Bruno Haible  <bruno@clisp.org>
46243
46244         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
46245         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
46246         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
46247
46248 2008-12-29  Eric Blake  <ebb9@byu.net>
46249
46250         multiarch: avoid autoconf AC_REQUIRE bug
46251         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
46252         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
46253         2.63 and older.
46254         Reported by Bruno Haible, and analyzed in
46255         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
46256
46257 2008-12-29  Bruno Haible  <bruno@clisp.org>
46258
46259         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
46260         files in subdirectories correctly.
46261         Reported by Ralf Wildenhues.
46262
46263 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46264
46265         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
46266         rather than 'join FILE -', for Solaris join.
46267
46268 2008-12-29  Bruno Haible  <bruno@clisp.org>
46269
46270         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
46271         quoting.
46272         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
46273         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46274         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46275         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
46276         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46277         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
46278         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
46279         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
46280         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46281         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
46282         * m4/nls.m4 (AM_NLS): Likewise.
46283         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
46284         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
46285         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
46286         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
46287         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
46288         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
46289         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
46290         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
46291         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
46292         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46293         * m4/xsize.m4 (gl_XSIZE): Likewise.
46294         Suggested by Jim Meyering.
46295
46296 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46297
46298         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
46299         * lib/parse-duration.c: use a switch instead of cascading if's.
46300
46301 2008-12-29  Eric Blake  <ebb9@byu.net>
46302
46303         wchar.h: supply WEOF on Irix 5.3
46304         * lib/wchar.in.h (wint_t): Also supply WEOF.
46305         * lib/wctype.in.h (wint_t): Likewise.
46306         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
46307         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
46308         Reported by Tom G. Christensen.
46309
46310 2008-12-26  Bruno Haible  <bruno@clisp.org>
46311
46312         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
46313         i486, i586, i686.
46314
46315 2008-12-26  Bruno Haible  <bruno@clisp.org>
46316
46317         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
46318
46319 2008-12-26  Bruno Haible  <bruno@clisp.org>
46320
46321         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
46322         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
46323         not __STDC_CONSTANT_MACROS.
46324         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46325
46326 2008-12-25  Bruno Haible  <bruno@clisp.org>
46327
46328         Add support for universal builds to vasnprintf.
46329         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
46330         universal builds, guess no.
46331         * modules/vasnprintf-posix (Depends-on): Add multiarch.
46332         * modules/vasprintf-posix (Depends-on): Likewise.
46333         * modules/fprintf-posix (Depends-on): Likewise.
46334         * modules/vfprintf-posix (Depends-on): Likewise.
46335         * modules/snprintf-posix (Depends-on): Likewise.
46336         * modules/vsnprintf-posix (Depends-on): Likewise.
46337         * modules/sprintf-posix (Depends-on): Likewise.
46338         * modules/vsprintf-posix (Depends-on): Likewise.
46339         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46340         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46341         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46342         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46343         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46344         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46345         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46346
46347         Add support for universal builds to <inttypes.h>.
46348         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
46349         _SCNu64_PREFIX): In Apple
46350         universal builds, define directly, using _LP64.
46351         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
46352         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
46353         * modules/inttypes (Depends-on): Add multiarch.
46354         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46355
46356         Add support for universal builds to <stdint.h>.
46357         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
46358         universal builds, define directly, using _LP64.
46359         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
46360         Apple universal builds, don't test for the size and suffix of ptrdiff_t
46361         and size_t.
46362         * modules/stdint (Depends-on): Add multiarch.
46363         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46364
46365         New module 'multiarch'.
46366         * modules/multiarch: New file.
46367         * m4/multiarch.m4: New file.
46368
46369 2008-12-25  Bruno Haible  <bruno@clisp.org>
46370
46371         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
46372
46373 2008-12-25  Bruno Haible  <bruno@clisp.org>
46374
46375         * modules/btowc (License): Relicense under LGPLv2+.
46376         * modules/mbsinit (License): Likewise.
46377         * modules/mbrtowc (License): Likewise.
46378         * modules/wcrtomb (License): Likewise.
46379         * modules/streq (License): Likewise.
46380         Reported by David Lutterkort <lutter@redhat.com>.
46381
46382 2008-12-23  Bruno Haible  <bruno@clisp.org>
46383
46384         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
46385
46386 2008-12-23  Bruno Haible  <bruno@clisp.org>
46387
46388         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
46389         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
46390         GETADDRINFO_LIB, not in LIBS.
46391         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
46392         * modules/canon-host (Link): Likewise.
46393         * NEWS: Mention the change.
46394         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
46395         GETADDRINFO_LIB.
46396
46397 2008-12-22  Bruno Haible  <bruno@clisp.org>
46398
46399         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
46400         * doc/posix-functions/iswalpha_l.texi: Likewise.
46401         * doc/posix-functions/iswblank_l.texi: Likewise.
46402         * doc/posix-functions/iswcntrl_l.texi: Likewise.
46403         * doc/posix-functions/iswctype_l.texi: Likewise.
46404         * doc/posix-functions/iswdigit_l.texi: Likewise.
46405         * doc/posix-functions/iswgraph_l.texi: Likewise.
46406         * doc/posix-functions/iswlower_l.texi: Likewise.
46407         * doc/posix-functions/iswprint_l.texi: Likewise.
46408         * doc/posix-functions/iswpunct_l.texi: Likewise.
46409         * doc/posix-functions/iswspace_l.texi: Likewise.
46410         * doc/posix-functions/iswupper_l.texi: Likewise.
46411         * doc/posix-functions/iswxdigit_l.texi: Likewise.
46412         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
46413         * doc/posix-functions/open_wmemstream.texi: Likewise.
46414         * doc/posix-functions/swscanf.texi: Likewise.
46415         * doc/posix-functions/towctrans_l.texi: Likewise.
46416         * doc/posix-functions/towlower.texi: Likewise.
46417         * doc/posix-functions/towlower_l.texi: Likewise.
46418         * doc/posix-functions/towupper.texi: Likewise.
46419         * doc/posix-functions/towupper_l.texi: Likewise.
46420         * doc/posix-functions/vfwprintf.texi: Likewise.
46421         * doc/posix-functions/vfwscanf.texi: Likewise.
46422         * doc/posix-functions/vswscanf.texi: Likewise.
46423         * doc/posix-functions/vwprintf.texi: Likewise.
46424         * doc/posix-functions/vwscanf.texi: Likewise.
46425         * doc/posix-functions/wcpcpy.texi: Likewise.
46426         * doc/posix-functions/wcpncpy.texi: Likewise.
46427         * doc/posix-functions/wcscasecmp.texi: Likewise.
46428         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
46429         * doc/posix-functions/wcscoll_l.texi: Likewise.
46430         * doc/posix-functions/wcsdup.texi: Likewise.
46431         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46432         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
46433         * doc/posix-functions/wcsnlen.texi: Likewise.
46434         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46435         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
46436         * doc/posix-functions/wctrans_l.texi: Likewise.
46437         * doc/posix-functions/wctype_l.texi: Likewise.
46438         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
46439         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
46440         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
46441         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
46442         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
46443         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
46444         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
46445         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
46446         * doc/glibc-functions/wcschrnul.texi: Likewise.
46447         * doc/glibc-functions/wcsftime_l.texi: Likewise.
46448         * doc/glibc-functions/wcstod_l.texi: Likewise.
46449         * doc/glibc-functions/wcstof_l.texi: Likewise.
46450         * doc/glibc-functions/wcstol_l.texi: Likewise.
46451         * doc/glibc-functions/wcstold_l.texi: Likewise.
46452         * doc/glibc-functions/wcstoll_l.texi: Likewise.
46453         * doc/glibc-functions/wcstoq.texi: Likewise.
46454         * doc/glibc-functions/wcstoul_l.texi: Likewise.
46455         * doc/glibc-functions/wcstoull_l.texi: Likewise.
46456         * doc/glibc-functions/wcstouq.texi: Likewise.
46457         * doc/glibc-functions/wmempcpy.texi: Likewise.
46458
46459 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
46460             Eric Blake  <ebb9@byu.net>
46461             Paolo Bonzini  <bonzini@gnu.org>
46462             Bruno Haible  <bruno@clisp.org>
46463
46464         Make c-stack work on Haiku.
46465         * lib/c-stack.c (SA_ONSTACK): Define fallback.
46466         (c_stack_action): Use SA_ONSTACK flag.
46467
46468 2008-12-22  Bruno Haible  <bruno@clisp.org>
46469
46470         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
46471
46472 2008-12-22  Bruno Haible  <bruno@clisp.org>
46473
46474         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
46475         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
46476         being overridden.
46477         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
46478         New macros.
46479         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
46480         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
46481         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
46482         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
46483
46484 2008-12-22  Bruno Haible  <bruno@clisp.org>
46485
46486         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
46487         from test code.
46488
46489 2008-12-22  Eric Blake  <ebb9@byu.net>
46490
46491         Avoid gcc warnings on cygwin.
46492         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
46493         Avoid unused variable.
46494         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
46495         Likewise.
46496
46497 2008-12-22  Bruno Haible  <bruno@clisp.org>
46498
46499         Remove HAVE_MBRTOWC conditionals.
46500         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
46501         (mbscasecmp): Assume mbrtowc function.
46502         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
46503         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
46504         * lib/mbschr.c: Include mbuiter.h unconditionally.
46505         (mbschr): Assume mbrtowc function.
46506         * lib/mbscspn.c: Include mbuiter.h unconditionally.
46507         (mbscspn): Assume mbrtowc function.
46508         * lib/mbslen.c: Include mbuiter.h unconditionally.
46509         (mbslen): Assume mbrtowc function.
46510         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
46511         (mbsncasecmp): Assume mbrtowc function.
46512         * lib/mbsnlen.c: Include mbiter.h unconditionally.
46513         (mbsnlen): Assume mbrtowc function.
46514         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
46515         (mbspbrk): Assume mbrtowc function.
46516         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
46517         (mbspcasecmp): Assume mbrtowc function.
46518         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
46519         (mbsrchr): Assume mbrtowc function.
46520         * lib/mbssep.c: Include mbuiter.h unconditionally.
46521         (mbssep): Assume mbrtowc function.
46522         * lib/mbsspn.c: Include mbuiter.h unconditionally.
46523         (mbsspn): Assume mbrtowc function.
46524         * lib/mbsstr.c: Include mbuiter.h unconditionally.
46525         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
46526         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
46527         (mbstok_r): Assume mbrtowc function.
46528         * lib/propername.c: Include mbuiter.h unconditionally.
46529         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
46530         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
46531         (trim2): Assume mbrtowc function.
46532         * lib/mbswidth.c (mbsinit): Remove fallback definition.
46533         (mbsnwidth): Assume mbrtowc function.
46534         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
46535         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
46536         fallback definitions.
46537         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
46538
46539 2008-12-22  Bruno Haible  <bruno@clisp.org>
46540
46541         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
46542
46543 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
46544
46545         * modules/regex: Request emulations for the mb*/wc* functions we need.
46546         * m4/regex.m4: Don't look for those functions here.
46547         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
46548
46549 2008-12-22  Bruno Haible  <bruno@clisp.org>
46550
46551         * modules/fnmatch (Depends-on): Remove duplicated dependency.
46552
46553 2008-12-21  Bruno Haible  <bruno@clisp.org>
46554
46555         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
46556         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
46557         (Include): Remove conditionalization.
46558         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
46559         (Include): Remove conditionalization.
46560         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
46561         (Include): Remove conditionalization.
46562         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
46563         * m4/mbfile.m4 (gl_MBFILE): Likewise.
46564         * NEWS: Mention the change.
46565         Reported by Alan Hourihane <alanh@fairlite.co.uk>
46566         via Sergey Poznyakoff <gray@gnu.org.ua>.
46567
46568 2008-12-21  Bruno Haible  <bruno@clisp.org>
46569
46570         * MODULES.html.sh (Extended multibyte and wide character utilities
46571         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
46572         wcrtomb, wcsrtombs.
46573         (Support for systems lacking POSIX:2008): Add accept, bind, close,
46574         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
46575         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
46576         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
46577
46578 2008-12-21  Bruno Haible  <bruno@clisp.org>
46579
46580         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
46581
46582 2008-12-21  Bruno Haible  <bruno@clisp.org>
46583
46584         * modules/wcsnrtombs-tests: New file.
46585         * tests/test-wcsnrtombs1.sh: New file.
46586         * tests/test-wcsnrtombs2.sh: New file.
46587         * tests/test-wcsnrtombs3.sh: New file.
46588         * tests/test-wcsnrtombs4.sh: New file.
46589         * tests/test-wcsnrtombs.c: New file.
46590
46591         New module 'wcsnrtombs'.
46592         * lib/wchar.in.h (wcsnrtombs): New declaration.
46593         * lib/wcsnrtombs.c: New file.
46594         * lib/wcsrtombs-state.c: New file.
46595         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
46596         (internal_state): Remove variable.
46597         * m4/wcsnrtombs.m4: New file.
46598         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
46599         compilation units.
46600         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
46601         HAVE_WCSNRTOMBS.
46602         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
46603         HAVE_WCSNRTOMBS.
46604         * modules/wcsnrtombs: New file.
46605         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
46606         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
46607
46608 2008-12-21  Bruno Haible  <bruno@clisp.org>
46609
46610         * modules/wcsrtombs-tests: New file.
46611         * tests/test-wcsrtombs1.sh: New file.
46612         * tests/test-wcsrtombs2.sh: New file.
46613         * tests/test-wcsrtombs3.sh: New file.
46614         * tests/test-wcsrtombs4.sh: New file.
46615         * tests/test-wcsrtombs.c: New file.
46616
46617         New module 'wcsrtombs'.
46618         * lib/wchar.in.h (wcsrtombs): New declaration.
46619         * lib/wcsrtombs.c: New file.
46620         * m4/wcsrtombs.m4: New file.
46621         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
46622         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
46623         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
46624         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
46625         * modules/wcsrtombs: New file.
46626         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
46627         bugs.
46628
46629 2008-12-21  Bruno Haible  <bruno@clisp.org>
46630
46631         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
46632         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
46633         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
46634         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
46635         if not correct.
46636         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
46637         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
46638         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46639         m4/locale-zh.m4, m4/codeset.m4.
46640         * doc/posix-functions/wcrtomb.texi: Document the bug.
46641
46642 2008-12-21  Bruno Haible  <bruno@clisp.org>
46643
46644         Work around a btowc() bug on IRIX 6.5.
46645         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
46646         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
46647         REPLACE_WTOBC if not.
46648         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
46649         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
46650         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
46651
46652 2008-12-21  Bruno Haible  <bruno@clisp.org>
46653
46654         * modules/wcrtomb-tests: New file.
46655         * tests/test-wcrtomb.sh: New file.
46656         * tests/test-wcrtomb.c: New file.
46657
46658         New module 'wcrtomb'.
46659         * lib/wchar.in.h (wcrtomb): New declaration.
46660         * lib/wcrtomb.c: New file.
46661         * m4/wcrtomb.m4: New file.
46662         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
46663         HAVE_WCRTOMB.
46664         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
46665         HAVE_WCRTOMB.
46666         * modules/wcrtomb: New file.
46667         * doc/posix-functions/wcrtomb.texi: Mention the new module.
46668
46669 2008-12-21  Bruno Haible  <bruno@clisp.org>
46670
46671         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
46672         * modules/mbsrtowcs (Files): Likewise.
46673         * modules/wctob (Files): Likewise.
46674         * modules/c-strcase-tests (Files): Likewise.
46675         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
46676         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
46677         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
46678         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
46679         * modules/vasnprintf-posix-tests (Files): Likewise.
46680
46681 2008-12-21  William Pursell  <bill.pursell@gmail.com>
46682
46683         gitlog-to-changelog: pass all command-line arguments to git-log
46684         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
46685         it is sometimes convenient to filter the commits in various ways.
46686         gitlog-to-changelog only allows --since to specify a start date,
46687         but git-log itself supports many other filtering mechanisms.
46688         At the moment, I want to filter by branch name.  Rather than
46689         adding a --branch option to gitlog-to-changelog, it seems more
46690         flexible to simply pass all options directly to git-log and let
46691         git do the work.  Notice that this effectively makes --since a
46692         redundant option for gitlog-to-changelog, but removing it would
46693         require current usage to change since calls would then require
46694         an additional '--'.
46695
46696 2008-12-21  Bruno Haible  <bruno@clisp.org>
46697
46698         * modules/mbsnrtowcs-tests: New file.
46699         * tests/test-mbsnrtowcs1.sh: New file.
46700         * tests/test-mbsnrtowcs2.sh: New file.
46701         * tests/test-mbsnrtowcs3.sh: New file.
46702         * tests/test-mbsnrtowcs4.sh: New file.
46703         * tests/test-mbsnrtowcs.c: New file.
46704
46705         New module 'mbsnrtowcs'.
46706         * lib/wchar.in.h (mbsnrtowcs): New declaration.
46707         * lib/mbsnrtowcs.c: New file.
46708         * lib/mbsrtowcs-state.c: New file.
46709         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
46710         (internal_state): Remove variable.
46711         * m4/mbsnrtowcs.m4: New file.
46712         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
46713         compilation units.
46714         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
46715         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46716         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
46717         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46718         * modules/mbsnrtowcs: New file.
46719         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
46720         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
46721         portability problem.
46722
46723 2008-12-21  Bruno Haible  <bruno@clisp.org>
46724
46725         Work around mbsrtowcs bug.
46726         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
46727         (gl_FUNC_MBSRTOWCS): Invoke it.
46728         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46729         m4/locale-zh.m4.
46730         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
46731
46732 2008-12-21  Bruno Haible  <bruno@clisp.org>
46733
46734         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
46735
46736 2008-12-21  Bruno Haible  <bruno@clisp.org>
46737
46738         Update doc for AIX.
46739         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
46740         16-bit wchar_t type.
46741         * doc/posix-functions/btowc.texi: Likewise.
46742         * doc/posix-functions/fgetwc.texi: Likewise.
46743         * doc/posix-functions/fgetws.texi: Likewise.
46744         * doc/posix-functions/fputwc.texi: Likewise.
46745         * doc/posix-functions/fputws.texi: Likewise.
46746         * doc/posix-functions/fwide.texi: Likewise.
46747         * doc/posix-functions/fwprintf.texi: Likewise.
46748         * doc/posix-functions/fwscanf.texi: Likewise.
46749         * doc/posix-functions/getwchar.texi: Likewise.
46750         * doc/posix-functions/getwc.texi: Likewise.
46751         * doc/posix-functions/iswalnum.texi: Likewise.
46752         * doc/posix-functions/iswalpha.texi: Likewise.
46753         * doc/posix-functions/iswblank.texi: Likewise.
46754         * doc/posix-functions/iswcntrl.texi: Likewise.
46755         * doc/posix-functions/iswctype.texi: Likewise.
46756         * doc/posix-functions/iswdigit.texi: Likewise.
46757         * doc/posix-functions/iswgraph.texi: Likewise.
46758         * doc/posix-functions/iswlower.texi: Likewise.
46759         * doc/posix-functions/iswprint.texi: Likewise.
46760         * doc/posix-functions/iswpunct.texi: Likewise.
46761         * doc/posix-functions/iswspace.texi: Likewise.
46762         * doc/posix-functions/iswupper.texi: Likewise.
46763         * doc/posix-functions/iswxdigit.texi: Likewise.
46764         * doc/posix-functions/mbrtowc.texi: Likewise.
46765         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46766         * doc/posix-functions/mbstowcs.texi: Likewise.
46767         * doc/posix-functions/mbtowc.texi: Likewise.
46768         * doc/posix-functions/putwchar.texi: Likewise.
46769         * doc/posix-functions/putwc.texi: Likewise.
46770         * doc/posix-functions/swprintf.texi: Likewise.
46771         * doc/posix-functions/tolower.texi: Likewise.
46772         * doc/posix-functions/toupper.texi: Likewise.
46773         * doc/posix-functions/towctrans.texi: Likewise.
46774         * doc/posix-functions/ungetwc.texi: Likewise.
46775         * doc/posix-functions/vswprintf.texi: Likewise.
46776         * doc/posix-functions/wcrtomb.texi: Likewise.
46777         * doc/posix-functions/wcscat.texi: Likewise.
46778         * doc/posix-functions/wcschr.texi: Likewise.
46779         * doc/posix-functions/wcscmp.texi: Likewise.
46780         * doc/posix-functions/wcscoll.texi: Likewise.
46781         * doc/posix-functions/wcscpy.texi: Likewise.
46782         * doc/posix-functions/wcscspn.texi: Likewise.
46783         * doc/posix-functions/wcsftime.texi: Likewise.
46784         * doc/posix-functions/wcslen.texi: Likewise.
46785         * doc/posix-functions/wcsncat.texi: Likewise.
46786         * doc/posix-functions/wcsncmp.texi: Likewise.
46787         * doc/posix-functions/wcsncpy.texi: Likewise.
46788         * doc/posix-functions/wcspbrk.texi: Likewise.
46789         * doc/posix-functions/wcsrchr.texi: Likewise.
46790         * doc/posix-functions/wcsrtombs.texi: Likewise.
46791         * doc/posix-functions/wcsspn.texi: Likewise.
46792         * doc/posix-functions/wcsstr.texi: Likewise.
46793         * doc/posix-functions/wcstod.texi: Likewise.
46794         * doc/posix-functions/wcstof.texi: Likewise.
46795         * doc/posix-functions/wcstoimax.texi: Likewise.
46796         * doc/posix-functions/wcstok.texi: Likewise.
46797         * doc/posix-functions/wcstold.texi: Likewise.
46798         * doc/posix-functions/wcstoll.texi: Likewise.
46799         * doc/posix-functions/wcstol.texi: Likewise.
46800         * doc/posix-functions/wcstombs.texi: Likewise.
46801         * doc/posix-functions/wcstoull.texi: Likewise.
46802         * doc/posix-functions/wcstoul.texi: Likewise.
46803         * doc/posix-functions/wcstoumax.texi: Likewise.
46804         * doc/posix-functions/wcswidth.texi: Likewise.
46805         * doc/posix-functions/wcsxfrm.texi: Likewise.
46806         * doc/posix-functions/wctob.texi: Likewise.
46807         * doc/posix-functions/wctomb.texi: Likewise.
46808         * doc/posix-functions/wctrans.texi: Likewise.
46809         * doc/posix-functions/wctype.texi: Likewise.
46810         * doc/posix-functions/wcwidth.texi: Likewise.
46811         * doc/posix-functions/wmemchr.texi: Likewise.
46812         * doc/posix-functions/wmemcmp.texi: Likewise.
46813         * doc/posix-functions/wmemcpy.texi: Likewise.
46814         * doc/posix-functions/wmemmove.texi: Likewise.
46815         * doc/posix-functions/wmemset.texi: Likewise.
46816         * doc/posix-functions/wprintf.texi: Likewise.
46817         * doc/posix-functions/wscanf.texi: Likewise.
46818
46819 2008-12-21  Bruno Haible  <bruno@clisp.org>
46820
46821         Update doc for HP-UX 11.11.
46822         * doc/posix-functions/btowc.texi: Clarify that the function is missing
46823         in HP-UX version 11.00, not in all versions of HP-UX 11.
46824         * doc/posix-functions/fwide.texi: Likewise.
46825         * doc/posix-functions/fwprintf.texi: Likewise.
46826         * doc/posix-functions/fwscanf.texi: Likewise.
46827         * doc/posix-functions/inet_ntop.texi: Likewise.
46828         * doc/posix-functions/inet_pton.texi: Likewise.
46829         * doc/posix-functions/mbrlen.texi: Likewise.
46830         * doc/posix-functions/mbrtowc.texi: Likewise.
46831         * doc/posix-functions/mbsinit.texi: Likewise.
46832         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46833         * doc/posix-functions/swprintf.texi: Likewise.
46834         * doc/posix-functions/swscanf.texi: Likewise.
46835         * doc/posix-functions/towctrans.texi: Likewise.
46836         * doc/posix-functions/vfwprintf.texi: Likewise.
46837         * doc/posix-functions/vswprintf.texi: Likewise.
46838         * doc/posix-functions/vwprintf.texi: Likewise.
46839         * doc/posix-functions/wcrtomb.texi: Likewise.
46840         * doc/posix-functions/wcsrtombs.texi: Likewise.
46841         * doc/posix-functions/wcsstr.texi: Likewise.
46842         * doc/posix-functions/wctob.texi: Likewise.
46843         * doc/posix-functions/wctrans.texi: Likewise.
46844         * doc/posix-functions/wmemchr.texi: Likewise.
46845         * doc/posix-functions/wmemcmp.texi: Likewise.
46846         * doc/posix-functions/wmemcpy.texi: Likewise.
46847         * doc/posix-functions/wmemmove.texi: Likewise.
46848         * doc/posix-functions/wmemset.texi: Likewise.
46849         * doc/posix-functions/wprintf.texi: Likewise.
46850         * doc/posix-functions/wscanf.texi: Likewise.
46851
46852 2008-12-21  Bruno Haible  <bruno@clisp.org>
46853
46854         Work around a portability problem.
46855         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
46856         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
46857
46858 2008-12-20  Bruno Haible  <bruno@clisp.org>
46859
46860         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
46861         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
46862         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
46863         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
46864         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
46865
46866         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
46867         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
46868         set.
46869         (GNULIB_defined_mbstate_t): New macro.
46870         (mbsinit): Redefine if REPLACE_MBSINIT is set.
46871         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
46872         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
46873         reuses the system's mbrtowc function but works around the bugs.
46874         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
46875         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
46876         macros.
46877         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
46878         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
46879         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
46880         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
46881         REPLACE_MBSINIT if mbsinit needs to be overridden.
46882         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
46883         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46884         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
46885         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46886         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46887         m4/locale-zh.m4.
46888         (Depends): Add mbsinit.
46889         * modules/mbsinit (Depends): Add mbrtowc.
46890         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
46891
46892 2008-12-20  Bruno Haible  <bruno@clisp.org>
46893
46894         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
46895         so that there are no conversion errors on AIX.
46896         * tests/test-mbsrtowcs.c (main): LIkewise.
46897
46898 2008-12-20  Bruno Haible  <bruno@clisp.org>
46899
46900         Work around wctob bug on Solaris <= 9.
46901         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
46902         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
46903         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
46904         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
46905         * modules/wctob (Files): Add m4/locale-fr.m4.
46906         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
46907
46908 2008-12-20  Bruno Haible  <bruno@clisp.org>
46909
46910         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
46911         /dev/null.
46912         * tests/test-select-in.sh: Likewise.
46913         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46914
46915 2008-12-20  Bruno Haible  <bruno@clisp.org>
46916
46917         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
46918         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
46919         Cygwin 1.5.x.
46920
46921 2008-12-20  Bruno Haible  <bruno@clisp.org>
46922
46923         Ensure mbstate_t is defined on HP-UX 11.11.
46924         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
46925         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
46926         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
46927         AC_USE_SYSTEM_EXTENSIONS.
46928         * modules/fnmatch (Depends-on): Add extensions.
46929         * modules/mbrlen (Depends-on): Likewise.
46930         * modules/mbrtowc (Depends-on): Likewise.
46931         * modules/mbsinit (Depends-on): Likewise.
46932         * modules/mbsrtowcs (Depends-on): Likewise.
46933         * modules/mbswidth (Depends-on): Likewise.
46934         * modules/quotearg (Depends-on): Likewise.
46935         * modules/strftime (Depends-on): Likewise.
46936
46937 2008-12-20  Bruno Haible  <bruno@clisp.org>
46938
46939         Ensure wctob is declared on IRIX 6.5.
46940         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
46941         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
46942         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
46943         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
46944         of HAVE_WCTOB.
46945         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
46946         HAVE_WCTOB.
46947         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
46948
46949 2008-12-19  Bruno Haible  <bruno@clisp.org>
46950
46951         * modules/mbsrtowcs-tests: New file.
46952         * tests/test-mbsrtowcs1.sh: New file.
46953         * tests/test-mbsrtowcs2.sh: New file.
46954         * tests/test-mbsrtowcs3.sh: New file.
46955         * tests/test-mbsrtowcs4.sh: New file.
46956         * tests/test-mbsrtowcs.c: New file.
46957
46958         New module 'mbsrtowcs'.
46959         * lib/wchar.in.h (mbsrtowcs): New declaration.
46960         * lib/mbsrtowcs.c: New file.
46961         * m4/mbsrtowcs.m4: New file.
46962         * modules/mbsrtowcs: New file.
46963         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
46964         HAVE_MBSRTOWCS.
46965         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
46966         HAVE_MBSRTOWCS.
46967         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
46968
46969 2008-12-19  Bruno Haible  <bruno@clisp.org>
46970
46971         New module 'mbrlen'.
46972         * lib/wchar.in.h (mbrlen): New declaration.
46973         * lib/mbrlen.c: New file.
46974         * m4/mbrlen.m4: New file.
46975         * modules/mbrlen: New file.
46976         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
46977         HAVE_MBRLEN.
46978         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
46979         HAVE_MBRLEN.
46980         * doc/posix-functions/mbrlen.texi: Document the new module.
46981
46982 2008-12-19  Bruno Haible  <bruno@clisp.org>
46983
46984         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
46985         * modules/mbrtowc (Depends-on): Add verify.
46986         Suggested by Paul Eggert.
46987
46988 2008-12-18  Bruno Haible  <bruno@clisp.org>
46989
46990         * modules/mbsinit-tests: New file.
46991         * tests/test-mbsinit.sh: New file.
46992         * tests/test-mbsinit.c: New file.
46993
46994 2008-12-18  Bruno Haible  <bruno@clisp.org>
46995
46996         * modules/mbrtowc-tests: New file.
46997         * tests/test-mbrtowc1.sh: New file.
46998         * tests/test-mbrtowc2.sh: New file.
46999         * tests/test-mbrtowc3.sh: New file.
47000         * tests/test-mbrtowc4.sh: New file.
47001         * tests/test-mbrtowc.c: New file.
47002
47003         New module 'mbrtowc'.
47004         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47005         mbsinit and mbrtowc.
47006         (mbrtowc): New declaration.
47007         * lib/mbrtowc.c: New file.
47008         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47009         * modules/mbrtowc: New file.
47010         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47011         HAVE_MBRTOWC.
47012         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47013         HAVE_MBRTOWC.
47014         * doc/posix-functions/mbrtowc.texi: Document the new module.
47015
47016 2008-12-18  Bruno Haible  <bruno@clisp.org>
47017
47018         New module 'wctob'.
47019         * lib/wchar.in.h (wctob): New declaration.
47020         * lib/wctob.c: New file.
47021         * m4/wctob.m4: New file.
47022         * modules/wctob: New file.
47023         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47024         HAVE_WCTOB.
47025         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47026         * doc/posix-functions/wctob.texi: Document the new module.
47027
47028 2008-12-18  Bruno Haible  <bruno@clisp.org>
47029
47030         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47031         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47032
47033 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47034
47035         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47036         G. Christensen" <tgc@jupiterrise.com>.
47037
47038         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47039         G. Christensen" <tgc@jupiterrise.com>.
47040
47041         * lib/flock.c: Need to include string.h.  Reported by "Tom
47042         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47043         <ebb9@byu.net>.
47044
47045 2008-12-18  Bruno Haible  <bruno@clisp.org>
47046
47047         * m4/locale-ja.m4: New file, from GNU gettext.
47048
47049 2008-12-17  Bruno Haible  <bruno@clisp.org>
47050
47051         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47052         Suggested by Eric Blake.
47053
47054 2008-12-17  Bruno Haible  <bruno@clisp.org>
47055
47056         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47057
47058 2008-12-17  Bruno Haible  <bruno@clisp.org>
47059
47060         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47061         * modules/mbsinit (Depends-on): Add verify.
47062         Suggested by Paul Eggert.
47063
47064 2008-12-17  Bruno Haible  <bruno@clisp.org>
47065
47066         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47067         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47068         gl_FUNC_MBRTOWC.
47069         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47070         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47071         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47072         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47073         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47074         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47075         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47076         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47077         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47078         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47079         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47080         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47081         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47082         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47083         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47084         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47085         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47086         * modules/trim (configure.ac): Likewise.
47087
47088 2008-12-17  Bruno Haible  <bruno@clisp.org>
47089
47090         * modules/btowc-tests: New file.
47091         * tests/test-btowc1.sh: New file.
47092         * tests/test-btowc2.sh: New file.
47093         * tests/test-btowc.c: New file.
47094
47095         New module 'btowc'.
47096         * lib/wchar.in.h (btowc): New declaration.
47097         * lib/btowc.c: New file.
47098         * m4/btowc.m4: New file.
47099         * modules/btowc: New file.
47100         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47101         HAVE_BTOWC.
47102         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47103         * doc/posix-functions/btowc.texi: Document the new module.
47104
47105 2008-12-17  Bruno Haible  <bruno@clisp.org>
47106
47107         New module 'mbsinit'.
47108         * lib/wchar.in.h (mbsinit): New declaration.
47109         * lib/mbsinit.c: New file.
47110         * m4/mbsinit.m4: New file.
47111         * modules/mbsinit: New file.
47112         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47113         HAVE_MBSINIT.
47114         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47115         HAVE_MBSINIT.
47116         * doc/posix-functions/mbsinit.texi: Document the new module.
47117
47118 2008-12-16  Bruno Haible  <bruno@clisp.org>
47119
47120         * lib/unistd.in.h: Add comment.
47121         * tests/test-environ.c: Don't include <stdlib.h>.
47122
47123 2008-12-16  Bruno Haible  <bruno@clisp.org>
47124
47125         * lib/parse-duration.h (parse_duration): Document return value
47126         convention.
47127         * lib/parse-duration.c: Include specification header first. Add
47128         comments.
47129         (_): Remove macro.
47130         (parse_year_month_day, parse_hour_minute_second): Move side effects
47131         outside of strchr call.
47132         (parse_non_iso8601): Move side effects outside of isspace call.
47133         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47134         call.
47135
47136 2008-12-16  Bruno Haible  <bruno@clisp.org>
47137
47138         * tests/test-parse-duration.sh: Produce no output when the test
47139         succeeds.
47140
47141 2008-12-16  Bruno Haible  <bruno@clisp.org>
47142
47143         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47144         expressions.
47145
47146 2008-12-15  Bruno Haible  <bruno@clisp.org>
47147
47148         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47149         * doc/glibc-functions/flistxattr.texi: Likewise.
47150         * doc/glibc-functions/fopencookie.texi: Likewise.
47151         * doc/glibc-functions/fremovexattr.texi: Likewise.
47152         * doc/glibc-functions/fsetxattr.texi: Likewise.
47153         * doc/glibc-functions/getxattr.texi: Likewise.
47154         * doc/glibc-functions/lgetxattr.texi: Likewise.
47155         * doc/glibc-functions/listxattr.texi: Likewise.
47156         * doc/glibc-functions/llistxattr.texi: Likewise.
47157         * doc/glibc-functions/lremovexattr.texi: Likewise.
47158         * doc/glibc-functions/lsetxattr.texi: Likewise.
47159         * doc/glibc-functions/removexattr.texi: Likewise.
47160         * doc/glibc-functions/setxattr.texi: Likewise.
47161         * doc/posix-functions/open_memstream.texi: Likewise.
47162
47163 2008-12-15  Eric Blake  <ebb9@byu.net>
47164
47165         Update doc for cygwin 1.7.
47166         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
47167         functions.
47168         * doc/posix-functions/fchmodat.texi: Likewise.
47169         * doc/posix-functions/fchownat.texi: Likewise.
47170         * doc/posix-functions/fdopendir.texi: Likewise.
47171         * doc/posix-functions/fmemopen.texi: Likewise.
47172         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47173         * doc/posix-functions/fstatat.texi: Likewise.
47174         * doc/posix-functions/futimens.texi: Likewise.
47175         * doc/posix-functions/gai_strerror.texi: Likewise.
47176         * doc/posix-functions/getaddrinfo.texi: Likewise.
47177         * doc/posix-functions/getnameinfo.texi: Likewise.
47178         * doc/posix-functions/if_freenameindex.texi: Likewise.
47179         * doc/posix-functions/if_indextoname.texi: Likewise.
47180         * doc/posix-functions/if_nameindex.texi: Likewise.
47181         * doc/posix-functions/if_nametoindex.texi: Likewise.
47182         * doc/posix-functions/insque.texi: Likewise.
47183         * doc/posix-functions/linkat.texi: Likewise.
47184         * doc/posix-functions/llrint.texi: Likewise.
47185         * doc/posix-functions/llrintf.texi: Likewise.
47186         * doc/posix-functions/llrintl.texi: Likewise.
47187         * doc/posix-functions/lockf.texi: Likewise.
47188         * doc/posix-functions/lrintl.texi: Likewise.
47189         * doc/posix-functions/mkdirat.texi: Likewise.
47190         * doc/posix-functions/mkfifoat.texi: Likewise.
47191         * doc/posix-functions/mknodat.texi: Likewise.
47192         * doc/posix-functions/mq_close.texi: Likewise.
47193         * doc/posix-functions/mq_getattr.texi: Likewise.
47194         * doc/posix-functions/mq_notify.texi: Likewise.
47195         * doc/posix-functions/mq_open.texi: Likewise.
47196         * doc/posix-functions/mq_receive.texi: Likewise.
47197         * doc/posix-functions/mq_send.texi: Likewise.
47198         * doc/posix-functions/mq_setattr.texi: Likewise.
47199         * doc/posix-functions/mq_timedreceive.texi: Likewise.
47200         * doc/posix-functions/mq_timedsend.texi: Likewise.
47201         * doc/posix-functions/mq_unlink.texi: Likewise.
47202         * doc/posix-functions/open_memstream.texi: Likewise.
47203         * doc/posix-functions/openat.texi: Likewise.
47204         * doc/posix-functions/posix_fadvise.texi: Likewise.
47205         * doc/posix-functions/posix_fallocate.texi: Likewise.
47206         * doc/posix-functions/posix_madvise.texi: Likewise.
47207         * doc/posix-functions/posix_memalign.texi: Likewise.
47208         * doc/posix-functions/posix_openpt.texi: Likewise.
47209         * doc/posix-functions/readlinkat.texi: Likewise.
47210         * doc/posix-functions/remque.texi: Likewise.
47211         * doc/posix-functions/renameat.texi: Likewise.
47212         * doc/posix-functions/rintl.texi: Likewise.
47213         * doc/posix-functions/sem_unlink.texi: Likewise.
47214         * doc/posix-functions/shm_open.texi: Likewise.
47215         * doc/posix-functions/shm_unlink.texi: Likewise.
47216         * doc/posix-functions/signgam.texi: Likewise.
47217         * doc/posix-functions/sigset.texi: Likewise.
47218         * doc/posix-functions/stpcpy.texi: Likewise.
47219         * doc/posix-functions/stpncpy.texi: Likewise.
47220         * doc/posix-functions/strerror.texi: Likewise.
47221         * doc/posix-functions/strtod.texi: Likewise.
47222         * doc/posix-functions/symlinkat.texi: Likewise.
47223         * doc/posix-functions/unlinkat.texi: Likewise.
47224         * doc/posix-functions/utimensat.texi: Likewise.
47225         * doc/glibc-functions/bindresvport.texi: Likewise.
47226         * doc/glibc-functions/dn_expand.texi: Likewise.
47227         * doc/glibc-functions/exp10.texi: Likewise.
47228         * doc/glibc-functions/exp10f.texi: Likewise.
47229         * doc/glibc-functions/fgetxattr.texi: Likewise.
47230         * doc/glibc-functions/flistxattr.texi: Likewise.
47231         * doc/glibc-functions/fopencookie.texi: Likewise.
47232         * doc/glibc-functions/freeifaddrs.texi: Likewise.
47233         * doc/glibc-functions/fremovexattr.texi: Likewise.
47234         * doc/glibc-functions/fsetxattr.texi: Likewise.
47235         * doc/glibc-functions/getifaddrs.texi: Likewise.
47236         * doc/glibc-functions/getxattr.texi: Likewise.
47237         * doc/glibc-functions/lgetxattr.texi: Likewise.
47238         * doc/glibc-functions/listxattr.texi: Likewise.
47239         * doc/glibc-functions/llistxattr.texi: Likewise.
47240         * doc/glibc-functions/lremovexattr.texi: Likewise.
47241         * doc/glibc-functions/lsetxattr.texi: Likewise.
47242         * doc/glibc-functions/pow10.texi: Likewise.
47243         * doc/glibc-functions/pow10f.texi: Likewise.
47244         * doc/glibc-functions/rcmd_af.texi: Likewise.
47245         * doc/glibc-functions/removexattr.texi: Likewise.
47246         * doc/glibc-functions/res_init.texi: Likewise.
47247         * doc/glibc-functions/res_mkquery.texi: Likewise.
47248         * doc/glibc-functions/res_query.texi: Likewise.
47249         * doc/glibc-functions/res_querydomain.texi: Likewise.
47250         * doc/glibc-functions/res_send.texi: Likewise.
47251         * doc/glibc-functions/rresvport_af.texi: Likewise.
47252         * doc/glibc-functions/setxattr.texi: Likewise.
47253         * doc/glibc-functions/strcasestr.texi: Likewise.
47254
47255 2008-12-15  Bruno Haible  <bruno@clisp.org>
47256
47257         Fix compilation error on OSF/1 4.0.
47258         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
47259         <sys/time.h>, simply delegate to the system header.
47260         Reported by Daniel Richard G. <oss@teragram.com>.
47261
47262 2008-12-15  Bruno Haible  <bruno@clisp.org>
47263
47264         * doc/posix-functions/openat.texi: Mention the 'openat' module.
47265         * doc/posix-functions/fchmodat.texi: Likewise.
47266         * doc/posix-functions/fchownat.texi: Likewise.
47267         * doc/posix-functions/fdopendir.texi: Likewise.
47268         * doc/posix-functions/fstatat.texi: Likewise.
47269         * doc/posix-functions/mkdirat.texi: Likewise.
47270         * doc/posix-functions/unlinkat.texi: Likewise.
47271
47272 2008-12-14  Bruno Haible  <bruno@clisp.org>
47273
47274         Update doc for POSIX:2008.
47275         * doc/posix-functions/faccessat.texi: New file.
47276         * doc/posix-functions/fchmodat.texi: New file.
47277         * doc/posix-functions/fchownat.texi: New file.
47278         * doc/posix-functions/fdopendir.texi: New file.
47279         * doc/posix-functions/fstatat.texi: New file.
47280         * doc/posix-functions/futimens.texi: New file.
47281         * doc/posix-functions/linkat.texi: New file.
47282         * doc/posix-functions/mkdirat.texi: New file.
47283         * doc/posix-functions/mkfifoat.texi: New file.
47284         * doc/posix-functions/mknodat.texi: New file.
47285         * doc/posix-functions/open_wmemstream.texi: New file.
47286         * doc/posix-functions/openat.texi: New file.
47287         * doc/posix-functions/psiginfo.texi: New file.
47288         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
47289         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
47290         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
47291         * doc/posix-functions/readlinkat.texi: New file.
47292         * doc/posix-functions/renameat.texi: New file.
47293         * doc/posix-functions/strerror_l.texi: New file.
47294         * doc/posix-functions/symlinkat.texi: New file.
47295         * doc/posix-functions/unlinkat.texi: New file.
47296         * doc/posix-functions/utimensat.texi: New file.
47297         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47298
47299 2008-12-14  Bruno Haible  <bruno@clisp.org>
47300
47301         Update doc for POSIX:2008.
47302         * doc/posix-functions/alphasort.texi: Renamed from
47303         doc/glibc-functions/alphasort.texi.
47304         * doc/posix-functions/dirfd.texi: Renamed from
47305         doc/glibc-functions/dirfd.texi.
47306         * doc/posix-functions/dprintf.texi: Renamed from
47307         doc/glibc-functions/dprintf.texi.
47308         * doc/posix-functions/duplocale.texi: Renamed from
47309         doc/glibc-functions/duplocale.texi.
47310         * doc/posix-functions/fexecve.texi: Renamed from
47311         doc/glibc-functions/fexecve.texi.
47312         * doc/posix-functions/fmemopen.texi: Renamed from
47313         doc/glibc-functions/fmemopen.texi.
47314         * doc/posix-functions/freelocale.texi: Renamed from
47315         doc/glibc-functions/freelocale.texi.
47316         * doc/posix-functions/getdate_err.texi: Renamed from
47317         doc/glibc-functions/getdate_err.texi.
47318         * doc/posix-functions/isalnum_l.texi: Renamed from
47319         doc/glibc-functions/isalnum_l.texi.
47320         * doc/posix-functions/isalpha_l.texi: Renamed from
47321         doc/glibc-functions/isalpha_l.texi.
47322         * doc/posix-functions/isblank_l.texi: Renamed from
47323         doc/glibc-functions/isblank_l.texi.
47324         * doc/posix-functions/iscntrl_l.texi: Renamed from
47325         doc/glibc-functions/iscntrl_l.texi.
47326         * doc/posix-functions/isdigit_l.texi: Renamed from
47327         doc/glibc-functions/isdigit_l.texi.
47328         * doc/posix-functions/isgraph_l.texi: Renamed from
47329         doc/glibc-functions/isgraph_l.texi.
47330         * doc/posix-functions/islower_l.texi: Renamed from
47331         doc/glibc-functions/islower_l.texi.
47332         * doc/posix-functions/isprint_l.texi: Renamed from
47333         doc/glibc-functions/isprint_l.texi.
47334         * doc/posix-functions/ispunct_l.texi: Renamed from
47335         doc/glibc-functions/ispunct_l.texi.
47336         * doc/posix-functions/isspace_l.texi: Renamed from
47337         doc/glibc-functions/isspace_l.texi.
47338         * doc/posix-functions/isupper_l.texi: Renamed from
47339         doc/glibc-functions/isupper_l.texi.
47340         * doc/posix-functions/iswalnum_l.texi: Renamed from
47341         doc/glibc-functions/iswalnum_l.texi.
47342         * doc/posix-functions/iswalpha_l.texi: Renamed from
47343         doc/glibc-functions/iswalpha_l.texi.
47344         * doc/posix-functions/iswblank_l.texi: Renamed from
47345         doc/glibc-functions/iswblank_l.texi.
47346         * doc/posix-functions/iswcntrl_l.texi: Renamed from
47347         doc/glibc-functions/iswcntrl_l.texi.
47348         * doc/posix-functions/iswctype_l.texi: Renamed from
47349         doc/glibc-functions/iswctype_l.texi.
47350         * doc/posix-functions/iswdigit_l.texi: Renamed from
47351         doc/glibc-functions/iswdigit_l.texi.
47352         * doc/posix-functions/iswgraph_l.texi: Renamed from
47353         doc/glibc-functions/iswgraph_l.texi.
47354         * doc/posix-functions/iswlower_l.texi: Renamed from
47355         doc/glibc-functions/iswlower_l.texi.
47356         * doc/posix-functions/iswprint_l.texi: Renamed from
47357         doc/glibc-functions/iswprint_l.texi.
47358         * doc/posix-functions/iswpunct_l.texi: Renamed from
47359         doc/glibc-functions/iswpunct_l.texi.
47360         * doc/posix-functions/iswspace_l.texi: Renamed from
47361         doc/glibc-functions/iswspace_l.texi.
47362         * doc/posix-functions/iswupper_l.texi: Renamed from
47363         doc/glibc-functions/iswupper_l.texi.
47364         * doc/posix-functions/iswxdigit_l.texi: Renamed from
47365         doc/glibc-functions/iswxdigit_l.texi.
47366         * doc/posix-functions/isxdigit_l.texi: Renamed from
47367         doc/glibc-functions/isxdigit_l.texi.
47368         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
47369         doc/glibc-functions/mbsnrtowcs.texi.
47370         * doc/posix-functions/mkdtemp.texi: Renamed from
47371         doc/glibc-functions/mkdtemp.texi.
47372         * doc/posix-functions/newlocale.texi: Renamed from
47373         doc/glibc-functions/newlocale.texi.
47374         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
47375         doc/glibc-functions/nl_langinfo_l.texi.
47376         * doc/posix-functions/open_memstream.texi: Renamed from
47377         doc/glibc-functions/open_memstream.texi.
47378         * doc/posix-functions/opterr.texi: Renamed from
47379         doc/glibc-functions/opterr.texi.
47380         * doc/posix-functions/optind.texi: Renamed from
47381         doc/glibc-functions/optind.texi.
47382         * doc/posix-functions/optopt.texi: Renamed from
47383         doc/glibc-functions/optopt.texi.
47384         * doc/posix-functions/psignal.texi: Renamed from
47385         doc/glibc-functions/psignal.texi.
47386         * doc/posix-functions/scandir.texi: Renamed from
47387         doc/glibc-functions/scandir.texi.
47388         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
47389         doc/glibc-functions/sched_get_priority_min.texi.
47390         * doc/posix-functions/signgam.texi: Renamed from
47391         doc/glibc-functions/signgam.texi.
47392         * doc/posix-functions/stpcpy.texi: Renamed from
47393         doc/glibc-functions/stpcpy.texi.
47394         * doc/posix-functions/stpncpy.texi: Renamed from
47395         doc/glibc-functions/stpncpy.texi.
47396         * doc/posix-functions/strcasecmp_l.texi: Renamed from
47397         doc/glibc-functions/strcasecmp_l.texi.
47398         * doc/posix-functions/strcoll_l.texi: Renamed from
47399         doc/glibc-functions/strcoll_l.texi.
47400         * doc/posix-functions/strfmon_l.texi: Renamed from
47401         doc/glibc-functions/strfmon_l.texi.
47402         * doc/posix-functions/strftime_l.texi: Renamed from
47403         doc/glibc-functions/strftime_l.texi.
47404         * doc/posix-functions/strncasecmp_l.texi: Renamed from
47405         doc/glibc-functions/strncasecmp_l.texi.
47406         * doc/posix-functions/strndup.texi: Renamed from
47407         doc/glibc-functions/strndup.texi.
47408         * doc/posix-functions/strnlen.texi: Renamed from
47409         doc/glibc-functions/strnlen.texi.
47410         * doc/posix-functions/strsignal.texi: Renamed from
47411         doc/glibc-functions/strsignal.texi.
47412         * doc/posix-functions/strxfrm_l.texi: Renamed from
47413         doc/glibc-functions/strxfrm_l.texi.
47414         * doc/posix-functions/timer_gettime.texi: Renamed from
47415         doc/glibc-functions/timer_gettime.texi.
47416         * doc/posix-functions/tolower_l.texi: Renamed from
47417         doc/glibc-functions/tolower_l.texi.
47418         * doc/posix-functions/toupper_l.texi: Renamed from
47419         doc/glibc-functions/toupper_l.texi.
47420         * doc/posix-functions/towctrans_l.texi: Renamed from
47421         doc/glibc-functions/towctrans_l.texi.
47422         * doc/posix-functions/towlower_l.texi: Renamed from
47423         doc/glibc-functions/towlower_l.texi.
47424         * doc/posix-functions/towupper_l.texi: Renamed from
47425         doc/glibc-functions/towupper_l.texi.
47426         * doc/posix-functions/uselocale.texi: Renamed from
47427         doc/glibc-functions/uselocale.texi.
47428         * doc/posix-functions/vdprintf.texi: Renamed from
47429         doc/glibc-functions/vdprintf.texi.
47430         * doc/posix-functions/wcpcpy.texi:
47431         Renamed from doc/glibc-functions/wcpcpy.texi.
47432         * doc/posix-functions/wcpncpy.texi: Renamed from
47433         doc/glibc-functions/wcpncpy.texi.
47434         * doc/posix-functions/wcscasecmp.texi: Renamed from
47435         doc/glibc-functions/wcscasecmp.texi.
47436         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
47437         doc/glibc-functions/wcscasecmp_l.texi.
47438         * doc/posix-functions/wcscoll_l.texi: Renamed from
47439         doc/glibc-functions/wcscoll_l.texi.
47440         * doc/posix-functions/wcsdup.texi: Renamed from
47441         doc/glibc-functions/wcsdup.texi.
47442         * doc/posix-functions/wcsncasecmp.texi: Renamed from
47443         doc/glibc-functions/wcsncasecmp.texi.
47444         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
47445         doc/glibc-functions/wcsncasecmp_l.texi.
47446         * doc/posix-functions/wcsnlen.texi: Renamed from
47447         doc/glibc-functions/wcsnlen.texi.
47448         * doc/posix-functions/wcsnrtombs.texi: Renamed from
47449         doc/glibc-functions/wcsnrtombs.texi.
47450         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
47451         doc/glibc-functions/wcsxfrm_l.texi.
47452         * doc/posix-functions/wctrans_l.texi: Renamed from
47453         doc/glibc-functions/wctrans_l.texi.
47454         * doc/posix-functions/wctype_l.texi: Renamed from
47455         doc/glibc-functions/wctype_l.texi.
47456         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47457         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
47458         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
47459         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
47460         these subsections.
47461         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
47462         Remove sections.
47463
47464 2008-12-14  Bruno Haible  <bruno@clisp.org>
47465
47466         Update doc for POSIX:2008.
47467         * doc/posix-functions/*.texi: Update URL of POSIX specification.
47468
47469 2008-12-14  Bruno Haible  <bruno@clisp.org>
47470
47471         Update doc for POSIX:2008.
47472         * doc/pastposix-functions/bcmp.texi: Renamed from
47473         doc/posix-functions/bcmp.texi.
47474         * doc/pastposix-functions/bcopy.texi: Renamed from
47475         doc/posix-functions/bcopy.texi.
47476         * doc/pastposix-functions/bsd_signal.texi: Renamed from
47477         doc/posix-functions/bsd_signal.texi.
47478         * doc/pastposix-functions/bzero.texi: Renamed from
47479         doc/posix-functions/bzero.texi.
47480         * doc/pastposix-functions/ecvt.texi: Renamed from
47481         doc/posix-functions/ecvt.texi.
47482         * doc/pastposix-functions/fcvt.texi: Renamed from
47483         doc/posix-functions/fcvt.texi.
47484         * doc/pastposix-functions/ftime.texi: Renamed from
47485         doc/posix-functions/ftime.texi.
47486         * doc/pastposix-functions/gcvt.texi: Renamed from
47487         doc/posix-functions/gcvt.texi.
47488         * doc/pastposix-functions/getcontext.texi: Renamed from
47489         doc/posix-functions/getcontext.texi.
47490         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
47491         doc/posix-functions/gethostbyaddr.texi.
47492         * doc/pastposix-functions/gethostbyname.texi: Renamed from
47493         doc/posix-functions/gethostbyname.texi.
47494         * doc/pastposix-functions/getwd.texi: Renamed from
47495         doc/posix-functions/getwd.texi.
47496         * doc/pastposix-functions/h_errno.texi: Renamed from
47497         doc/posix-functions/h_errno.texi.
47498         * doc/pastposix-functions/index.texi: Renamed from
47499         doc/posix-functions/index.texi.
47500         * doc/pastposix-functions/makecontext.texi: Renamed from
47501         doc/posix-functions/makecontext.texi.
47502         * doc/pastposix-functions/mktemp.texi: Renamed from
47503         doc/posix-functions/mktemp.texi.
47504         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
47505         doc/posix-functions/pthread_attr_getstackaddr.texi.
47506         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
47507         doc/posix-functions/pthread_attr_setstackaddr.texi.
47508         * doc/pastposix-functions/rindex.texi: Renamed from
47509         doc/posix-functions/rindex.texi.
47510         * doc/pastposix-functions/scalb.texi: Renamed from
47511         doc/posix-functions/scalb.texi.
47512         * doc/pastposix-functions/setcontext.texi: Renamed from
47513         doc/posix-functions/setcontext.texi.
47514         * doc/pastposix-functions/swapcontext.texi: Renamed from
47515         doc/posix-functions/swapcontext.texi.
47516         * doc/pastposix-functions/ualarm.texi: Renamed from
47517         doc/posix-functions/ualarm.texi.
47518         * doc/pastposix-functions/usleep.texi: Renamed from
47519         doc/posix-functions/usleep.texi.
47520         * doc/pastposix-functions/vfork.texi: Renamed from
47521         doc/posix-functions/vfork.texi.
47522         * doc/pastposix-functions/wcswcs.texi: Renamed from
47523         doc/posix-functions/wcswcs.texi.
47524         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
47525         (Function Substitutes): Update.
47526
47527 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47528
47529         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
47530         m4/strerror.m4.
47531
47532 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47533             Bruno Haible  <bruno@clisp.org>
47534
47535         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
47536
47537 2008-12-13  Bruno Haible  <bruno@clisp.org>
47538
47539         * modules/strtoull (Depends-on): Remove unistd.
47540
47541 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47542
47543         * modules/strtoull (Depends-on): Add stdlib.
47544
47545 2008-12-11  Simon Josefsson  <simon@josefsson.org>
47546
47547         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
47548
47549 2008-12-10  Jim Meyering  <meyering@redhat.com>
47550
47551         gl_ASSERT: don't say assertions are disabled when they're not
47552         * m4/assert.m4 (gl_ASSERT): Do not make configure report
47553         "checking whether to enable assertions... no", when they are in
47554         fact enabled.  This is solely a bug in the output of configure.
47555         In spite of saying "no", NDEBUG was not defined in that case.
47556         Also, as noted by Eric Blake, leave assertions enabled upon
47557         --enable-assert=INVALID.
47558
47559 2008-12-10  Bruno Haible  <bruno@clisp.org>
47560
47561         Change MODULES.html to refer to POSIX:2008 where possible.
47562         * MODULES.html.sh (POSIX2008_URL): New variable.
47563         (posix_headers): Remove sys/timeb, ucontext.
47564         (posix2001_headers): New variable.
47565         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
47566         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
47567         index, makecontext, mktemp, pthread_attr_getstackaddr,
47568         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
47569         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
47570         (posix2001_functions): New variable.
47571         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
47572         otherwise.
47573
47574 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47575
47576         add missing include to parse-duration.c
47577         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
47578         * modules/parse-duration (Depends-on): Add xalloc.
47579
47580         fix sed script reading maint.mk
47581         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
47582         (syntax-check-rules): Use it.
47583
47584 2008-12-09  Bruno Haible  <bruno@clisp.org>
47585
47586         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
47587         MacOS X 10.4/PowerPC.
47588         Reported by Simon Josefsson.
47589
47590 2008-12-08  Jim Meyering  <meyering@redhat.com>
47591
47592         work around mingw's lack of some S_IF definitions
47593         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
47594         Reported by Simon Josefsson.
47595
47596 2008-12-08  Bruno Haible  <bruno@clisp.org>
47597
47598         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
47599         applied to variables. Needed on MacOS X 10.4/PowerPC.
47600         Reported by Simon Josefsson.
47601
47602 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
47603         and Eric Blake  <ebb9@byu.net>
47604
47605         assert: honor --enable-assert
47606         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
47607         order to honor --enable-assert, rather than treating it as a
47608         synonym for --disable-assert.
47609
47610 2008-12-08  Jim Meyering  <meyering@redhat.com>
47611
47612         * lib/posixtm.c: Remove now-useless declaration of mktime.
47613
47614         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
47615
47616 2008-12-07  Bruno Haible  <bruno@clisp.org>
47617
47618         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
47619         test_once): Mark functions as static.
47620         * tests/test-tls.c (test_tls): Likewise.
47621
47622 2008-12-07  Bruno Haible  <bruno@clisp.org>
47623
47624         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
47625         iconv_register_autodetect.
47626
47627 2008-12-07  Jim Meyering  <meyering@redhat.com>
47628
47629         posixtm.c: avoid a warning
47630         * lib/posixtm.c (posixtime): Don't initialize tm0.
47631         It's no longer needed to placate gcc4's -Wuninitialized,
47632         and the attempt to placate would elicit a new warning.
47633
47634         unicodeio.c: mark unused parameters
47635         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
47636         (fallback_failure_callback): Likewise.
47637
47638 2008-12-07  Bruno Haible  <bruno@clisp.org>
47639
47640         * gnulib-tool (func_create_testdir): When building the tests
47641         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
47642         Reported by Simon Josefsson.
47643
47644 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47645
47646         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
47647
47648 2008-12-06  Bruno Haible  <bruno@clisp.org>
47649
47650         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
47651         Suggested by Eric Blake.
47652
47653 2008-12-06  Bruno Haible  <bruno@clisp.org>
47654
47655         Fix a c-stack test failure on MacOS X.
47656         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
47657         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
47658         handler for SIGBUS as well.
47659         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
47660         install a signal handler for SIGBUS as well.
47661         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
47662
47663 2008-12-06  Bruno Haible  <bruno@clisp.org>
47664
47665         Advocacy documentation.
47666         * doc/gnulib-intro.texi (Benefits): New section.
47667         * doc/gnulib.texi: Update.
47668
47669 2008-12-06  Bruno Haible  <bruno@clisp.org>
47670
47671         Document the 'manywarnings' module.
47672         * doc/manywarnings.texi: New file.
47673         * doc/gnulib.texi: Include it.
47674
47675 2008-12-05  Eric Blake  <ebb9@byu.net>
47676
47677         tests: silence some gcc warnings
47678         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
47679         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
47680         type mismatches.
47681
47682 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47683             Bruno Haible  <bruno@clisp.org>
47684
47685         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
47686
47687 2008-11-29  Jim Meyering  <meyering@redhat.com>
47688
47689         unicodeio.c: mark unused parameters
47690         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
47691         (fallback_failure_callback): Likewise.
47692
47693         fts: fix a thinko
47694         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
47695         (set_stat_type): Return S_IF*-valued "type" directly.
47696         Prompted by James Youngman's spotting a related bug.
47697         Confirmed by further testing through find.
47698
47699         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
47700         * lib/fts.c (D_TYPE): Define.
47701         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
47702         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
47703         (s_ifmt_shift_bits): New function.
47704         (set_stat_type): New function.
47705         (fts_build): When not calling fts_stat, call set_stat_type
47706         to propagate dirent.d_type info to fts_read caller.
47707         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
47708         fts_statp->st_mode type information may be valid.
47709
47710 2008-11-28  Simon Josefsson  <simon@josefsson.org>
47711
47712         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
47713         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
47714         <sds@gnu.org>.
47715
47716 2008-11-20  Bruno Haible  <bruno@clisp.org>
47717
47718         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
47719         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
47720         INCLUDE_NEXT.
47721         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
47722         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
47723         * modules/math (Makefile.am): Substitute
47724         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
47725         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47726
47727 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
47728             Bruno Haible  <bruno@clisp.org>
47729
47730         * lib/stdint.in.h: Define all type macros so that their expansion is
47731         a single typedef'ed token. Fixes a compilation failure in Boost which
47732         does "using ::int8_t;".
47733
47734 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47735
47736         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
47737         gl_MANYWARN_ALL_GCC.
47738         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
47739         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
47740         * modules/manywarnings: New file.
47741         * MODULES.html.sh: Mention manywarnings module.
47742
47743 2008-11-18  Bruno Haible  <bruno@clisp.org>
47744
47745         * doc/gnulib-tool.texi (Unit tests): New section.
47746
47747 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47748
47749         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
47750         paths like 'lib/po/foo.po'.
47751
47752 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47753
47754         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
47755         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
47756
47757 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47758
47759         * m4/warnings.m4: Use CPPFLAGS to really check whether the
47760         parameter works.
47761
47762 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47763
47764         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
47765
47766 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47767
47768         * modules/parse-duration-tests: New file.
47769         * tests/test-parse-duration.sh: New file.
47770         * tests/test-parse-duration.c: New file.
47771
47772         New module 'parse-duration'.
47773         * lib/parse-duration.h: New file.
47774         * lib/parse-duration.c: New file.
47775         * modules/parse-duration: New file.
47776
47777 2008-11-17  Bruno Haible  <bruno@clisp.org>
47778
47779         * tests/test-select-out.sh: Comment out the first pipe test.
47780         Reported by Simon Josefsson.
47781
47782 2008-11-17  Bruno Haible  <bruno@clisp.org>
47783
47784         * modules/getaddrinfo (Depends-on): Add servent, hostent.
47785         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
47786         gl_HOSTENT.
47787
47788 2008-11-17  Bruno Haible  <bruno@clisp.org>
47789
47790         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
47791         -lnetwork and -lnet. Needed for Haiku and BeOS.
47792
47793 2008-11-16  Bruno Haible  <bruno@clisp.org>
47794
47795         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
47796
47797 2008-11-16  Bruno Haible  <bruno@clisp.org>
47798
47799         Avoid test failure on Haiku.
47800         * tests/test-fsync.c: Include <errno.h>.
47801         (main): Don't require that fsync (0) fails.
47802
47803 2008-11-15  Bruno Haible  <bruno@clisp.org>
47804
47805         New module 'hostent'.
47806         * modules/hostent: New file.
47807         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
47808
47809 2008-11-15  Bruno Haible  <bruno@clisp.org>
47810
47811         New module 'servent'.
47812         * modules/servent: New file.
47813         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
47814
47815 2008-11-15  Bruno Haible  <bruno@clisp.org>
47816
47817         Avoid generating same test program with two different rules.
47818         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
47819         test-frexp to test-frexp-nolibm.
47820         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
47821         test-frexpl to test-frexpl-nolibm.
47822
47823 2008-11-15  Bruno Haible  <bruno@clisp.org>
47824
47825         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
47826         $(FREXPL_LIBM).
47827
47828 2008-11-15  Bruno Haible  <bruno@clisp.org>
47829
47830         * lib/netdb.in.h: Activate the definitions also when the system's
47831         <netdb.h> has 'struct addrinfo'.
47832         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
47833         EAI_OVERFLOW or AI_NUMERICSERV.
47834         * doc/posix-headers/netdb.texi: Document the problem.
47835
47836 2008-11-15  Bruno Haible  <bruno@clisp.org>
47837
47838         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
47839
47840         Make the 'sched' module work on platforms where <sched.h> exists but
47841         is incomplete (such as Haiku).
47842         * lib/sched.in.h; Include the system's <sched.h> if it exists.
47843         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
47844         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
47845         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
47846         HAVE_STRUCT_SCHED_PARAM.
47847         * modules/sched (Depends-on): Add include_next.
47848         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
47849         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
47850         * doc/posix-headers/sched.texi: Document the issue.
47851
47852 2008-11-13  Jim Meyering  <meyering@redhat.com>
47853
47854         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
47855         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
47856         test would fail due to the difference in the Report bugs to ...
47857         line.  The expected address is empty, "<>", while the actual
47858         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
47859
47860 2008-11-12  Bruno Haible  <bruno@clisp.org>
47861
47862         lstat: don't compile lstat.c on systems lacking lstat
47863         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
47864         which don't have lstat; this is handled by lib/sys_stat.in.h already.
47865         Reported by Daniel P. Berrange via Jim Meyering.
47866
47867 2008-11-12  Jim Meyering  <meyering@redhat.com>
47868
47869         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
47870
47871 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47872
47873         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
47874         instead.
47875
47876 2008-11-12  Bruno Haible  <bruno@clisp.org>
47877
47878         * lib/unicodeio.c: Include unistr.h.
47879         (utf8_wctomb): Remove function.
47880         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
47881
47882 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47883
47884         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
47885         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
47886         <bruno@clisp.org>.
47887         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
47888
47889 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47890
47891         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
47892         * doc/gnulib.texi: Add section for warnings.
47893
47894 2008-11-11  Bruno Haible  <bruno@clisp.org>
47895
47896         * lib/sockets.h: Add a comment.
47897
47898 2008-11-11  Karl Berry  <karl@gnu.org>
47899
47900         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
47901
47902 2008-11-11  Eric Blake  <ebb9@byu.net>
47903
47904         fdl.texi: avoid git symlinks
47905         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
47906
47907 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47908
47909         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
47910
47911 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47912
47913         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
47914         (gl_WARN_ADD): Substitute $2 if literal.
47915
47916 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47917
47918         * m4/warning.m4: Remove.
47919
47920 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47921
47922         * m4/warnings.m4: Almost complete rewrite. :-)
47923
47924 2008-11-10  Simon Josefsson  <simon@josefsson.org>
47925
47926         * modules/warnings: New module.
47927         * m4/warnings.m4: New file.
47928         * MODULES.html.sh: Mention warnings module.
47929         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
47930         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47931
47932 2008-11-10  Eric Blake  <ebb9@byu.net>
47933
47934         fdl.texi: make a symlink to the latest version
47935         * doc/standards.texi: Revert today's earlier change.
47936         * doc/fdl-1.2.texi: Rename from old fdl.texi...
47937         * doc/fdl.texi: ...and replace this with a symlink to the newer
47938         fdl-1.3.texi.
47939
47940 2008-11-10  Bruno Haible  <bruno@clisp.org>
47941
47942         * tests/test-select-fd.c (main): Accept the result file name as fourth
47943         argument.
47944         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
47945         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
47946
47947 2008-11-10  Bruno Haible  <bruno@clisp.org>
47948
47949         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
47950         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
47951         as autoconf-substituted macros.
47952         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
47953         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
47954         gl_NETDB_H_DEFAULTS. Set these variables.
47955         * modules/netdb (Makefile.am): Substitute these variables.
47956
47957 2008-11-10  Eric Blake  <ebb9@byu.net>
47958
47959         standards.texi: include correct file for FDL 1.3
47960         * doc/standards.texi (GNU Free Documentation License): Change
47961         include file to pull in FDL 1.3, not 1.2.
47962
47963         fdl.texi: revert accidental change to license
47964         * doc/fdl.texi: This is FDL 1.2, not 1.3.
47965
47966 2008-11-10  Bruno Haible  <bruno@clisp.org>
47967
47968         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
47969         cross-compiling guesses also when the native compile gives no result.
47970
47971 2008-11-10  Bruno Haible  <bruno@clisp.org>
47972
47973         * lib/spawni.c (__spawni): Force variable into the stack.
47974
47975 2008-11-10  Bruno Haible  <bruno@clisp.org>
47976
47977         Add support for Haiku.
47978         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
47979         glibc and BeOS, but also on Haiku.
47980         * lib/fpurge.c (fpurge): Likewise.
47981         * lib/freadable.c (freadable): Likewise.
47982         * lib/freadahead.c (freadahead): Likewise.
47983         * lib/freading.c (freading): Likewise.
47984         * lib/freadptr.c (freadptr): Likewise.
47985         * lib/freadseek.c (freadptrinc): Likewise.
47986         * lib/fseeko.c (rpl_fseeko): Likewise.
47987         * lib/fseterr.c (fseterr): Likewise.
47988         * lib/fwritable.c (fwritable): Likewise.
47989         * lib/fwriting.c (fwriting): Likewise.
47990         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
47991
47992 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47993
47994         * lib/config.charset: Treat Haiku like BeOS.
47995
47996 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47997
47998         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
47999         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48000
48001 2008-11-08  Bruno Haible  <bruno@clisp.org>
48002
48003         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48004         AC_CACHE_CHECK.
48005
48006 2008-11-08  Bruno Haible  <bruno@clisp.org>
48007
48008         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48009
48010 2008-11-08  Bruno Haible  <bruno@clisp.org>
48011
48012         * tests/test-select-fd.c: New file.
48013         * tests/test-select-in.sh: New file.
48014         * tests/test-select-out.sh: New file.
48015         * tests/test-select-stdin.c: New file.
48016         * modules/select-tests (Files): Add the new files.
48017         (Depends-on): Add gettimeofday.
48018         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48019         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48020         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48021
48022 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48023             Bruno Haible  <bruno@clisp.org>
48024
48025         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48026
48027 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48028
48029         * build-aux/pmccabe2html: Added support for C++ source files.
48030
48031 2008-11-05  Ben Pfaff  <blp@gnu.org>
48032
48033         Fix lib/close.c build on Windows.
48034         * modules/close (Files): Add lib/w32sock.h.
48035
48036 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48037
48038         Accept Bison's NEWS format.
48039         * build-aux/announce-gen (print_news_deltas): Tweak
48040         $re_prefix.
48041
48042 2008-11-04  Bruno Haible  <bruno@clisp.org>
48043
48044         * modules/random_r (Maintainer): Add glibc.
48045
48046 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48047
48048         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48049         by karl@freefriends.org (Karl Berry).
48050         * doc/alloca.texi: Likewise.
48051         * doc/c-ctype.texi: Likewise.
48052         * doc/c-strcase.texi: Likewise.
48053         * doc/c-strcaseeq.texi: Likewise.
48054         * doc/c-strcasestr.texi: Likewise.
48055         * doc/c-strstr.texi: Likewise.
48056         * doc/c-strtod.texi: Likewise.
48057         * doc/c-strtold.texi: Likewise.
48058         * doc/ctime.texi: Likewise.
48059         * doc/error.texi: Likewise.
48060         * doc/fdl.texi: Likewise.
48061         * doc/gcd.texi: Likewise.
48062         * doc/getdate.texi: Likewise.
48063         * doc/gnulib-intro.texi: Likewise.
48064         * doc/gnulib-tool.texi: Likewise.
48065         * doc/gnulib.texi: Likewise.
48066         * doc/inet_ntoa.texi: Likewise.
48067         * doc/maintain.texi: Likewise.
48068         * doc/make-stds.texi: Likewise.
48069         * doc/quote.texi: Likewise.
48070         * doc/regexprops-generic.texi: Likewise.
48071         * doc/standards.texi: Likewise.
48072         * doc/verify.texi: Likewise.
48073         * doc/visibility.texi: Likewise.
48074         * doc/gnulib.texi (GNU Free Documentation License): Include
48075         fdl-1.3.texi instead of fdl.texi.
48076
48077 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48078
48079         * doc/fdl-1.3.texi: New file, from
48080         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48081         * modules/fdl-1.3: Add.
48082         * MODULES.html.sh: Add fdl-1.3.
48083
48084 2008-11-03  Bruno Haible  <bruno@clisp.org>
48085
48086         Make determination of absolute name of header file work with AIX xlc.
48087         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48088         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48089         preprocessing.
48090         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48091         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48092
48093 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48094
48095         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48096         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48097         <ludo@gnu.org>.
48098
48099 2008-11-02  Bruno Haible  <bruno@clisp.org>
48100
48101         Mark 'strpbrk' obsolete.
48102         * modules/strpbrk (Status, Notice): New sections.
48103         * modules/strtok_r (Depends-on): Add strpbrk.
48104
48105 2008-11-02  Bruno Haible  <bruno@clisp.org>
48106
48107         Mark 'strdup' obsolete.
48108         * modules/strdup (Status, Notice): New sections.
48109         * modules/findprog (Depends-on): Add strdup.
48110         * modules/getaddrinfo (Depends-on): Likewise.
48111         * modules/localename (Depends-on): Likewise.
48112         * modules/relocatable-lib (Depends-on): Likewise.
48113         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48114         * modules/relocatable-prog (Depends-on): Likewise.
48115         * modules/trim (Depends-on): Likewise.
48116         * modules/unictype/gen-ctype (Depends-on): Likewise.
48117         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48118
48119 2008-11-02  Bruno Haible  <bruno@clisp.org>
48120
48121         Mark 'strcspn' obsolete.
48122         * modules/strcspn (Status, Notice): New sections.
48123
48124 2008-11-02  Bruno Haible  <bruno@clisp.org>
48125
48126         Mark 'rmdir' obsolete.
48127         * modules/rmdir (Status, Notice): New sections.
48128         * modules/clean-temp (Depends-on): Add rmdir.
48129         * modules/openat (Depends-on): Likewise.
48130
48131 2008-11-02  Bruno Haible  <bruno@clisp.org>
48132
48133         Mark 'raise' obsolete.
48134         * modules/raise (Status, Notice): New sections.
48135         (Include): Specify <signal.h>.
48136         * modules/stdio (Depends-on): Add raise.
48137         * modules/write (Depends-on): Likewise.
48138
48139 2008-11-02  Bruno Haible  <bruno@clisp.org>
48140
48141         Mark 'memset' obsolete.
48142         * modules/memset (Status, Notice): New sections.
48143
48144 2008-11-02  Bruno Haible  <bruno@clisp.org>
48145
48146         Mark 'memmove' obsolete.
48147         * modules/memmove (Status, Notice): New sections.
48148         * modules/argp (Depends-on): Add memmove.
48149         * modules/argz (Depends-on): Likewise.
48150         * modules/canonicalize (Depends-on): Likewise.
48151         * modules/canonicalize-lgpl (Depends-on): Likewise.
48152         * modules/fts (Depends-on): Likewise.
48153         * modules/getcwd (Depends-on): Likewise.
48154         * modules/human (Depends-on): Likewise.
48155         * modules/regex (Depends-on): Likewise.
48156         * modules/striconveh (Depends-on): Likewise.
48157         * modules/trim (Depends-on): Likewise.
48158         * modules/unistr/u8-move (Depends-on): Likewise.
48159         * modules/unistr/u16-move (Depends-on): Likewise.
48160         * modules/unistr/u32-move (Depends-on): Likewise.
48161
48162 2008-11-02  Bruno Haible  <bruno@clisp.org>
48163
48164         Mark 'memcpy' obsolete.
48165         * modules/memcpy (Status, Notice): New sections.
48166
48167 2008-11-02  Bruno Haible  <bruno@clisp.org>
48168
48169         Mark 'memcmp' obsolete.
48170         * modules/memcmp (Status, Notice): New sections.
48171         * modules/argmatch (Depends-on): Add memchr.
48172         * modules/backupfile (Depends-on): Likewise.
48173         * modules/c-strcasestr (Depends-on): Likewise.
48174         * modules/crypto/des (Depends-on): Likewise.
48175         * modules/csharpcomp (Depends-on): Likewise.
48176         * modules/fnmatch (Depends-on): Likewise.
48177         * modules/git-merge-changelog (Depends-on): Likewise.
48178         * modules/isnand (Depends-on): Likewise.
48179         * modules/isnand-nolibm (Depends-on): Likewise.
48180         * modules/isnanf (Depends-on): Likewise.
48181         * modules/isnanf-nolibm (Depends-on): Likewise.
48182         * modules/isnanl (Depends-on): Likewise.
48183         * modules/isnanl-nolibm (Depends-on): Likewise.
48184         * modules/mbchar (Depends-on): Likewise.
48185         * modules/memcoll (Depends-on): Likewise.
48186         * modules/quotearg (Depends-on): Likewise.
48187         * modules/regex (Depends-on): Likewise.
48188         * modules/relocatable-prog (Depends-on): Likewise.
48189         * modules/same (Depends-on): Likewise.
48190         * modules/signbit (Depends-on): Likewise.
48191         * modules/strcasestr-simple (Depends-on): Likewise.
48192         * modules/unictype/gen-ctype (Depends-on): Likewise.
48193         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48194         * modules/uniname/uniname (Depends-on): Likewise.
48195         * modules/unistr/u8-cmp (Depends-on): Likewise.
48196
48197 2008-11-02  Bruno Haible  <bruno@clisp.org>
48198
48199         Mark 'memchr' obsolete.
48200         * modules/memchr (Status, Notice): New sections.
48201         * modules/argp (Depends-on): Add memchr.
48202         * modules/base64 (Depends-on): Likewise.
48203         * modules/c-strcasestr (Depends-on): Likewise.
48204         * modules/chdir-long (Depends-on): Likewise.
48205         * modules/fnmatch (Depends-on): Likewise.
48206         * modules/getsubopt (Depends-on): Likewise.
48207         * modules/git-merge-changelog (Depends-on): Likewise.
48208         * modules/glob (Depends-on): Likewise.
48209         * modules/strcasestr-simple (Depends-on): Likewise.
48210         * modules/strnlen (Depends-on): Likewise.
48211
48212 2008-11-02  Bruno Haible  <bruno@clisp.org>
48213
48214         Mark 'atexit' obsolete.
48215         * modules/atexit (Status, Notice): New sections.
48216         * modules/chdir-long (Depends-on): Add atexit.
48217         * modules/wait-process (Depends-on): Likewise.
48218
48219 2008-11-02  Bruno Haible  <bruno@clisp.org>
48220
48221         * gnulib-tool: New option --with-obsolete.
48222         (func_usage): Document it.
48223         (func_modules_transitive_closure): Drop obsolete dependencies if
48224         incobsolete is not true.
48225         (func_import): Read and save the incobsolete variable to the cache.
48226
48227 2008-11-02  Bruno Haible  <bruno@clisp.org>
48228
48229         * modules/TEMPLATE-EXTENDED: New field 'Status'.
48230         * gnulib-tool: New option --extract-status.
48231         (func_usage): Document it.
48232         (sed_extract_prog): Recognize it.
48233         (func_get_status): New function.
48234
48235 2008-10-30  Simon Josefsson  <simon@josefsson.org>
48236
48237         * modules/sockets (License): Change from LGPL to LGPLv2+.
48238
48239 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48240
48241         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
48242
48243 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48244
48245         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48246         Mention times and sys_times.
48247         * modules/sys_times, modules/sys_times-tests: New modules.
48248         * modules/times, modules/times-tests: Likewise
48249         * m4/sys_times_h.m4: New file.
48250         * lib/sys_times.in.h: Likewise
48251         * lib/times.c: Likewise.
48252         * tests/test-sys_times.c: Likewise.
48253         * tests/test-times.c: Likewise.
48254         * doc/posix-headers/sys_times.texi: Update.
48255         * doc/posix-functions/times.texi: Update.
48256
48257 2008-10-28  Jim Meyering  <meyering@redhat.com>
48258
48259         * modules/tempname (Depends-on): Add lstat.
48260
48261         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
48262
48263 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48264
48265         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
48266         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
48267         using idiom used elsewhere in gnulib.
48268
48269 2008-10-27  Jim Meyering  <meyering@redhat.com>
48270
48271         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
48272
48273 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48274
48275         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
48276         TESTS_ENVIRONMENT, for shell scripts that needs to call built
48277         programs.
48278         * tests/test-argp-2.sh: Use $EXEEXT when needed.
48279
48280 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48281
48282         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
48283
48284 2008-10-27  Bruno Haible  <bruno@clisp.org>
48285
48286         * tests/test-lstat.c: Include <stdio.h>.
48287
48288 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48289
48290         * modules/lstat-tests: New module.
48291         * tests/test-lstat.c: New file.
48292
48293 2008-10-26  Jim Meyering  <meyering@redhat.com>
48294
48295         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
48296
48297 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48298             Bruno Haible  <bruno@clisp.org>
48299
48300         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
48301         * modules/configmake (Include): Add a note that the include must come
48302         after all system headers.
48303         * lib/javaversion.c: Include configmake.h after all other includes.
48304
48305 2008-10-26  Bruno Haible  <bruno@clisp.org>
48306
48307         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
48308         HAVE_STRUCT_RANDOM_DATA to 1.
48309         (gl_STDLIB_H): Simplify.
48310
48311 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48312
48313         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
48314         substitute HAVE_STRUCT_RANDOM_DATA.
48315         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
48316         random_data.
48317         * modules/stdlib (Makefile.am): Substitute
48318         HAVE_STRUCT_RANDOM_DATA.
48319
48320 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48321
48322         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
48323         * doc/gnulib-intro.texi (Copyright): Likewise.
48324
48325 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48326
48327         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
48328         findings.
48329
48330 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
48331             Bruno Haible  <bruno@clisp.org>
48332
48333         * lib/unistd.in.h: Include <winsock2.h>.
48334         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
48335         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
48336         Provide dummy declarations.
48337         (gethostname): Override.
48338         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
48339         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
48340         gl_PREREQ_SYS_H_WINSOCK2.
48341         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
48342         * doc/posix-functions/gethostname.texi: More details.
48343
48344 2008-10-25  Bruno Haible  <bruno@clisp.org>
48345
48346         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48347         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
48348         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
48349
48350         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
48351         here ...
48352         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
48353         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
48354         gl_UNISTD_H_DEFAULTS.
48355
48356 2008-10-25  Eric Blake  <ebb9@byu.net>
48357
48358         signbit: avoid spurious compiler failure
48359         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
48360         declarations inside function.
48361
48362 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48363             Bruno Haible  <bruno@clisp.org>
48364
48365         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
48366         * modules/random_r (Depends-on): Add stdint.
48367
48368 2008-10-24  Bruno Haible  <bruno@clisp.org>
48369
48370         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
48371         Eggert.
48372         * modules/strerror (License): Likewise.
48373
48374 2008-10-24  Jim Meyering  <meyering@redhat.com>
48375
48376         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
48377         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
48378
48379 2008-10-24  Eric Blake  <ebb9@byu.net>
48380
48381         getgroups: fix compilation when getgroups is available
48382         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
48383         but with <config.h> override of getgroups disabled.
48384
48385 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48386
48387         * doc/gnulib.texi (Header files): Add note about C++ problems.
48388         Explained by Bruno Haible <bruno@clisp.org>.
48389
48390 2008-10-23  Bruno Haible  <bruno@clisp.org>
48391
48392         Define a dummy SA_NODEFER macro on Interix.
48393         * lib/signal.in.h (SA_NODEFER): Define fallback.
48394         Reported by Aleksey Cheusov <cheusov@tut.by> via
48395         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
48396
48397 2008-10-23  Bruno Haible  <bruno@clisp.org>
48398
48399         * modules/freadahead (License): Change to LGPLv2+.
48400         Suggested by Simon Josefsson.
48401
48402 2008-10-23  Jim Meyering  <meyering@redhat.com>
48403
48404         random_r: new module
48405         * modules/random_r: New file.
48406         * m4/random_r.m4: New file.
48407         * lib/random_r.c: New file, from glibc.
48408         * modules/random_r-tests: New file.
48409         * tests/test-random_r.c: New file.
48410         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
48411          Declare.
48412         (RAND_MAX): Define.
48413         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
48414         * modules/stdlib: Substitute them, too.
48415         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
48416         * doc/glibc-functions/initstate_r.texi: Mention the new module.
48417         * doc/glibc-functions/random_r.texi: Likewise.
48418         * doc/glibc-functions/setstate_r.texi: Likewise.
48419         * doc/glibc-functions/srandom_r.texi: Likewise.
48420         * config/srclist.txt: Mention it.
48421
48422 2008-10-23  David Lutterkort  <lutter@redhat.com>
48423
48424         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
48425         link requirement
48426
48427 2008-10-23  Jim Meyering  <meyering@redhat.com>
48428
48429         selinux-h: mark parameters of stub functions as intentionally unused
48430         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
48431         * lib/se-context.in.h: Likewise.
48432
48433 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48434
48435         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
48436
48437 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48438
48439         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
48440
48441 2008-10-22  Eric Blake  <ebb9@byu.net>
48442
48443         glthread/thread: avoid compiler warning
48444         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
48445         Add unreachable abort to silence compiler.
48446
48447 2008-10-22  Eric Blake  <ebb9@byu.net>
48448
48449         netdb: also supply struct addrinfo for cygwin 1.5.x
48450         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
48451         older cygwin.
48452         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
48453         cygwin.
48454         * doc/posix-headers/netdb.texi (netdb.h): Document this.
48455
48456 2008-10-22  Bruno Haible  <bruno@clisp.org>
48457
48458         * users.txt: Update entry about pspp.
48459
48460 2008-10-21  Bruno Haible  <bruno@clisp.org>
48461
48462         Simplification.
48463         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
48464         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
48465
48466         Simplification.
48467         * lib/ioctl.c (ioctl): Don't undefine.
48468         * lib/socket.c (socket): Don't undefine.
48469
48470         Remove unused module indicator macros.
48471         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
48472         GNULIB_$1 as a C macro.
48473
48474         * doc/posix-functions/close.texi: Undo last change.
48475         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
48476         Windows platforms.
48477
48478 2008-10-21  Bruno Haible  <bruno@clisp.org>
48479
48480         Add gethostname() declaration to <unistd.h>.
48481         * lib/unistd.in.h (gethostname): New declaration.
48482         * lib/gethostname.c: Include <unistd.h>.
48483         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
48484         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
48485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
48486         and HAVE_GETHOSTNAME.
48487         * modules/gethostname (Depends-on): Add unistd.
48488         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48489         (Include): Specify <unistd.h>.
48490         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
48491         HAVE_GETHOSTNAME.
48492         * tests/test-gethostname.c: Include <unistd.h> first.
48493
48494 2008-10-21  Bruno Haible  <bruno@clisp.org>
48495
48496         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
48497         * modules/select-tests (Depends-on): Likewise.
48498         Reported by Simon Josefsson.
48499
48500 2008-10-21  Simon Josefsson  <simon@josefsson.org>
48501
48502         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
48503         * lib/accept.c: New file, based on winsock.c.
48504         * lib/bind.c: New file, based on winsock.c.
48505         * lib/connect.c: New file, based on winsock.c.
48506         * lib/getpeername.c: New file, based on winsock.c.
48507         * lib/getsockname.c: New file, based on winsock.c.
48508         * lib/getsockopt.c: New file, based on winsock.c.
48509         * lib/ioctl.c: New file, based on winsock.c.
48510         * lib/listen.c: New file, based on winsock.c.
48511         * lib/recv.c: New file, based on winsock.c.
48512         * lib/recvfrom.c: New file, based on winsock.c.
48513         * lib/send.c: New file, based on winsock.c.
48514         * lib/sendto.c: New file, based on winsock.c.
48515         * lib/setsockopt.c: New file, based on winsock.c.
48516         * lib/shutdown.c: New file, based on winsock.c.
48517         * lib/socket.c: New file, based on winsock.c.
48518         * lib/w32sock.h: New file, based on winsock.c.
48519         * lib/winsock.c: Remove file.
48520         * modules/accept: Likewise.
48521         * modules/bind: Likewise.
48522         * modules/connect: Likewise.
48523         * modules/getpeername: Likewise.
48524         * modules/getsockname: Likewise.
48525         * modules/getsockopt: Likewise.
48526         * modules/ioctl: Likewise.
48527         * modules/listen: Likewise.
48528         * modules/recv: Likewise.
48529         * modules/recvfrom: Likewise.
48530         * modules/send: Likewise.
48531         * modules/sendto: Likewise.
48532         * modules/setsockopt: Likewise.
48533         * modules/shutdown: Likewise.
48534         * modules/socket: Use socket.c instead of winsock.c.
48535         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
48536         * doc/posix-functions/accept.texi: Doc fix.
48537         * doc/posix-functions/bind.texi: Doc fix.
48538         * doc/posix-functions/close.texi: Doc fix.
48539         * doc/posix-functions/connect.texi: Doc fix.
48540         * doc/posix-functions/getpeername.texi: Doc fix.
48541         * doc/posix-functions/getsockname.texi: Doc fix.
48542         * doc/posix-functions/getsockopt.texi: Doc fix.
48543         * doc/posix-functions/ioctl.texi: Doc fix.
48544         * doc/posix-functions/listen.texi: Doc fix.
48545         * doc/posix-functions/recv.texi: Doc fix.
48546         * doc/posix-functions/recvfrom.texi: Doc fix.
48547         * doc/posix-functions/send.texi: Doc fix.
48548         * doc/posix-functions/sendto.texi: Doc fix.
48549         * doc/posix-functions/setsockopt.texi: Doc fix.
48550         * doc/posix-functions/shutdown.texi: Doc fix.
48551         * doc/posix-functions/socket.texi: Doc fix.
48552
48553 2008-10-20  Bruno Haible  <bruno@clisp.org>
48554
48555         Take into account the role of SIGABRT_COMPAT on Windows 2008.
48556         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
48557         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
48558         as an alias for SIGABRT.
48559         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
48560         (sigaction): Map it to SIGABRT.
48561         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
48562
48563 2008-10-20  Bruno Haible  <bruno@clisp.org>
48564
48565         * lib/fts.c: Don't include lstat.h.
48566         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
48567
48568         Move the lstat() declaration to <sys/stat.h>.
48569         * lib/lstat.h: Remove file.
48570         * lib/sys_stat.in.h: Add special invocation convention.
48571         (lstat): New declaration.
48572         * lib/lstat.c (orig_lstat): New function.
48573         (rpl_lstat): Use orig_lstat instead of lstat.
48574         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
48575         AC_C_INLINE. Set REPLACE_LSTAT.
48576         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
48577         and REPLACE_LSTAT.
48578         * modules/lstat (Files): Remove lib/lstat.h.
48579         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48580         (Include): Specify <sys/stat.h> instead of lstat.h.
48581         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
48582         REPLACE_LSTAT.
48583         * NEWS: Mention the change.
48584
48585 2008-10-20  Bruno Haible  <bruno@clisp.org>
48586
48587         * modules/posix_spawn-tests: New file.
48588         * tests/test-posix_spawn3.c: New file.
48589
48590 2008-10-20  Bruno Haible  <bruno@clisp.org>
48591
48592         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
48593         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48594         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
48595         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48596         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
48597
48598 2008-10-20  Bruno Haible  <bruno@clisp.org>
48599
48600         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
48601         of posix_spawn on AIX 5.3.
48602
48603 2008-10-20  Bruno Haible  <bruno@clisp.org>
48604
48605         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
48606
48607 2008-10-20  Bruno Haible  <bruno@clisp.org>
48608
48609         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
48610         of AC_LANG_PROGRAM.
48611
48612 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48613
48614         * lib/netdb.in.h: Don't define GNU specific constants until they
48615         are supported or needed.  Reported by Bruno Haible
48616         <bruno@clisp.org>.
48617
48618 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48619
48620         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
48621
48622 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48623
48624         * lib/getaddrinfo.h: Remove file.
48625         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
48626         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
48627         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
48628         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
48629         * modules/netdb: Substitute GNULIB_GETADDRINFO.
48630         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
48631         * tests/test-getaddrinfo.c: Likewise.
48632         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
48633         * NEWS: Mention change.
48634
48635 2008-10-19  Bruno Haible  <bruno@clisp.org>
48636
48637         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
48638
48639 2008-10-19  Bruno Haible  <bruno@clisp.org>
48640
48641         * lib/wait-process.c: Include simply <sys/wait.h>.
48642         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
48643         WIFSTOPPED): Remove fallback definitions.
48644         * modules/wait-process (Depends-on): Add sys_wait.
48645
48646         New module 'sys_wait'.
48647         * modules/sys_wait: New file.
48648         * lib/sys_wait.in.h: New file, partially copied from
48649         lib/wait-process.c.
48650         * m4/sys_wait_h.m4: New file.
48651         * doc/posix-headers/sys_wait.texi: Mention the new module.
48652
48653 2008-10-19  Bruno Haible  <bruno@clisp.org>
48654
48655         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
48656
48657 2008-10-19  Bruno Haible  <bruno@clisp.org>
48658
48659         Assume that waitpid() fills an 'int' status, not a 'union wait'.
48660         * lib/wait-process.c (WAIT_T): Remove type.
48661         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
48662         (wait_subprocess): Update.
48663
48664 2008-10-19  Bruno Haible  <bruno@clisp.org>
48665
48666         New module 'atoll'.
48667         * modules/atoll: New file.
48668         * lib/stdlib.in.h (atoll): New declaration.
48669         * lib/atoll.c: New file, from glibc with modifications.
48670         * m4/atoll.m4: New file.
48671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
48672         HAVE_ATOLL.
48673         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
48674         * doc/posix-functions/atoll.texi: Mention the new module.
48675
48676 2008-10-19  Bruno Haible  <bruno@clisp.org>
48677
48678         Add strtoull() declaration to <stdlib.h>.
48679         * lib/stdlib.in.h (strtoull): New declaration.
48680         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48681         Set HAVE_STRTOULL.
48682         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
48683         HAVE_STRTOULL.
48684         * modules/strtoull (Depends-on): Add stdlib.
48685         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48686         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
48687         HAVE_STRTOULL.
48688
48689 2008-10-19  Bruno Haible  <bruno@clisp.org>
48690
48691         Add strtoll() declaration to <stdlib.h>.
48692         * lib/stdlib.in.h (strtoll): New declaration.
48693         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48694         Set HAVE_STRTOLL.
48695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
48696         HAVE_STRTOLL.
48697         * modules/strtoll (Depends-on): Add stdlib.
48698         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48699         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
48700
48701 2008-10-19  Bruno Haible  <bruno@clisp.org>
48702
48703         * modules/bcopy (Depends-on): Add strings.
48704         (Include): Specify <strings.h>.
48705
48706 2008-10-19  Bruno Haible  <bruno@clisp.org>
48707
48708         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
48709
48710 2008-10-19  Bruno Haible  <bruno@clisp.org>
48711
48712         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
48713         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
48714         mingw.
48715
48716 2008-10-19  Bruno Haible  <bruno@clisp.org>
48717
48718         * lib/atanl.c: Don't include isnanl.h.
48719         * lib/cosl.c: Likewise.
48720         * lib/ldexpl.c: Likewise.
48721         * lib/logl.c: Likewise.
48722         * lib/sinl.c: Likewise.
48723         * lib/sqrtl.c: Likewise.
48724         * lib/tanl.c: Likewise.
48725
48726         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
48727         * lib/isnanf.h: Remove file.
48728         * lib/isnand.h: Remove file.
48729         * lib/isnanl.h: Remove file.
48730         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
48731         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
48732         macros.
48733         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
48734         HAVE_ISNANF, don't define it as a C macro.
48735         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
48736         HAVE_ISNAND, don't define it as a C macro.
48737         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
48738         HAVE_ISNANL, don't define it as a C macro.
48739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
48740         HAVE_ISNAN[FDL].
48741         * modules/isnanf (Files): Remove lib/isnanf.h.
48742         (Depends-on): Add math.
48743         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48744         (Include): Specify <math.h> instead of isnanf.h.
48745         * modules/isnand (Files): Remove lib/isnand.h.
48746         (Depends-on): Add math.
48747         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48748         (Include): Specify <math.h> instead of isnand.h.
48749         * modules/isnanl (Files): Remove lib/isnanl.h.
48750         (Depends-on): Add math.
48751         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48752         (Include): Specify <math.h> instead of isnanl.h.
48753         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
48754         HAVE_ISNAN[FDL].
48755         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
48756         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
48757         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
48758         * NEWS: Mention the change.
48759
48760 2008-10-18  Bruno Haible  <bruno@clisp.org>
48761
48762         Add getusershell(), setusershell(), endusershell() declarations to
48763         <unistd.h>.
48764         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
48765         declarations.
48766         * lib/getusershell.c: Include unistd.h.
48767         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
48768         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48769         HAVE_GETUSERSHELL.
48770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
48771         and HAVE_GETUSERSHELL.
48772         * modules/getusershell (Depends-on): Add unistd, extensions.
48773         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48774         (Include): Specify <unistd.h>.
48775         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
48776         HAVE_GETUSERSHELL.
48777
48778 2008-10-18  Bruno Haible  <bruno@clisp.org>
48779
48780         Add a getloadavg() declaration to <stdlib.h>.
48781         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
48782         getloadavg declaration.
48783         (getloadavg): New declaration.
48784         * lib/getloadavg.c: Include <stdlib.h> first.
48785         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
48786         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
48787         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
48788         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
48789         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48790         * modules/getloadavg (Depends-on): Add stdlib, extensions.
48791         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48792         (Include): Specify <stdlib.h>.
48793         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
48794         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48795
48796 2008-10-18  Bruno Haible  <bruno@clisp.org>
48797
48798         * lib/dirchownmod.c: Don't include lchmod.h.
48799
48800         Move the lchmod() declaration to <sys/stat.h>.
48801         * lib/lchmod.h: Remove file.
48802         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
48803         (lchmod): New declaration, moved here from lib/lchown.h.
48804         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
48805         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
48806         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
48807         and HAVE_LCHMOD.
48808         * modules/lchmod (Files): Remove lib/lchmod.h.
48809         (Depends-on): Add sys_stat, extensions.
48810         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48811         (Include): Specify <sys/stat.h> instead of lchmod.h.
48812         * modules/sys_stat (Depends-on): Add link-warning.
48813         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
48814         definition of GL_LINK_WARNING.
48815         * NEWS: Mention the change.
48816
48817 2008-10-18  Bruno Haible  <bruno@clisp.org>
48818
48819         * lib/fchdir.c: Don't include dirfd.h.
48820         * lib/fts.c: Likewise.
48821         * lib/getcwd.c: Likewise.
48822         * lib/glob.c: Likewise.
48823
48824         Move the dirfd() declaration to <dirent.h>.
48825         * lib/dirfd.h: Remove file.
48826         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
48827         (dirfd): New declaration.
48828         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
48829         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
48830         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
48831         HAVE_DECL_DIRFD.
48832         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
48833         HAVE_DECL_DIRFD.
48834         * modules/dirfd (Files): Remove lib/dirfd.h.
48835         (Depends-on): Add dirent, extensions.
48836         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
48837         (Include): Specify <dirent.h> instead of dirfd.h.
48838         * modules/dirent (Depends-on): Add link-warning.
48839         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
48840         definition of GL_LINK_WARNING.
48841         * NEWS: Mention the change.
48842
48843 2008-10-18  Bruno Haible  <bruno@clisp.org>
48844
48845         Move the euidaccess() declaration to <unistd.h>.
48846         * lib/euidaccess.h: Remove file.
48847         * lib/unistd.in.h (euidaccess): New declaration.
48848         * lib/euidaccess.c: Don't include euidaccess.h.
48849         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
48850         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
48851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
48852         and HAVE_EUIDACCESS.
48853         * modules/euidaccess (Files): Remove lib/euidaccess.h.
48854         (Depends-on): Add unistd.
48855         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48856         (Include): Specify <unistd.h> instead of euidaccess.h.
48857         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
48858         HAVE_EUIDACCESS.
48859         * NEWS: Mention the change.
48860
48861 2008-10-18  Bruno Haible  <bruno@clisp.org>
48862
48863         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
48864
48865         Move the getdomainname() declaration to <unistd.h>.
48866         * lib/getdomainname.h: Remove file.
48867         * lib/unistd.in.h (getdomainname): New declaration.
48868         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
48869         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
48870         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48871         HAVE_GETDOMAINNAME.
48872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48873         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
48874         * modules/getdomainname (Files): Remove lib/getdomainname.h.
48875         (Depends-on): Add unistd, extensions.
48876         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48877         (Includes): Specify <unistd.h> instead of getdomainname.h.
48878         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
48879         HAVE_GETDOMAINNAME.
48880         * NEWS: Mention the change.
48881
48882 2008-10-18  Bruno Haible  <bruno@clisp.org>
48883
48884         * modules/dirent: New file.
48885         * m4/dirent_h.m4: New file.
48886         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
48887         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
48888         * modules/fchdir (Files): Remove lib/dirent.in.h.
48889         (Depends-on): Add dirent.
48890         (Makefile.am): Move rules to modules/dirent.
48891         * doc/posix-headers/dirent.texi: Mention the new module.
48892
48893 2008-10-18  Bruno Haible  <bruno@clisp.org>
48894
48895         Avoid -Wunused-parameter warnings in public gnulib header files.
48896         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
48897         macro.
48898         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
48899
48900 2008-10-18  Bruno Haible  <bruno@clisp.org>
48901
48902         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
48903         * doc/glibc-functions/error.texi: Mention the module 'error'.
48904         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
48905         * doc/glibc-functions/getdomainname.texi: Mention the module
48906         'getdomainname'.
48907         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
48908         * doc/glibc-functions/getpagesize.texi: Mention the module
48909         'getpagesize'.
48910         * doc/glibc-functions/getusershell.texi: Mention the module
48911         'getusershell'.
48912         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
48913         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
48914         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
48915         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
48916         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
48917         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
48918         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
48919         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
48920         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
48921         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
48922         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
48923         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
48924         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
48925         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
48926
48927 2008-10-17  Bruno Haible  <bruno@clisp.org>
48928
48929         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
48930         HP-UX and IRIX, use -0.0L.
48931         * tests/test-ceill.c (minus_zero): Likewise.
48932         * tests/test-floorl.c (minus_zero): Likewise.
48933         * tests/test-frexpl.c (minus_zero): Likewise.
48934         * tests/test-isnan.c (minus_zerol): Likewise.
48935         * tests/test-isnanl.h (minus_zero): Likewise.
48936         * tests/test-ldexpl.c (minus_zero): Likewise.
48937         * tests/test-roundl.c (minus_zero): Likewise.
48938         * tests/test-signbit.c (minus_zerol): Likewise.
48939         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48940         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48941         * tests/test-truncl.c (minus_zero): Likewise.
48942         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48943         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48944         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
48945         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48946
48947 2008-10-17  Bruno Haible  <bruno@clisp.org>
48948
48949         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
48950         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
48951         that it gets activated only for gcc >= 3.0.
48952         * lib/dirent.in.h: Likewise.
48953         * lib/errno.in.h: Likewise.
48954         * lib/fcntl.in.h: Likewise.
48955         * lib/float.in.h: Likewise.
48956         * lib/iconv.in.h: Likewise.
48957         * lib/inttypes.in.h: Likewise.
48958         * lib/locale.in.h: Likewise.
48959         * lib/math.in.h: Likewise.
48960         * lib/netdb.in.h: Likewise.
48961         * lib/netinet_in.in.h: Likewise.
48962         * lib/search.in.h: Likewise.
48963         * lib/signal.in.h: Likewise.
48964         * lib/spawn.in.h: Likewise.
48965         * lib/stdarg.in.h: Likewise.
48966         * lib/stdint.in.h: Likewise.
48967         * lib/stdio.in.h: Likewise.
48968         * lib/stdlib.in.h: Likewise.
48969         * lib/string.in.h: Likewise.
48970         * lib/strings.in.h: Likewise.
48971         * lib/sys_file.in.h: Likewise.
48972         * lib/sys_ioctl.in.h: Likewise.
48973         * lib/sys_select.in.h: Likewise.
48974         * lib/sys_socket.in.h: Likewise.
48975         * lib/sys_stat.in.h: Likewise.
48976         * lib/sys_time.in.h: Likewise.
48977         * lib/sysexits.in.h: Likewise.
48978         * lib/time.in.h: Likewise.
48979         * lib/unistd.in.h: Likewise.
48980         * lib/wchar.in.h: Likewise.
48981         * lib/wctype.in.h: Likewise.
48982         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48983
48984 2008-10-17  Jim Meyering  <meyering@redhat.com>
48985
48986         ignore-value: don't depend on inline module
48987         * modules/ignore-value (Depends-on): Remove 'inline'.
48988         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
48989         Suggestion from Bruno Haible.
48990
48991 2008-10-17  Bruno Haible  <bruno@clisp.org>
48992
48993         New implementation of condition variables for Win32.
48994         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
48995         (gl_linked_waitqueue_t): New type.
48996         (gl_cond_t): Use it.
48997         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
48998         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
48999         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49000         (glthread_cond_init_func, glthread_cond_wait_func,
49001         glthread_cond_timedwait_func, glthread_cond_signal_func,
49002         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49003         Reimplemented on the basis of gl_linked_waitqueue_t.
49004         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49005         gl_waitqueue_t.
49006         (gl_rwlock_t): Update.
49007         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49008
49009 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49010
49011         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49012         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49013
49014 2008-10-17  Jim Meyering  <meyering@redhat.com>
49015
49016         ignore-value: new module
49017         * modules/ignore-value: New file.
49018         * lib/ignore-value.h: New file.
49019         * MODULES.html.sh (Compiler warning management): New section,
49020         just for this module.  More to come.
49021
49022 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49023
49024         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49025         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49026         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49027
49028 2008-10-16  Jim Meyering  <meyering@redhat.com>
49029
49030         openat-die.c: avoid 'no previous prototype' warning
49031         * lib/openat-die.c: Include "openat.h".
49032         Reported by Reuben Thomas <rrt@sc3d.org>.
49033
49034 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49035
49036         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49037         * lib/netdb.in.h: Fix typo.
49038         Reported by Bruno Haible  <bruno@clisp.org>
49039
49040         * lib/netdb.in.h: Include sys/socket.h for platforms without
49041         netdb.h, to get structures like hostent on MinGW.
49042         * modules/netdb (Depends-on): Add sys_socket.
49043
49044 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49045
49046         * modules/netdb, modules/netdb-tests: New file.
49047         * m4/netdb_h.m4: New file.
49048         * lib/netdb.in.h: Add, currently just an empty file pending
49049         definitions.
49050         * tests/test-netdb.c: New file.
49051         * doc/posix-headers/netdb.texi: Mention that we replace it if
49052         needed.
49053         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49054         netdb.
49055
49056 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49057
49058         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49059         with code.
49060
49061 2008-10-13  Bruno Haible  <bruno@clisp.org>
49062
49063         * lib/glthread/cond.c (glthread_cond_wait_func,
49064         glthread_cond_timedwait_func): Add a comment.
49065
49066 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49067
49068         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49069         * tests/test-select.c: Likewise,
49070
49071 2008-10-13  Bruno Haible  <bruno@clisp.org>
49072
49073         * lib/glthread/cond.c (glthread_cond_wait_func,
49074         glthread_cond_timedwait_func): Fix variable name.
49075         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49076
49077 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49078
49079         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49080         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49081         struct sockaddr.sa_len.
49082         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49083
49084 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49085
49086         * build-aux/pmccabe2html: Add css and css_url parameters.
49087
49088 2008-10-12  Bruno Haible  <bruno@clisp.org>
49089
49090         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49091         calling aclx_get.
49092         Reported by Rainer Tammer <tammer@tammer.net>.
49093
49094 2008-10-12  Bruno Haible  <bruno@clisp.org>
49095
49096         Use msvcrt aware primitives for creation/termination of Win32 threads.
49097         * lib/glthread/thread.c: Include <process.h>.
49098         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49099         (wrapper_func): Update signature.
49100         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49101
49102 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49103             Bruno Haible  <bruno@clisp.org>
49104
49105         Provide a Win32 implementation of the 'cond' module.
49106         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49107         * lib/glthread/cond.c (glthread_cond_init_func,
49108         glthread_cond_wait_func, glthread_cond_timedwait_func,
49109         glthread_cond_signal_func, glthread_cond_broadcast_func,
49110         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49111         * modules/cond (Dependencies): Add gettimeofday.
49112
49113 2008-10-11  Bruno Haible  <bruno@clisp.org>
49114
49115         Make sleep work on older versions of mingw.
49116         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49117         only whether it exists.
49118         * doc/posix-functions/sleep.texi: Mention the problem with older
49119         versions of mingw.
49120
49121 2008-10-11  Bruno Haible  <bruno@clisp.org>
49122
49123         New module 'shutdown'.
49124         * modules/shutdown: New file.
49125         * lib/sys_socket.in.h (shutdown): New declaration.
49126         * lib/winsock.c (shutdown): New function.
49127         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49128         GNULIB_SHUTDOWN.
49129         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49130         * doc/posix-functions/shutdown.texi: Document the new module.
49131
49132 2008-10-11  Jim Meyering  <meyering@redhat.com>
49133
49134         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49135
49136 2008-10-11  Bruno Haible  <bruno@clisp.org>
49137
49138         New module 'fclose'.
49139         * modules/fclose: New file.
49140         * lib/stdio.in.h (fclose): New declaration.
49141         * lib/fclose.c: New file.
49142         * m4/fclose.m4: New file.
49143         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49144         REPLACE_FCLOSE.
49145         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49146         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49147         REPLACE_FCLOSE.
49148         * modules/close (Depends-on): fclose.
49149         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49150
49151 2008-10-11  Bruno Haible  <bruno@clisp.org>
49152
49153         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49154         set errno and don't call _close.
49155
49156 2008-10-10  Bruno Haible  <bruno@clisp.org>
49157
49158         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
49159         ACL, not afterwards. Fixes test failure on Cygwin.
49160
49161 2008-10-09  Ben Pfaff  <blp@gnu.org>
49162
49163         * build-aux/announce-gen: Fix gnulib version related part of usage
49164         message.  Die with a useful error message if no tarballs are
49165         found.
49166
49167 2008-10-10  Jim Meyering  <meyering@redhat.com>
49168
49169         bootstrap: use git's --depth=N option only if it's supported
49170         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49171         recognize the --depth option.  Reported by Pádraig Brady.
49172
49173 2008-10-09  Bruno Haible  <bruno@clisp.org>
49174
49175         New module 'ioctl'.
49176         * modules/ioctl: New file.
49177         * lib/sys_socket.in.h (ioctl): Remove declaration.
49178         * lib/winsock.c: Include <sys/ioctl.h>.
49179         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49180         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49181         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49182         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49183         * doc/posix-functions/ioctl.texi: Mention the new module.
49184
49185 2008-10-09  Bruno Haible  <bruno@clisp.org>
49186
49187         New module 'sys_ioctl'.
49188         * lib/sys_ioctl.in.h: New file.
49189         * m4/sys_ioctl_h.m4: New file.
49190         * modules/sys_ioctl: New file.
49191         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
49192
49193 2008-10-09  Bruno Haible  <bruno@clisp.org>
49194
49195         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
49196         * lib/winsock.c: Include <stdarg.h>.
49197         (rpl_ioctl): Change to second argument 'int' and then varargs.
49198
49199 2008-10-09  Bruno Haible  <bruno@clisp.org>
49200
49201         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
49202         when the sys_socket module is present and the system has <winsock2.h>.
49203
49204 2008-10-09  Bruno Haible  <bruno@clisp.org>
49205
49206         * doc/posix-functions/close.texi: Mention module 'close' instead of
49207         module 'sys_socket'.
49208
49209 2008-10-09  Bruno Haible  <bruno@clisp.org>
49210
49211         * doc/glibc-headers/sys_ioctl.texi: New file.
49212         * doc/gnulib.texi: Include it.
49213
49214 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49215             Bruno Haible  <bruno@clisp.org>
49216
49217         Combine the two replacements of 'close'.
49218         * lib/sys_socket.in.h (close): Define to a reminder to include
49219         <unistd.h>.
49220         (_gl_close_fd_maybe_socket): New declaration.
49221         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
49222         * lib/winsock.c (close): Remove undefinition.
49223         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
49224         needed for the gnulib module 'close'.
49225         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
49226         define to an error symbol or to a warning, if suitable.
49227         * lib/close.c: Include <sys/socket.h>.
49228         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
49229         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
49230         UNISTD_H_HAVE_WINSOCK2_H.
49231         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
49232         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49233         UNISTD_H_HAVE_WINSOCK2_H.
49234         * modules/sys_socket (Files): Add m4/unistd_h.m4.
49235         (configure.ac): Set a module indicator.
49236         (Makefile.am): Substitute GNULIB_CLOSE.
49237         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
49238         * modules/poll-tests (Depends-on): Add close.
49239         * modules/select-tests (Depends-on): Likewise.
49240
49241 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49242             Bruno Haible  <bruno@clisp.org>
49243
49244         New module 'close'.
49245         * modules/close: New file.
49246         * lib/unistd.in.h (close): Move declaration out of the
49247         FCHDIR_REPLACEMENT scope.
49248         (_gl_unregister_fd): New declaration.
49249         * lib/close.c: New file.
49250         * lib/fchdir.c (rpl_close): Remove function.
49251         * m4/close.m4: New file.
49252         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49253         close.
49254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
49255         REPLACE_CLOSE.
49256         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
49257         REPLACE_CLOSE.
49258         * modules/fchdir (Depends-on): Add close.
49259
49260 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49261             Bruno Haible  <bruno@clisp.org>
49262
49263         * lib/fcntl.in.h (open): Simplify conditionals.
49264         (_gl_register_fd): New declaration.
49265         * lib/fchdir.c (rpl_open): Remove function.
49266         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
49267         also.
49268         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
49269         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49270         open.
49271
49272 2008-10-09  Jim Meyering  <meyering@redhat.com>
49273
49274         GNUmakefile: use the more name-space-friendly "_version"
49275         * top/GNUmakefile (_dummy): Update.
49276         (_version): Rename from "version".
49277
49278 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49279             Bruno Haible  <bruno@clisp.org>
49280
49281         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
49282         rpl_close.
49283         (_gl_register_fd): New function, extracted from rpl_open.
49284         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
49285         (rpl_open, rpl_opendir): Use _gl_register_fd.
49286
49287 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49288
49289         Fix organization of 'open' replacement.
49290         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
49291         (gl_FUNC_OPEN): Use it.
49292         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
49293
49294 2008-10-08  Bruno Haible  <bruno@clisp.org>
49295
49296         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
49297
49298 2008-10-08  Simon Josefsson  <simon@josefsson.org>
49299
49300         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
49301         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
49302         listen).
49303
49304 2008-10-08  Eric Blake  <ebb9@byu.net>
49305
49306         GNUmakefile: add 'make version' target
49307         * top/GNUmakefile (_curr-ver): Split version update rules...
49308         (version): ...into a target.
49309
49310 2008-10-07  Bruno Haible  <bruno@clisp.org>
49311
49312         Use a more portable replacement expression for -0.0L.
49313         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
49314         instead of -0.0L. Fix m4 quotation.
49315
49316         * tests/test-signbit.c: Include <float.h>.
49317         (minus_zero): New variable.
49318         (test_signbitl): Use minus_zero instead of -zero.
49319         * modules/signbit-tests (Depends-on): Add float.
49320
49321         * tests/test-ceill.c: Include <float.h>.
49322         (zero): Remove variable.
49323         (minus_zero): New variable.
49324         (main): Use minus_zero instead of -zero.
49325         * modules/ceill-tests (Depends-on): Add float.
49326
49327         * tests/test-floorl.c: Include <float.h>.
49328         (zero): Remove variable.
49329         (minus_zero): New variable.
49330         (main): Use minus_zero instead of -zero.
49331         * modules/floorl-tests (Depends-on): Add float.
49332
49333         * tests/test-roundl.c: Include <float.h>.
49334         (zero): Remove variable.
49335         (minus_zero): New variable.
49336         (main): Use minus_zero instead of -zero.
49337         * modules/roundl-tests (Depends-on): Add float.
49338
49339         * tests/test-truncl.c: Include <float.h>.
49340         (zero): Remove variable.
49341         (minus_zero): New variable.
49342         (main): Use minus_zero instead of -zero.
49343         * modules/truncl-tests (Depends-on): Add float.
49344
49345         * tests/test-frexpl.c (zero): Remove variable.
49346         (minus_zero): New variable.
49347         (main): Use minus_zero instead of -zero.
49348         * modules/frexpl-tests (Depends-on): Add float.
49349
49350         * tests/test-isnan.c (zerol): Remove variable.
49351         (minus_zerol): New variable.
49352         (test_long_double): Use minus_zerol instead of -zerol.
49353         * modules/isnan-tests (Depends-on): Add float.
49354
49355         * tests/test-isnanl.h (zero): Remove variable.
49356         (minus_zero): New variable.
49357         (main): Use minus_zero instead of -zero.
49358         * modules/isnanl-nolibm-tests (Depends-on): Add float.
49359         * modules/isnanl-tests (Depends-on): Add float.
49360
49361         * tests/test-ldexpl.c (zero): Remove variable.
49362         (minus_zero): New variable.
49363         (main): Use minus_zero instead of -zero.
49364         * modules/ldexpl-tests (Depends-on): Add float.
49365
49366         * tests/test-snprintf-posix.h (zerol): Remove variable.
49367         (minus_zerol): New variable.
49368         (test_function): Use minus_zerol instead of -zerol.
49369         * modules/snprintf-posix-tests (Depends-on): Add float.
49370         * modules/vsnprintf-posix-tests (Depends-on): Add float.
49371
49372         * tests/test-sprintf-posix.h (zerol): Remove variable.
49373         (minus_zerol): New variable.
49374         (test_function): Use minus_zerol instead of -zerol.
49375         * modules/sprintf-posix-tests (Depends-on): Add float.
49376         * modules/vsprintf-posix-tests (Depends-on): Add float.
49377
49378         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
49379         (minus_zerol): New variable.
49380         (test_function): Use minus_zerol instead of -zerol.
49381         * modules/vasnprintf-posix-tests (Depends-on): Add float.
49382
49383         * tests/test-vasprintf-posix.c (zerol): Remove variable.
49384         (minus_zerol): New variable.
49385         (test_function): Use minus_zerol instead of -zerol.
49386         * modules/vasprintf-posix-tests (Depends-on): Add float.
49387
49388 2008-10-07  Simon Josefsson  <simon@josefsson.org>
49389
49390         * MODULES.html.sh (Support for building documentation): Mention
49391         pmccabe2html.  Sort entries.
49392
49393         Add pmccabe2html module, from gnupdf.
49394         * build-aux/pmccabe.css: New file.
49395         * build-aux/pmccabe2html: New file.
49396         * m4/pmccabe2html.m4: New file.
49397         * modules/pmccabe2html: New file.
49398
49399 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
49400
49401         flock: new module
49402         * MODULES.html.sh: Add to list of modules.
49403         * lib/flock.c: flock implementation for Windows and Unix systems
49404         which have fcntl.
49405         * doc/glibc-functions/flock.texi: Update documentation.
49406         * lib/sys_file.in.h: <sys/file.h> header file.
49407         * m4/flock.m4: M4 macros.
49408         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
49409         * modules/flock: flock module.
49410         * modules/flock-tests: flock tests module.
49411         * modules/sys_file: sys/file.h module.
49412         * tests/test-flock.c: test suite for flock.
49413
49414 2008-10-06  Jim Meyering  <meyering@redhat.com>
49415
49416         bootstrap: check for LT_INIT more portably still ;-)
49417         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
49418         Spotted by Bruno Haible.
49419
49420 2008-10-06  Eric Blake  <ebb9@byu.net>
49421
49422         test-signbit: avoid tripping Irix cc bug on -0.0L
49423         * tests/test-signbit.c (minus_zerol): Delete, and replace with
49424         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
49425         entire testsuite consistent and avoids an Irix 6.2 bug.
49426
49427 2008-10-05  Bruno Haible  <bruno@clisp.org>
49428             Jim Meyering  <jim@meyering.net>
49429
49430         Add an option for ignoring EPIPE during close_stdout.
49431         * lib/closeout.h: Include <stdbool.h>.
49432         (close_stdout_set_ignore_EPIPE): New declaration.
49433         * lib/closeout.c: Include <stdbool.h>.
49434         (ignore_EPIPE): New variable.
49435         (close_stdout_set_ignore_EPIPE): New function.
49436         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
49437         * lib/close-stream.c (close_stream): Mention the possible EPIPE
49438         failure.
49439         * modules/closeout (Depends-on): Add stdbool.
49440
49441 2008-10-05  Bruno Haible  <bruno@clisp.org>
49442
49443         * modules/accept: New file.
49444         * modules/bind: New file.
49445         * modules/connect: New file.
49446         * modules/getpeername: New file.
49447         * modules/getsockname: New file.
49448         * modules/getsockopt: New file.
49449         * modules/listen: New file.
49450         * modules/recv: New file.
49451         * modules/recvfrom: New file.
49452         * modules/send: New file.
49453         * modules/sendto: New file.
49454         * modules/setsockopt: New file.
49455         * modules/socket: New file.
49456         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
49457         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
49458         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
49459         the particular module is requested. Add a link warning when the
49460         particular module is not requested.
49461         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
49462         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
49463         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
49464         the particular module is requested.
49465         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
49466         gl_SYS_SOCKET_H_DEFAULTS): New macros.
49467         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
49468         * modules/sys_socket (Depends-on): Add link-warning.
49469         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
49470         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
49471         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
49472         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
49473         GL_LINK_WARNING.
49474         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
49475         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
49476         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
49477         * doc/posix-functions/getpeername.texi: Mention the new module
49478         'getpeername'.
49479         * doc/posix-functions/getsockname.texi: Mention the new module
49480         'getsockname'.
49481         * doc/posix-functions/getsockopt.texi: Mention the new module
49482         'getsockopt'.
49483         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
49484         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
49485         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
49486         * doc/posix-functions/send.texi: Mention the new module 'send'.
49487         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
49488         * doc/posix-functions/setsockopt.texi: Mention the new module
49489         'setsockopt'.
49490         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
49491         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
49492         listen, connect, accept.
49493         * modules/select-tests (Depends-on): Likewise.
49494
49495 2008-10-05  Bruno Haible  <bruno@clisp.org>
49496
49497         * lib/winsock.c (strerror): Remove unused #undef.
49498         (rpl_close): Remove unused local variable.
49499
49500         * modules/sys_socket (Depends-on); Add errno.
49501
49502 2008-10-05  Bruno Haible  <bruno@clisp.org>
49503
49504         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
49505         (select): Add a link warning when the 'select' module is not used.
49506         * modules/sys_select (Depends-on): Add link-warning.
49507         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
49508         Suggested by Paolo Bonzini.
49509
49510 2008-10-05  Jim Meyering  <meyering@redhat.com>
49511
49512         bootstrap: check for LT_INIT more portably
49513         * build-aux/bootstrap: Avoid using grep -E, since it's not
49514         portable enough.  Suggestion from Bruno Haible.
49515
49516 2008-10-05  Bruno Haible  <bruno@clisp.org>
49517
49518         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
49519         as being fixed by gnulib.
49520
49521 2008-10-05  Bruno Haible  <bruno@clisp.org>
49522
49523         * modules/select-tests: New file, mostly copied from
49524         modules/sys_select-tests.
49525         * tests/test-select.c: New file, mostly copied from
49526         tests/test-sys_select.c.
49527         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
49528         * modules/sys_select-tests (Depends-on): Remove all dependencies.
49529         (Makefile.am): Remove test_sys_select_LDADD.
49530
49531         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
49532         to an undefined symbol, for an error message.
49533         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
49534         (gl_SYS_SELECT_H_DEFAULTS): New macro.
49535         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
49536         winsock-select.c here.
49537         * modules/sys_select (Files): Remove lib/winsock-select.c.
49538         (Depends-on): Remove alloca.
49539         (Makefile.am): Substitute GNULIB_SELECT.
49540         * modules/select: New file.
49541         * doc/posix-functions/select.texi: Update.
49542
49543 2008-10-05  Bruno Haible  <bruno@clisp.org>
49544
49545         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
49546         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
49547         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
49548         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
49549         getdtablesize.
49550         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
49551         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
49552
49553 2008-10-05  Bruno Haible  <bruno@clisp.org>
49554
49555         * modules/getdtablesize-tests: New file.
49556         * tests/test-getdtablesize.c: New file.
49557
49558         New module 'getdtablesize'.
49559         * lib/unistd.in.h (getdtablesize): New declaration.
49560         * lib/getdtablesize.c: New file.
49561         * m4/getdtablesize.m4: New file.
49562         * modules/getdtablesize: New file.
49563         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49564         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
49565         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
49566         HAVE_GETDTABLESIZE.
49567         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
49568
49569 2008-10-05  Bruno Haible  <bruno@clisp.org>
49570
49571         * modules/sched (Makefile.am): Fix typo.
49572         Reported by Simon Josefsson.
49573
49574 2008-10-05  Jim Meyering  <meyering@redhat.com>
49575
49576         bootstrap: check for LT_INIT, too
49577         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
49578         are deprecated.  Suggestion from Ralf Wildenhues.
49579
49580 2008-10-05  Bruno Haible  <bruno@clisp.org>
49581
49582         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
49583         overriding them by ours.
49584         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
49585
49586 2008-10-05  Jim Meyering  <meyering@redhat.com>
49587
49588         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
49589         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
49590         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
49591
49592 2008-10-04  Bruno Haible  <bruno@clisp.org>
49593
49594         * modules/dup2 (License): Change to LGPLv2+.
49595         * modules/sleep (License): Likewise.
49596         * modules/perror (License): Likewise.
49597         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
49598         Blake.
49599         * modules/signal (License): Likewise.
49600         * modules/sigprocmask (License): Likewise.
49601         * modules/raise (License): Change to LGPLv2+, with approval by Jim
49602         Meyering.
49603
49604 2008-10-04  Bruno Haible  <bruno@clisp.org>
49605
49606         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
49607         Reported by Rainer Tammer <tammer@tammer.net>.
49608
49609 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
49610             Bruno Haible  <bruno@clisp.org>
49611
49612         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
49613         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
49614         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
49615
49616 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
49617
49618         filevercmp: new module
49619         * lib/filevercmp.h: New function filevercmp comparing version strings.
49620         * lib/filevercmp.c: Implementation of filevercmp function.
49621         * modules/filevercmp: Module metadata.
49622         * tests/test-filevercmp.c: Unit test for new module.
49623         * modules/filevercmp-tests: Unit test metadata.
49624         * MODULES.html.sh: Add filevercmp module.
49625
49626 2008-10-03  Bruno Haible  <bruno@clisp.org>
49627
49628         * lib/c-ctype.h: Add comment.
49629         Reported by Jim Meyering.
49630
49631 2008-10-02  Bruno Haible  <bruno@clisp.org>
49632
49633         * modules/posix_spawn-internal (Depends-on): Add 'open'.
49634
49635 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49636
49637         * build-aux/bootstrap: Allow renaming bootstrap, and change the
49638         name of bootstrap.conf accordingly.
49639
49640 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49641
49642         * build-aux/bootstrap: Install git-merge-changelog configuration
49643         items into .gitconfig if needed.
49644
49645 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49646
49647         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
49648         git repository, and initialize/update it accordingly.
49649
49650 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
49651
49652         * modules/fsync-tests: New file.
49653         * tests/test-fsync.c: New file.
49654
49655         New module 'fsync'.
49656         * lib/fsync.c: New file.
49657         * m4/fsync.m4: New file.
49658         * modules/fsync: New file.
49659         * lib/unistd.in.h (fsync): New declaration.
49660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
49661         GNULIB_FSYNC and HAVE_FSYNC.
49662         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
49663         * MODULES.html.sh (posix_functions): Add fsync.
49664         * doc/posix-functions/fsync.texi: Mention the new module.
49665
49666 2008-10-02  Jim Meyering  <meyering@redhat.com>
49667
49668         fts.c: sync with similar code from coreutils' remove.c
49669         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
49670         Guard also with "#if defined __linux__", since for now at least,
49671         this code is Linux-kernel-specific.
49672
49673 2008-10-02  Jim Meyering  <meyering@redhat.com>
49674
49675         fts: bug fixes
49676         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
49677         Include <sys/vfs.h>, not <sys/statfs.h>.
49678
49679         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
49680         Include <sys/vfs.h>, not <sys/statfs.h>.
49681
49682 2008-10-01  Bruno Haible  <bruno@clisp.org>
49683
49684         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
49685         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
49686         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
49687         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
49688         * doc/posix-functions/posix_spawnp.texi: Likewise.
49689         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
49690         whether posix_spawn actually works.
49691         * m4/pipe.m4 (gl_PIPE): Likewise.
49692         * modules/execute (Files): Add m4/posix_spawn.m4.
49693         * modules/pipe (Files): Add m4/posix_spawn.m4.
49694         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
49695
49696 2008-10-01  Jim Meyering  <meyering@redhat.com>
49697
49698         remove trailing spaces
49699         * NEWS: Likewise.
49700         * lib/poll.c (poll): Likewise.
49701         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
49702         * lib/winsock.c (rpl_close): Likewise.
49703         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
49704         * modules/yield: Likewise.
49705         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
49706         * tests/test-sys_select.c (connect_to_socket): Likewise.
49707
49708         fts.c: adjust a new interface to be more generally useful
49709         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
49710         (fts_build): Adjust caller.
49711
49712 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49713
49714         * modules/cond-tests: New file.
49715         * tests/test-cond.c: New file.
49716
49717 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49718             Bruno Haible  <bruno@clisp.org>
49719
49720         * modules/cond (Dependencies): Add errno, time.
49721         * lib/glthread/cond.h: Include <time.h>.
49722         (gl_cond_define, gl_cond_define_initialized): Use the same definition
49723         across platforms.
49724
49725 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49726             Bruno Haible  <bruno@clisp.org>
49727
49728         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
49729
49730 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49731             Bruno Haible  <bruno@clisp.org>
49732
49733         * modules/tls-tests (Depends-on): Add thread, yield.
49734         (configure.ac): Remove all checks.
49735         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
49736         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49737         gl_thread_self): Remove definitions. Include glthread/thread.h and
49738         glthread/yield.h instead.
49739         (test_tls): Pass an additional NULL argument to gl_thread_join.
49740
49741 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49742             Bruno Haible  <bruno@clisp.org>
49743
49744         * modules/lock-tests (Depends-on): Add thread, yield.
49745         (configure.ac): Remove all checks.
49746         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
49747         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49748         gl_thread_self): Remove definitions. Include glthread/thread.h and
49749         glthread/yield.h instead.
49750         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
49751         additional NULL argument to gl_thread_join.
49752
49753 2008-09-30  Bruno Haible  <bruno@clisp.org>
49754
49755         Fix the Win32 implementation of the 'thread' module.
49756         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
49757         pointer type.
49758         (gl_thread_self): Invoke gl_thread_self_func.
49759         (gl_thread_self_func): New declaration.
49760         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
49761         (do_init_self_key, init_self_key): New functions.
49762         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
49763         Remove some fields.
49764         (running_threads, running_lock): Remove variables.
49765         (get_current_thread_handle): New function.
49766         (gl_thread_self_func, wrapper_func, glthread_create_func,
49767         glthread_join_func, gl_thread_exit_func): Largely rewritten and
49768         simplified.
49769
49770 2008-09-30  Bruno Haible  <bruno@clisp.org>
49771
49772         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
49773         files.
49774
49775 2008-09-30  Jim Meyering  <meyering@redhat.com>
49776
49777         fts.m4: correct the test for statfs.f_type
49778         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
49779         when checking for statfs.f_type.
49780
49781 2008-09-15  Simon Josefsson  <simon@josefsson.org>
49782
49783         tests: avoid some compiler warnings
49784         * tests/test-memchr.c (main): Pass NULL indirectly.
49785         * tests/test-getdate.c (main): Remove unused variable 'ret'.
49786
49787 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
49788
49789         getdate.y: disallow countable dayshifts like "4 yesterday ago"
49790         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
49791         exactly specified dayshifts.
49792         (dayshift): New rule.
49793         (rel): Add dayshift.
49794         (relative_time_table) [tomorrow, yesterday, today, now]:
49795         Use tDAY_SHIFT in place of tDAY_UNIT.
49796         * tests/test-getdate.c: Add tests for now-disallowed countable
49797         dayshifts, e.g., "4 yesterday ago".
49798
49799 2008-09-29  Bruno Haible  <bruno@clisp.org>
49800
49801         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
49802         * tests/test-posix_spawn1.in.sh: Renamed from
49803         tests/test-posix_spawn.in.sh.
49804         * tests/test-posix_spawn2.c: New file.
49805         * tests/test-posix_spawn2.in.sh: New file.
49806         * modules/posix_spawnp-tests (Files): Update.
49807         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
49808
49809 2008-09-29  Bruno Haible  <bruno@clisp.org>
49810
49811         Propagate effects of putenv/setenv/unsetenv to child processes.
49812         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
49813         * lib/pipe.c (create_pipe): Likewise.
49814
49815 2008-09-29  Bruno Haible  <bruno@clisp.org>
49816
49817         Enable use of shell scripts as executables in mingw.
49818         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
49819         run the program as a shell script.
49820         * lib/pipe.c (create_pipe): Likewise.
49821         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
49822         resulting array.
49823
49824 2008-09-29  Eric Blake  <ebb9@byu.net>
49825
49826         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
49827
49828 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
49829
49830         * doc/posix-functions/accept.texi: Update mingw problems.
49831         * doc/posix-functions/bind.texi: Update mingw problems.
49832         * doc/posix-functions/close.texi: Update mingw problems.
49833         * doc/posix-functions/connect.texi: Update mingw problems.
49834         * doc/posix-functions/getpeername.texi: Update mingw problems.
49835         * doc/posix-functions/getsockname.texi: Update mingw problems.
49836         * doc/posix-functions/getsockopt.texi: Update mingw problems.
49837         * doc/posix-functions/ioctl.texi: Update mingw problems.
49838         * doc/posix-functions/listen.texi: Update mingw problems.
49839         * doc/posix-functions/recv.texi: Update mingw problems.
49840         * doc/posix-functions/recvfrom.texi: Update mingw problems.
49841         * doc/posix-functions/select.texi: Update mingw problems.
49842         * doc/posix-functions/send.texi: Update mingw problems.
49843         * doc/posix-functions/sendto.texi: Update mingw problems.
49844         * doc/posix-functions/setsockopt.texi: Update mingw problems.
49845         * doc/posix-functions/socket.texi: Update mingw problems.
49846
49847 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
49848             Bruno Haible  <bruno@clisp.org>
49849
49850         * lib/sys_select.in.h: Include sys/time.h.
49851         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
49852         * modules/sys_select: Depend on sys_time.
49853         * tests/test-sys_select.c: Test that sys/select.h defines struct
49854         timeval fully.
49855
49856 2008-09-29  Bruno Haible  <bruno@clisp.org>
49857
49858         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
49859         * lib/sys_select.in.h: Likewise.
49860
49861 2008-09-29  Bruno Haible  <bruno@clisp.org>
49862
49863         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
49864
49865 2008-09-29  Bruno Haible  <bruno@clisp.org>
49866
49867         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
49868         Set LIBSOCKET instead of augmenting LIBS.
49869         * modules/sockets (Link): New section.
49870         * modules/sockets-tests (test_sockets_LDADD): New variable.
49871         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
49872         * modules/poll-tests (test_poll_LDADD): New variable.
49873         * NEWS: Document the change.
49874
49875 2008-09-29  Bruno Haible  <bruno@clisp.org>
49876
49877         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
49878         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
49879         ARPA_INET_H directly.
49880         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49881
49882 2008-09-28  Bruno Haible  <bruno@clisp.org>
49883
49884         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
49885         from gl_HEADER_SYS_SOCKET.
49886         (gl_HEADER_SYS_SOCKET): Invoke it.
49887         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49888
49889 2008-09-28  Bruno Haible  <bruno@clisp.org>
49890
49891         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
49892         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
49893         Needed on OSF/1 4.0.
49894
49895 2008-09-28  Bruno Haible  <bruno@clisp.org>
49896
49897         Override open more carefully.
49898         * lib/open.c (orig_open): New function.
49899         (rpl_open): Use orig_open instead of open.
49900         * lib/fcntl.in.h: Add special invocation convention.
49901         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
49902         (gl_FUNC_OPEN): Invoke it.
49903
49904         Override freopen more carefully.
49905         * lib/freopen.c (orig_freopen): New function.
49906         (rpl_freopen): Use orig_freopen instead of freopen.
49907         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
49908         (gl_FUNC_FREOPEN): Invoke it.
49909
49910         Override fopen more carefully.
49911         * lib/fopen.c (orig_fopen): New function.
49912         (rpl_fopen): Use orig_fopen instead of fopen.
49913         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
49914         (gl_FUNC_FOPEN): Invoke it.
49915         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
49916
49917 2008-09-28  Bruno Haible  <bruno@clisp.org>
49918
49919         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
49920         SIGPIPE.
49921
49922 2008-09-28  Bruno Haible  <bruno@clisp.org>
49923
49924         * tests/test-sigaction.c (handler, main): Disable the check whether
49925         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
49926         glibc systems with LinuxThreads.
49927
49928 2008-09-28  Bruno Haible  <bruno@clisp.org>
49929
49930         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
49931
49932         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
49933         with AIX xlc.
49934         * lib/fcntl.in.h (open): Likewise.
49935         Reported by Rainer Tammer <tammer@tammer.net>.
49936
49937 2008-09-28  Bruno Haible  <bruno@clisp.org>
49938
49939         * modules/posix_spawnp-tests: New file.
49940         * tests/test-posix_spawn.c: New file.
49941         * tests/test-posix_spawn.in.sh: New file.
49942
49943         New module 'posix_spawnp'.
49944         * modules/posix_spawnp: New file.
49945         * lib/spawnp.c: New file, from GNU libc with modifications.
49946         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
49947
49948         New module 'posix_spawn'.
49949         * modules/posix_spawn: New file.
49950         * lib/spawn.c: New file, from GNU libc with modifications.
49951         * doc/posix-functions/posix_spawn.texi: Mention the new module.
49952
49953         New module 'posix_spawnattr_destroy'.
49954         * modules/posix_spawnattr_destroy: New file.
49955         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
49956         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
49957         module.
49958
49959         New module 'posix_spawnattr_setsigmask'.
49960         * modules/posix_spawnattr_setsigmask: New file.
49961         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
49962         modifications.
49963         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
49964         new module.
49965
49966         New module 'posix_spawnattr_getsigmask'.
49967         * modules/posix_spawnattr_getsigmask: New file.
49968         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
49969         modifications.
49970         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
49971         new module.
49972
49973         New module 'posix_spawnattr_setsigdefault'.
49974         * modules/posix_spawnattr_setsigdefault: New file.
49975         * lib/spawnattr_setdefault.c: New file, from GNU libc with
49976         modifications.
49977         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
49978         new module.
49979
49980         New module 'posix_spawnattr_getsigdefault'.
49981         * modules/posix_spawnattr_getsigdefault: New file.
49982         * lib/spawnattr_getdefault.c: New file, from GNU libc with
49983         modifications.
49984         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
49985         new module.
49986
49987         New module 'posix_spawnattr_setschedpolicy'.
49988         * modules/posix_spawnattr_setschedpolicy: New file.
49989         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
49990         modifications.
49991         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
49992         new module.
49993
49994         New module 'posix_spawnattr_getschedpolicy'.
49995         * modules/posix_spawnattr_getschedpolicy: New file.
49996         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
49997         modifications.
49998         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
49999         new module.
50000
50001         New module 'posix_spawnattr_setschedparam'.
50002         * modules/posix_spawnattr_setschedparam: New file.
50003         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50004         modifications.
50005         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50006         new module.
50007
50008         New module 'posix_spawnattr_getschedparam'.
50009         * modules/posix_spawnattr_getschedparam: New file.
50010         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50011         modifications.
50012         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50013         new module.
50014
50015         New module 'posix_spawnattr_setpgroup'.
50016         * modules/posix_spawnattr_setpgroup: New file.
50017         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50018         modifications.
50019         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50020         module.
50021
50022         New module 'posix_spawnattr_getpgroup'.
50023         * modules/posix_spawnattr_getpgroup: New file.
50024         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50025         modifications.
50026         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50027         module.
50028
50029         New module 'posix_spawnattr_setflags'.
50030         * modules/posix_spawnattr_setflags: New file.
50031         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50032         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50033         module.
50034
50035         New module 'posix_spawnattr_getflags'.
50036         * modules/posix_spawnattr_getflags: New file.
50037         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50038         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50039         module.
50040
50041         New module 'posix_spawnattr_init'.
50042         * modules/posix_spawnattr_init: New file.
50043         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50044         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50045         module.
50046
50047         New module 'posix_spawn_file_actions_destroy'.
50048         * modules/posix_spawn_file_actions_destroy: New file.
50049         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50050         modifications.
50051         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50052         the new module.
50053
50054         New module 'posix_spawn_file_actions_addopen'.
50055         * modules/posix_spawn_file_actions_addopen: New file.
50056         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50057         modifications.
50058         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50059         the new module.
50060
50061         New module 'posix_spawn_file_actions_adddup2'.
50062         * modules/posix_spawn_file_actions_adddup2: New file.
50063         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50064         modifications.
50065         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50066         the new module.
50067
50068         New module 'posix_spawn_file_actions_addclose'.
50069         * modules/posix_spawn_file_actions_addclose: New file.
50070         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50071         modifications.
50072         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50073         the new module.
50074
50075         New module 'posix_spawn_file_actions_init'.
50076         * modules/posix_spawn_file_actions_init: New file.
50077         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50078         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50079         new module.
50080
50081         New module 'posix_spawn-internal'.
50082         * modules/posix_spawn-internal: New file.
50083         * lib/spawn_int.h: New file, from GNU libc with modifications.
50084         * lib/spawni.c: New file, from GNU libc with modifications.
50085         * m4/posix_spawn.m4: New file.
50086
50087         New module 'spawn'.
50088         * modules/spawn: New file.
50089         * lib/spawn.in.h: New file, from GNU libc with modifications.
50090         * m4/spawn_h.m4: New file.
50091         * doc/posix-headers/spawn.texi: Mention the new module.
50092
50093 2008-09-28  Bruno Haible  <bruno@clisp.org>
50094
50095         * modules/sched-tests: New file.
50096         * tests/test-sched.c: New file.
50097
50098         New module 'sched'.
50099         * modules/sched: New file.
50100         * lib/sched.in.h: New file.
50101         * m4/sched_h.m4: New file.
50102         * doc/posix-headers/sched.texi: Mention the new module.
50103
50104 2008-09-27  Eric Blake  <ebb9@byu.net>
50105
50106         Fix previous patch, and tweak references to $0.
50107         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50108         (func_version, func_gnulib_dir): Don't call this program
50109         gnulib-tool.
50110         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50111         with using $0 in function.
50112         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50113         (func_fatal_error): Reuse the name the user invoked us with.
50114
50115 2008-09-27  Bruno Haible  <bruno@clisp.org>
50116
50117         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50118         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50119         (gl_ICONV_H): Not here.
50120         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50121         instead of assigning ICONV_H directly.
50122
50123         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50124         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50125         WCHAR_H directly.
50126
50127 2008-09-27  Bruno Haible  <bruno@clisp.org>
50128
50129         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50130         * modules/arpa_inet (Depends-on): Add link-warning.
50131         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50132         * modules/unistd (Makefile.am): Likewise.
50133
50134 2008-09-26  Bruno Haible  <bruno@clisp.org>
50135
50136         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50137         variables.
50138         (func_version): Essentially copied from gnulib-tool.
50139         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50140         func_readlink): Copied from gnulib-tool.
50141
50142 2008-09-26  Bruno Haible  <bruno@clisp.org>
50143
50144         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50145         invoking git-version-gen.
50146
50147 2008-09-26  Bruno Haible  <bruno@clisp.org>
50148
50149         * posix-modules: Update to directory names changed on 2008-01-19.
50150         Remove commas in output before splitting into words. No more need to
50151         avoid 'ftruncate' since 2007-02-19.
50152
50153 2008-09-26  Bruno Haible  <bruno@clisp.org>
50154
50155         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
50156
50157 2008-09-26  Bruno Haible  <bruno@clisp.org>
50158
50159         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
50160         * modules/fwriteerror (Depends-on): Add errno.
50161
50162 2008-09-26  Bruno Haible  <bruno@clisp.org>
50163
50164         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
50165         * tests/test-vc-list-files-cvs.sh: Likewise.
50166
50167 2008-09-26  Bruno Haible  <bruno@clisp.org>
50168
50169         * doc/posix-headers/sys_resource.texi: Reorder items.
50170
50171 2008-09-26  Jim Meyering  <meyering@redhat.com>
50172
50173         fts: tweak inode comparison function
50174         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50175         inode numbers, as documented.
50176
50177         fts: sort dirent entries on inode number before traversing
50178         This avoids a quadratic, seek-related performance penalty when
50179         operating on a directory containing many entries (measurable at 10k;
50180         3.5 hours at 2 million entries with a cold cache) on certain types
50181         of file systems, including ext3 and ext4, but not tmpfs.
50182         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50183         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50184         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50185         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50186         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50187         (fts_build): Set the stat.st_ino member from D_INO.
50188         If it is likely to be useful, sort dirent entries on inode number.
50189
50190         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
50191         and the struct statfs.f_type member.
50192         * modules/fts (Depends-on): Add d-ino.
50193
50194 2008-09-26  Bruno Haible  <bruno@clisp.org>
50195
50196         * modules/sigpipe-die (Depends-on): Add sigpipe.
50197
50198         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
50199         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
50200         and GNULIB_STDIO_H_SIGPIPE are set.
50201         * lib/stdio-write.c: New file.
50202         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
50203         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50204         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50205         REPLACE_STDIO_WRITE_FUNCS.
50206         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
50207         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50208         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50209         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50210         * modules/stdio (Files): Add lib/stdio-write.c.
50211         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
50212         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50213         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50214         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50215         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
50216         REPLACE_FPRINTF_POSIX.
50217         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
50218         REPLACE_PRINTF_POSIX.
50219         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
50220         REPLACE_VFPRINTF_POSIX.
50221         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
50222         REPLACE_VPRINTF_POSIX.
50223         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
50224         SIGPIPE issue.
50225         * doc/posix-functions/fputc.texi: Likewise.
50226         * doc/posix-functions/fputs.texi: Likewise.
50227         * doc/posix-functions/fwrite.texi: Likewise.
50228         * doc/posix-functions/printf.texi: Likewise.
50229         * doc/posix-functions/putc.texi: Likewise.
50230         * doc/posix-functions/putchar.texi: Likewise.
50231         * doc/posix-functions/puts.texi: Likewise.
50232         * doc/posix-functions/vfprintf.texi: Likewise.
50233         * doc/posix-functions/vprintf.texi: Likewise.
50234
50235         * modules/safe-write (Depends-on): Add write.
50236
50237         * modules/sigpipe-tests: New file.
50238         * tests/test-sigpipe.c: New file.
50239         * tests/test-sigpipe.sh: New file.
50240
50241         * modules/write: New file.
50242         * lib/unistd.in.h: Include <sys/types.h>.
50243         (write): New declaration.
50244         * lib/write.c: New file.
50245         * m4/write.m4: New file.
50246         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50247         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
50248         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
50249         GNULIB_WRITE, REPLACE_WRITE.
50250         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
50251         and the SIGPIPE issue.
50252
50253         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
50254         (raise): New declaration.
50255         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
50256         (ext_signal): New function.
50257         (rpl_raise): New function.
50258         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50259         GNULIB_SIGNAL_H_SIGPIPE.
50260         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
50261         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
50262
50263         * modules/sigpipe: New file.
50264         * m4/sigpipe.m4: New file.
50265
50266 2008-09-25  Derek Price  <derek@ximbiot.com>
50267             Bruno Haible  <bruno@clisp.org>
50268
50269         * gnulib-tool (func_import): Report all license incompatibilities, not
50270         just the first one.
50271
50272 2008-09-25  Bruno Haible  <bruno@clisp.org>
50273
50274         * gnulib-tool (func_import): When computing the edits, consider not
50275         only the Makefile.ams that exist but also those that will be generated.
50276
50277 2008-09-25  Simon Josefsson  <simon@josefsson.org>
50278
50279         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
50280         fixes gnulib-tool --test warning about duplicate dependency.
50281
50282 2008-09-25  Bruno Haible  <bruno@clisp.org>
50283
50284         * gnulib-tool: Don't ask the user to perform edits in the generated
50285         Makefile.ams.
50286         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
50287         apply to the Makefile.am being generated.
50288         (func_emit_tests_Makefile_am): Execute edits that apply to the
50289         Makefile.am being generated.
50290         (func_import): Setup list of Makefile.am edits before emitting the
50291         Makefile.ams, not at the end.
50292         (func_create_testdir): Update.
50293         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50294
50295 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50296
50297         * gnulib-tool (func_import): Store the --tests-base option in the
50298         comment in gnulib-cache.m4.
50299
50300 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
50301
50302         * NEWS: Document increased portability that sys_select now provides.
50303
50304         * lib/sys_select.in.h: Install select wrapper.
50305         * lib/sys_socket.in.h: Use more descriptive name when there is no
50306         select wrapper.
50307         * lib/winsock-select.c: New.
50308         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
50309         Require gl_HEADER_SYS_SOCKET.
50310         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
50311         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
50312         * tests/test-sys_select.c: Add functional tests.
50313
50314 2008-09-24  Eric Blake  <ebb9@byu.net>
50315
50316         open, fopen: close fd leak in last patch
50317         * lib/open.c (rpl_open): Close fd before returning error.
50318         * lib/fopen.c (rpl_fopen): Close fd before returning error.
50319         * doc/posix-functions/open.texi (open): Document that Irix also
50320         has the bug.
50321         * doc/posix-functions/fopen.texi (fopen): Likewise.
50322         Reported by Paolo Bonzini.
50323
50324 2008-09-24  Bruno Haible  <bruno@clisp.org>
50325
50326         Ensure that a filename ending in a slash cannot be used to access a
50327         non-directory.
50328         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
50329         to check whether it's really a directory.
50330         * lib/fopen.c: Include fcntl.h, unistd.h.
50331         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
50332         and fdopen().
50333         * modules/fopen (Depends-on): Add unistd.
50334         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
50335         * tests/test-fopen.c (main): Likewise.
50336         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
50337         * doc/posix-functions/fopen.texi: Likewise.
50338         Reported by Eric Blake.
50339
50340 2008-09-23  Eric Blake  <ebb9@byu.net>
50341
50342         c-stack: avoid compiler optimizations when provoking overflow
50343         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
50344         recursion harder to optimize, to ensure a stack overflow occurs.
50345         * tests/test-c-stack.c (recurse): Likewise.
50346         Borrowed from libsigsegv.
50347
50348         c-stack: work around Irix sigaltstack bug
50349         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
50350         whether sigaltstack uses wrong end of stack_t (copied in part from
50351         libsigsegv).
50352         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
50353         Irix bug, without requiring an over-allocation.
50354         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
50355         bug.
50356
50357         fopen: document mingw bug on directories
50358         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
50359         not allowing a stream visiting a directory, even though reading
50360         from such a stream is not portable.
50361
50362 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50363
50364         * lib/poll.c: Rewrite.
50365         * modules/poll: Depend on alloca.
50366
50367 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50368
50369         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
50370         instead define prototypes for a full set of wrappers.  Ensure
50371         that Cygwin does not use the compatibility code, which is only
50372         for MinGW.
50373         * lib/winsock.c: New.
50374         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
50375         * modules/sys_socket: Add lib/winsock.c.
50376
50377         * modules/poll-tests: Add errno and perror.
50378         * tests/test-poll.c: Use ioctl, not ioctlsocket.
50379
50380 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50381
50382         * tests/test-poll.c: Downgrade minimum needed Winsock version.
50383
50384 2008-09-23  Bruno Haible  <bruno@clisp.org>
50385
50386         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
50387         * doc/glibc-functions/*: Likewise.
50388
50389 2008-09-23  Simon Josefsson  <simon@josefsson.org>
50390
50391         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
50392         success.
50393
50394 2008-09-22  Eric Blake  <ebb9@byu.net>
50395             Bruno Haible  <bruno@clisp.org>
50396
50397         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
50398         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
50399         supply %A but mishandle pseudo-NaN.
50400         Reported by Simon Josefsson.
50401
50402 2008-09-21  Bruno Haible  <bruno@clisp.org>
50403
50404         * tests/test-lock.c (main): Tweak skip message.
50405         * tests/test-tls.c (main): Likewise.
50406
50407 2008-09-21  Bruno Haible  <bruno@clisp.org>
50408
50409         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
50410         whether 'struct sigaction' has sa_sigaction here...
50411         (gl_PREREQ_SIG_HANDLER_H): ... not here.
50412         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
50413
50414 2008-09-21  Bruno Haible  <bruno@clisp.org>
50415
50416         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
50417         section.
50418         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
50419         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
50420         the new section.
50421         (Support for obsolete systems lacking POSIX:2001): New section.
50422         (String handling <string.h>): Move strdup to the new section.
50423         Suggested by Simon Josefsson and Paolo Bonzini.
50424
50425 2008-09-21  Bruno Haible  <bruno@clisp.org>
50426
50427         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
50428         exponents in %e and %g results on 'long double'. Needed for mingw's
50429         improved *printf functions.
50430         * tests/test-vasprintf-posix.c (test_function): Likewise.
50431         * tests/test-snprintf-posix.h (test_function): Likewise.
50432         * tests/test-sprintf-posix.h (test_function): Likewise.
50433         Reported by Eric Blake.
50434
50435 2008-09-21  Bruno Haible  <bruno@clisp.org>
50436
50437         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
50438         * tests/test-sprintf-posix.h (test_function): Likewise.
50439
50440 2008-09-21  Bruno Haible  <bruno@clisp.org>
50441
50442         * modules/getpass (Depends-on): Add strdup-posix.
50443
50444         New module 'strdup-posix'.
50445         * modules/strdup-posix: New file.
50446         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
50447         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
50448         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50449         REPLACE_STRDUP.
50450         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
50451         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
50452         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50453         strdup-posix.
50454
50455         * modules/strdup (Depends-on): Remove malloc-posix.
50456
50457 2008-09-20  Bruno Haible  <bruno@clisp.org>
50458
50459         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
50460         Wildenhues.
50461
50462 2008-09-20  Bruno Haible  <bruno@clisp.org>
50463
50464         Ensure that wint_t gets defined on IRIX 5.3.
50465         * lib/wchar.in.h (wint_t): Define if not defined by the system.
50466         * lib/wctype.in.h (wint_t): Likewise.
50467         (__wctype_wint_t): Remove type.
50468         (isw*): Use wint_t instead of __wctype_wint_t.
50469         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
50470         * modules/wchar (Files): Add m4/wint_t.m4.
50471         (Makefile.am): Substitute HAVE_WINT_T.
50472         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
50473         * tests/test-wctype.c: Check that wint_t is defined.
50474         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
50475         * doc/posix-headers/wctype.texi: Likewise.
50476         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50477
50478 2008-09-18  Bruno Haible  <bruno@clisp.org>
50479
50480         * gnulib-tool (func_exit): Update comment.
50481
50482 2008-09-18  Simon Josefsson  <simon@josefsson.org>
50483
50484         * modules/getaddrinfo (Depends-on): Remove strdup, this module
50485         assumes strdup exists and does not depend on strdup to return
50486         ENOMEM on out of memory conditions.
50487
50488 2008-09-18  Bruno Haible  <bruno@clisp.org>
50489
50490         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
50491         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
50492         digits for the exponent.
50493
50494 2008-09-18  Jim Meyering  <meyering@redhat.com>
50495             Bruno Haible  <bruno@clisp.org>
50496
50497         * lib/vasnprintf.c (decimal_point_char): Define also if
50498         NEED_PRINTF_INFINITE_LONG_DOUBLE.
50499
50500 2008-09-16  Bruno Haible  <bruno@clisp.org>
50501         and Eric Blake  <ebb9@byu.net>
50502
50503         vasnprintf: support Irix 5.3
50504         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
50505         that mishandle long double infinity.
50506         Reported by Tom G. Christensen.
50507
50508 2008-09-16  Bruno Haible  <bruno@clisp.org>
50509
50510         * doc/glibc-functions/scandir.texi: Mention the function is missing on
50511         Solaris 9.
50512         * doc/glibc-functions/alphasort.texi: Likewise.
50513         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
50514
50515 2008-09-16  Jim Meyering  <meyering@redhat.com>
50516
50517         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
50518         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
50519         a umask modification leak out of a subshell.  Otherwise, the
50520         opensolaris /bin/sh would be accepted and thus cause unwarranted
50521         failures in the coreutils test suite.
50522
50523 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
50524
50525         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
50526         to succeed.
50527
50528 2008-09-16  Jim Meyering  <meyering@redhat.com>
50529
50530         avoid spurious test failure when library is built without ACL support
50531         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
50532         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
50533         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
50534         * tests/test-copy-acl.sh: Likewise.
50535
50536 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50537
50538         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
50539         based on character occurrence counts.
50540
50541 2008-09-15  Eric Blake  <ebb9@byu.net>
50542
50543         tests: avoid some compiler warnings
50544         * tests/test-memchr.c (main): Pass NULL indirectly.
50545         * tests/test-closein.c (main): Avoid unused variable.
50546
50547 2008-09-15  Bruno Haible  <bruno@clisp.org>
50548
50549         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
50550         are missing on OpenBSD 4.0 individually.
50551         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50552
50553 2008-09-15  Bruno Haible  <bruno@clisp.org>
50554
50555         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
50556         * doc/posix-functions/strerror.texi: Mention also Cygwin.
50557         * doc/posix-functions/perror.texi: Likewise.
50558         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
50559         is missing.
50560         Reported by Eric Blake.
50561
50562         * lib/errno.in.h: Use replacement values >= 2000.
50563         Reported by Eric Blake.
50564
50565 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50566
50567         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
50568         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
50569         limit.
50570         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
50571         compareseq was aborted.
50572
50573 2008-09-14  Bruno Haible  <bruno@clisp.org>
50574
50575         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
50576         yvec_edit_count.
50577         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
50578         (fstrcmp_bounded): Simplify result computation accordingly.
50579
50580 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50581
50582         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
50583         (fstrcmp): Define in terms of fstrcmp_bounded.
50584         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
50585         lower_bound argument.
50586         Return quickly if the result is certainly < lower_bound.
50587         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
50588
50589 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50590
50591         * lib/diffseq.h (EARLY_ABORT): New macro.
50592         (compareseq): Change return type to bool. Return true when EARLY_ABORT
50593         evaluates to true.
50594
50595 2008-09-14  Bruno Haible  <bruno@clisp.org>
50596
50597         * modules/perror-tests: New file.
50598         * tests/test-perror.sh: New file.
50599         * tests/test-perror.c: New file.
50600
50601         New module 'perror'.
50602         * lib/stdio.in.h (perror): New declaration.
50603         * lib/perror.c: New file.
50604         * m4/perror.m4: New file.
50605         * modules/perror: New file.
50606         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
50607         * doc/posix-functions/perror.texi: Mention the perror module.
50608         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
50609         REPLACE_PERROR.
50610         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
50611         REPLACE_PERROR.
50612
50613 2008-09-14  Bruno Haible  <bruno@clisp.org>
50614
50615         * modules/stdio (Makefile.am): Reorder to match the order in
50616         lib/stdio.in.h.
50617         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50618
50619 2008-09-13  Bruno Haible  <bruno@clisp.org>
50620
50621         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
50622
50623 2008-09-13  Bruno Haible  <bruno@clisp.org>
50624
50625         Extend strerror to cover the added errno values.
50626         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
50627         (rpl_strerror): Provide error messages for the added errno values and
50628         for the WSA* values.
50629         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
50630         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
50631         strerror.
50632         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
50633         * modules/strerror (Depends-on): Add errno.
50634         * doc/posix-functions/strerror.texi: Document the change.
50635         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
50636         and EOVERFLOW.
50637
50638 2008-09-13  Bruno Haible  <bruno@clisp.org>
50639
50640         * modules/EOVERFLOW: Remove file.
50641         * m4/eoverflow.m4: Remove file.
50642         * modules/EOVERFLOW-tests: Remove file.
50643         * tests/test-EOVERFLOW.c: Remove file.
50644         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
50645         * modules/ftell (Depends-on): Likewise.
50646         * modules/getdelim (Depends-on): Likewise.
50647         * modules/getugroups (Depends-on): Likewise.
50648         * modules/poll (Depends-on): Likewise.
50649         * modules/snprintf (Depends-on): Likewise.
50650         * modules/sprintf-posix (Depends-on): Likewise.
50651         * modules/vasnprintf (Depends-on): Likewise.
50652         * modules/vasprintf (Depends-on): Likewise.
50653         * modules/vfprintf-posix (Depends-on): Likewise.
50654         * modules/vsnprintf (Depends-on): Likewise.
50655         * modules/vsprintf-posix (Depends-on): Likewise.
50656         * modules/xvasprintf (Depends-on): Likewise.
50657         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50658         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
50659         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
50660         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
50661         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50662         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
50663         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
50664         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
50665         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50666         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
50667         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
50668         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
50669         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50670         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
50671         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
50672         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
50673         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50674         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
50675         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
50676         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
50677         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50678         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
50679         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
50680         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
50681         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
50682         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50683         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
50684         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
50685         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
50686         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
50687         * MODULES.html.sh: Remove EOVERFLOW.
50688         * NEWS: Mention the change.
50689
50690 2008-09-13  Bruno Haible  <bruno@clisp.org>
50691
50692         * modules/errno-tests: New file.
50693         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
50694
50695         * lib/errno.in.h: New file.
50696         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
50697         * modules/errno: New file.
50698         * doc/posix-headers/errno.texi: Update documentation.
50699         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
50700
50701 2008-09-13  Bruno Haible  <bruno@clisp.org>
50702
50703         * tests/test-poll.c: Use #if for native Windows, rather than testing
50704         __MSVCRT__.
50705
50706 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50707             Bruno Haible  <bruno@clisp.org>
50708
50709         * lib/glob.c: Don't include <pwd.h> on native Windows.
50710         (WINDOWS32): New macro.
50711         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
50712
50713 2008-09-13  Bruno Haible  <bruno@clisp.org>
50714
50715         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
50716         (ETIMEDOUT): Remove macro.
50717         (glthread_cond_timedwait_multithreaded): New declaration.
50718         (glthread_cond_timedwait): Use it.
50719         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
50720         (glthread_cond_timedwait_multithreaded): New function.
50721
50722 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50723
50724         * modules/poll-tests: Do not check for io.h.
50725         * tests/test-poll.c: Check for __MSVCRT__ instead.
50726
50727 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50728
50729         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
50730         * modules/poll-tests: Add inet_pton, stdbool, sockets.
50731         * tests/test-poll.c: Use them.  Use _pipe on Windows.
50732
50733 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50734
50735         * modules/poll-tests: New.
50736         * tests/test-poll.c: New.
50737
50738 2008-09-12  Eric Blake  <ebb9@byu.net>
50739
50740         frexp: test for NetBSD failure on -0.0
50741         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
50742         not all, bugs from NetBSD 3.0 have been fixed.
50743         * doc/posix-functions/frexp.texi (frexp): Document bug.
50744         Reported by Thomas Klausner.
50745
50746         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
50747         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
50748         literal -0.0.
50749         Reported by Jonathan C. Patschke <jp@centtech.com>.
50750
50751 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50752
50753         * lib/glthread/cond.h: Use dummy implementation also if
50754         USE_WIN32_THREADS.
50755
50756 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50757
50758         * modules/fnmatch-posix (License): Change to LGPLv2+.
50759         * modules/fnmatch-gnu (License): Likewise.
50760
50761 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50762
50763         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
50764
50765 2008-09-11  Jim Meyering  <meyering@redhat.com>
50766
50767         * users.txt: Add gtk-vnc.
50768
50769 2008-09-08  Simon Josefsson  <simon@josefsson.org>
50770
50771         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
50772         rotate amounts.
50773
50774         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
50775         required for 16-bit and 8-bit rotates.
50776         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
50777         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
50778         UINT8_MAX instead of hard-coded constants.
50779         Suggested by Paul Eggert.
50780
50781 2008-09-07  Bruno Haible  <bruno@clisp.org>
50782
50783         * tests/test-striconveh.c (main): Check behaviour when converting from
50784         UTF-7.
50785
50786         Make striconveh work better with stateful encodings.
50787         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
50788         that iconv does not increment the inptr when returning -1/EINVAL.
50789
50790 2008-09-07  Bruno Haible  <bruno@clisp.org>
50791
50792         * build-aux/config.rpath: Update according to libtool-2.2.6.
50793         * build-aux/config.libpath: Likewise.
50794
50795 2008-09-06  Bruno Haible  <bruno@clisp.org>
50796
50797         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
50798         * lib/freadptr.c (freadptr): Likewise.
50799         * lib/freadseek.c (freadptrinc): Likewise.
50800         Reported by Simon Josefsson.
50801
50802 2008-09-06  Bruno Haible  <bruno@clisp.org>
50803
50804         * modules/freadptr (License): Change to LGPLv2+.
50805         * modules/freadseek (License): Likewise.
50806         Suggested by Eric Blake.
50807
50808         * modules/memchr2 (License): Change to LGPLv2+.
50809         Approved by Eric Blake.
50810
50811 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50812             Bruno Haible  <bruno@clisp.org>
50813
50814         Make gnulib-tool work with native 'sed' on AIX.
50815         * gnulib-tool (sed_noop): New variable.
50816         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
50817         func_add_or_update, func_create_testdir): Use it to initialize sed
50818         script variables.
50819         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50820
50821 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
50822             Bruno Haible  <bruno@clisp.org>
50823
50824         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
50825         also works after #include directives.
50826
50827 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
50828
50829         getdate.y: reject an out-of-range timezone value
50830         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
50831         the range [-24...+24].  When specified with only one or two digits,
50832         * tests/test-getdate.c: Tests for the fix.
50833         * doc/getdate.texi: Document this change.
50834
50835 2008-09-03  Bruno Haible  <bruno@clisp.org>
50836
50837         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
50838
50839 2008-09-02  Simon Josefsson  <simon@josefsson.org>
50840
50841         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
50842         <bruce.korb@gmail.com> with ideas from Ben Pfaff
50843         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
50844         Blake <ebb9@byu.net>.
50845
50846         * tests/test-bitrotate.c: Add more test vectors.
50847
50848 2008-09-02  Eric Blake  <ebb9@byu.net>
50849
50850         vasnprintf-posix: handle large precision via %.*d
50851         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
50852         when handling it ourselves.
50853         * tests/test-vasnprintf-posix.c (test_function): Add test.
50854         * tests/test-snprintf-posix.h (test_function): Likewise.
50855         * tests/test-sprintf-posix.h (test_function): Likewise.
50856         * tests/test-vasprintf-posix.c (test_function): Likewise.
50857         Reported by Alain Guibert.
50858
50859 2008-09-01  Eric Blake  <ebb9@byu.net>
50860
50861         c-stack: make configure-time check more robust
50862         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
50863         successful sigaction call.
50864         Reported by Tom G. Christensen.
50865
50866 2008-09-01  Bruno Haible  <bruno@clisp.org>
50867
50868         New module 'findprog-lgpl'.
50869         * modules/findprog-lgpl: New file.
50870         * lib/findprog-lgpl.c: New file.
50871         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
50872         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
50873         to decide whether to use strdup or xstrdup, concatenated_filename or
50874         xconcatenated_filename.
50875
50876 2008-09-01  Bruno Haible  <bruno@clisp.org>
50877
50878         Split module 'concat-filename' into 'concat-filename' (LGPL) and
50879         'xconcat-filename' (GPL).
50880         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
50881         (License): Change to LGPLv2+.
50882         * modules/xconcat-filename: New file.
50883         * lib/concat-filename.h (concatenated_filename): Change specification.
50884         (xconcatenated_filename): New declaration.
50885         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
50886         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
50887         memory situations.
50888         * lib/xconcat-filename.c: New file.
50889         * NEWS: Mention the change.
50890         * lib/findprog.c: Include concat-filename.h, not filename.h.
50891         (find_in_path): Use xconcatenated_filename instead of
50892         concatenated_filename.
50893         * lib/javacomp.c: Include concat-filename.h, not filename.h.
50894         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50895         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50896         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50897         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
50898         instead of concatenated_filename.
50899         * lib/javaexec.c: Include concat-filename.h, not filename.h.
50900         (execute_java_class): Use xconcatenated_filename instead of
50901         concatenated_filename.
50902         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
50903         * modules/javacomp (Depends-on): Likewise.
50904         * modules/javaexec (Depends-on): Likewise.
50905
50906 2008-09-01  Bruno Haible  <bruno@clisp.org>
50907
50908         Split module 'filename' into 'filename' and 'concat-filename'.
50909         * modules/filename: Keep only lib/filename.h.
50910         (License): Change to LGPLv2+.
50911         * modules/concat-filename: New file, extracted from modules/filename.
50912         * lib/filename.h (concatenated_filename): Remove declaration.
50913         * lib/concat-filename.h: New file, extracted from lib/filename.h.
50914         * lib/concat-filename.c: Include concat-filename.h.
50915         * NEWS: Mention the change.
50916
50917 2008-09-01  Simon Josefsson  <simon@josefsson.org>
50918
50919         * lib/bitrotate.h (rotl8, rotr8): Add.
50920
50921         * modules/bitrotate (configure.ac): Need
50922         AC_REQUIRE([AC_C_INLINE]).
50923         (Description): Mention stdint.h.  Reported by Bruno Haible
50924         <bruno@clisp.org>.
50925
50926         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
50927         Paolo Bonzini <bonzini@gnu.org>.
50928
50929 2008-08-31  Bruno Haible  <bruno@clisp.org>
50930
50931         Assume Solaris specific bi-arch conventions on Solaris systems.
50932         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
50933         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
50934         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
50935         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
50936         like acl_libdirstem.
50937         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
50938         acl_libdirstem.
50939         * NEWS: Mention the change.
50940         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
50941
50942 2008-08-31  Jim Meyering  <meyering@redhat.com>
50943
50944         * lib/strftime.h: Add comments describing the two added arguments.
50945
50946         remove duplicate #include directives
50947         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
50948         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
50949
50950 2008-08-31  Bruno Haible  <bruno@clisp.org>
50951
50952         New module 'sigpipe-die'.
50953         * modules/sigpipe-die: New file.
50954         * lib/sigpipe-die.h: New file.
50955         * lib/sigpipe-die.c: New file.
50956         * MODULES.html.sh (Signal handling): Add sigpipe-die.
50957
50958 2008-08-31  Bruno Haible  <bruno@clisp.org>
50959
50960         Don't override previously installed signal handlers.
50961         * lib/fatal-signal.c (saved_sigactions): New variable.
50962         (uninstall_handlers): Reset the signal to the saved handler, not
50963         to SIG_DFL (except when ignored).
50964         (install_handlers): Save the previous handlers.
50965
50966 2008-08-30  Bruno Haible  <bruno@clisp.org>
50967
50968         * gnulib-tool (func_reset_sigpipe): New function.
50969         (func_get_automake_snippet, func_modules_transitive_closure,
50970         func_import): Invoke it before a join command that reads from stdin,
50971         to avoid "echo: write error: Broken pipe" error messages on stderr.
50972         Reported by Sam Steingold <sds@gnu.org>.
50973
50974 2008-08-30  Bruno Haible  <bruno@clisp.org>
50975
50976         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
50977         Code copied from m4/open.m4.
50978         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
50979         access and the filename ends in a slash. Code copied from lib/open.c.
50980         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
50981         * tests/test-fopen.c (main): Check against bug with trailing slash.
50982
50983 2008-08-29  Bruno Haible  <bruno@clisp.org>
50984
50985         Avoid some "gcc -pedantic" warnings.
50986         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
50987         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
50988         * lib/dirent.in.h: Likewise.
50989         * lib/fcntl.in.h: Likewise.
50990         * lib/float.in.h: Likewise.
50991         * lib/iconv.in.h: Likewise.
50992         * lib/inttypes.in.h: Likewise.
50993         * lib/locale.in.h: Likewise.
50994         * lib/math.in.h: Likewise.
50995         * lib/netinet_in.in.h: Likewise.
50996         * lib/search.in.h: Likewise.
50997         * lib/signal.in.h: Likewise.
50998         * lib/stdarg.in.h: Likewise.
50999         * lib/stdint.in.h: Likewise.
51000         * lib/stdio.in.h: Likewise.
51001         * lib/stdlib.in.h: Likewise.
51002         * lib/string.in.h: Likewise.
51003         * lib/strings.in.h: Likewise.
51004         * lib/sys_select.in.h: Likewise.
51005         * lib/sys_socket.in.h: Likewise.
51006         * lib/sys_stat.in.h: Likewise.
51007         * lib/sys_time.in.h: Likewise.
51008         * lib/sysexits.in.h: Likewise.
51009         * lib/time.in.h: Likewise.
51010         * lib/unistd.in.h: Likewise.
51011         * lib/wchar.in.h: Likewise.
51012         * lib/wctype.in.h: Likewise.
51013         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51014         * modules/fchdir (Makefile.am): Likewise.
51015         * modules/fcntl (Makefile.am): Likewise.
51016         * modules/float (Makefile.am): Likewise.
51017         * modules/iconv_open (Makefile.am): Likewise.
51018         * modules/inttypes (Makefile.am): Likewise.
51019         * modules/locale (Makefile.am): Likewise.
51020         * modules/math (Makefile.am): Likewise.
51021         * modules/netinet_in (Makefile.am): Likewise.
51022         * modules/search (Makefile.am): Likewise.
51023         * modules/signal (Makefile.am): Likewise.
51024         * modules/stdarg (Makefile.am): Likewise.
51025         * modules/stdint (Makefile.am): Likewise.
51026         * modules/stdio (Makefile.am): Likewise.
51027         * modules/stdlib (Makefile.am): Likewise.
51028         * modules/string (Makefile.am): Likewise.
51029         * modules/strings (Makefile.am): Likewise.
51030         * modules/sys_select (Makefile.am): Likewise.
51031         * modules/sys_socket (Makefile.am): Likewise.
51032         * modules/sys_stat (Makefile.am): Likewise.
51033         * modules/sys_time (Makefile.am): Likewise.
51034         * modules/sysexits (Makefile.am): Likewise.
51035         * modules/time (Makefile.am): Likewise.
51036         * modules/unistd (Makefile.am): Likewise.
51037         * modules/wchar (Makefile.am): Likewise.
51038         * modules/wctype (Makefile.am): Likewise.
51039         Reported by Reuben Thomas <rrt@sc3d.org>.
51040
51041 2008-08-29  Bruno Haible  <bruno@clisp.org>
51042
51043         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51044         any more.
51045
51046 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51047
51048         * MODULES.html.sh (Misc): Add bitrotate.
51049
51050         * modules/bitrotate: New file.
51051
51052         * lib/bitrotate.h: New file.
51053
51054         * modules/bitrotate-tests: New file.
51055
51056         * tests/test-bitrotate.c: New file.
51057
51058         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51059         on the bitrotate module.
51060
51061         * lib/arctwo.c: Use new bitrotate module.
51062
51063 2008-08-29  Jim Meyering  <meyering@redhat.com>
51064
51065         bootstrap: merge changes from coreutils
51066         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51067         of copied files.  Remove a kludge, now that this is fixed.
51068         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51069         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51070         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51071
51072 2008-08-29  Bruno Haible  <bruno@clisp.org>
51073
51074         * MODULES.html.sh: Remove --cvs-urls option.
51075
51076 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51077
51078         maint.mk: adjust to file name change
51079         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51080
51081 2008-08-28  Jim Meyering  <meyering@redhat.com>
51082
51083         * modules/getndelim2 (License): Relicense to LGPLv2+.
51084         Approved by Richard Stallman for the version of 1995, and by
51085         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51086
51087 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51088
51089         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51090         dummy if one is not available.  Do not touch them if
51091         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51092         (getc_maybe_unlocked): New.
51093         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51094
51095 2008-08-26  Eric Blake  <ebb9@byu.net>
51096
51097         doc/INSTALL: resync from autoconf
51098         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51099         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51100         moving...
51101         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51102         * INSTALL: Regenerate.
51103         * INSTALL.ISO: New file.
51104         * INSTALL.UTF-8: Likewise.
51105
51106 2008-08-26  Jim Meyering  <meyering@redhat.com>
51107
51108         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51109         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51110         these definitions conditional, so that they may be overridden, too.
51111
51112 2008-08-26  Bruno Haible  <bruno@clisp.org>
51113
51114         Generate INSTALL file variants with prettier quotes.
51115         * doc/Makefile (INSTALL_PRELUDE): New macro.
51116         (INSTALL): Use it.
51117         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51118
51119 2008-08-26  Bruno Haible  <bruno@clisp.org>
51120
51121         Run makeinfo in an English locale.
51122         * doc/Makefile (MAKEINFO): New variable.
51123
51124 2008-08-26  Bruno Haible  <bruno@clisp.org>
51125
51126         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51127         Suggested by Eric Blake.
51128
51129 2008-08-25  Bruno Haible  <bruno@clisp.org>
51130
51131         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51132
51133 2008-08-25  Eric Blake  <ebb9@byu.net>
51134
51135         c-stack: test that stack overflow can be caught
51136         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51137         that platform allows handling stack overflow; at least OS/2 EMX
51138         has sigaltstack, but crashes before transferring control to
51139         handler on stack overflow.
51140         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51141         check for HAVE_STACK_OVERFLOW_HANDLING.
51142         Reported by Elbert Pol.
51143
51144 2008-08-25  Bruno Haible  <bruno@clisp.org>
51145
51146         * doc/posix-functions/strftime.texi: Fix description of strftime
51147         module.
51148
51149 2008-08-24  Bruno Haible  <bruno@clisp.org>
51150
51151         * tests/uniwidth/test-uc_width2.c: New file.
51152         * tests/uniwidth/test-uc_width2.sh: New file.
51153         * modules/uniwidth/width-tests (Files): Add the new files.
51154         (TESTS): Add uniwidth/test-uc_width2.sh.
51155         (TESTS_ENVIRONMENT): New variable.
51156         (check_PROGRAMS): Add test-uc_width2.
51157         (test_uc_width2_SOURCES): New variable.
51158
51159         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
51160         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
51161         not 0x00AB.
51162         Reported by Alexander V. Lukyanov <lav@netis.ru>.
51163
51164 2008-08-22  Eric Blake  <ebb9@byu.net>
51165
51166         test-lock, test-tls: mention why a test is skipped
51167         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
51168         skipped.
51169         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51170
51171         count-one-bits: relax license
51172         * modules/count-one-bits (License): Relicense to LGPLv2+.
51173         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51174
51175 2008-08-22  Andreas Schwab  <schwab@suse.de>
51176
51177         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51178         Remove spurious space in assignment.
51179
51180 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51181
51182         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51183         Paul Eggert <eggert@CS.UCLA.EDU>.
51184
51185 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51186
51187         * modules/gettext: Add m4/threadlib.m4.
51188
51189 2008-08-19  Eric Blake  <ebb9@byu.net>
51190
51191         test-c-stack: fix compilation failure on FreeBSD 5.0
51192         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
51193         headers before <sys/resource.h>.
51194         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
51195         the bug.
51196         Reported by Nelson H. F. Beebe.
51197
51198         strverscmp: migrate from "strverscmp.h" to <string.h>
51199         * modules/string (Makefile.am): Add new hooks.
51200         * modules/strverscmp (Files): Remove strverscmp.h.
51201         (Depends-on): Add string.
51202         (configure.ac): Add indicator.
51203         (Include): Mention new header.
51204         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
51205         defaults.
51206         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
51207         results.
51208         * lib/strverscmp.h: Delete.
51209         * lib/string.in.h (strverscmp): Provide declaration, when needed.
51210         * tests/test-strverscmp.c (includes): Adjust client.
51211         * lib/check-version.c (includes): Likewise.
51212         * NEWS: Document the change.
51213
51214         strverscmp: add unit test
51215         * modules/strverscmp-tests: New file.
51216         * tests/test-strverscmp.c: Likewise.
51217
51218 2008-08-19  Simon Josefsson  <simon@josefsson.org>
51219
51220         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
51221         regarding Windows crypto stuff, from Mono.
51222
51223 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
51224
51225         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
51226         if present, for intel RND.  Return error on failures.
51227
51228 2008-08-18  Ben Pfaff  <blp@gnu.org>
51229
51230         gitlog-to-changelog: give better diagnostic for failed pipe-open
51231         * build-aux/gitlog-to-changelog: Improve error message: suggest
51232         that the version of Git may be too old.
51233
51234 2008-08-18  Simon Josefsson  <simon@josefsson.org>
51235
51236         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
51237         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
51238
51239 2008-08-18  Bruno Haible  <bruno@clisp.org>
51240
51241         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
51242         pthread_in_use().
51243
51244 2008-08-18  Bruno Haible  <bruno@clisp.org>
51245
51246         * lib/glthread/threadlib.c: Include <pthread.h>.
51247
51248 2008-08-18  Bruno Haible  <bruno@clisp.org>
51249
51250         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
51251         glthread_recursive_lock_* macros.
51252         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
51253         Fix syntax error.
51254
51255 2008-08-18  Bruno Haible  <bruno@clisp.org>
51256
51257         * lib/glthread/thread.c: Avoid forcing a context switch right after
51258         thread creation.
51259
51260 2008-08-17  Bruno Haible  <bruno@clisp.org>
51261
51262         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
51263         * lib/glthread/thread.h: Provide Win32 specific implementation.
51264         * modules/thread (Files): Add lib/glthread/thread.c.
51265         (Depends-on): Add lock.
51266         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
51267
51268 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51269
51270         New module 'yield'.
51271         * modules/yield: New file.
51272         * lib/glthread/yield.h: New file.
51273         * m4/yield.m4: New file.
51274         * MODULES.html.sh (Multithreading): Add yield.
51275
51276 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51277
51278         New module 'thread'.
51279         * modules/thread: New file.
51280         * lib/glthread/thread.h: New file.
51281         * m4/thread.m4: New file.
51282         * MODULES.html.sh (Multithreading): Add thread.
51283
51284 2008-08-17  Bruno Haible  <bruno@clisp.org>
51285
51286         * lib/glthread/lock.h: Include <stdlib.h> always.
51287         * lib/glthread/tls.h: Likewise.
51288         * lib/glthread/cond.h: Likewise.
51289
51290 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51291
51292         New module 'cond'.
51293         * modules/cond: New file.
51294         * lib/glthread/cond.h: New file.
51295         * lib/glthread/cond.c: New file.
51296         * m4/cond.m4: New file.
51297         * MODULES.html.sh (Multithreading): Add cond.
51298
51299 2008-08-16  Eric Blake  <ebb9@byu.net>
51300
51301         c-stack: fix regression on Irix 5.3 from 2008-06-21
51302         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
51303         sa_sigaction...
51304         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
51305         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
51306         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
51307         * modules/signal (Makefile.am): Use the value.
51308         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
51309         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
51310         * doc/posix-headers/signal.texi (signal.h): Document this
51311         portability issue.
51312         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
51313         Reported by Tom G. Christensen.
51314
51315 2008-08-17  Bruno Haible  <bruno@clisp.org>
51316
51317         New module 'threadlib'.
51318         * modules/threadlib: New file.
51319         * lib/glthread/threadlib.c: New file, extracted from
51320         lib/glthread/lock.c.
51321         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
51322         functions.
51323         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
51324         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
51325         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
51326         macros.
51327         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
51328         (gl_DISABLE_THREADS): Remove macro.
51329         * modules/lock (Files): Remove build-aux/config.rpath.
51330         (Depends-on): Remove havelib. Add threadlib.
51331         (configure.ac-early): Remove section.
51332         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
51333         * modules/tls (Depends-on): Remove lock. Add threadlib.
51334         (Link): New section, copied from threadlib.
51335         * MODULES.html.sh (Multithreading): Add threadlib.
51336
51337 2008-08-14  Bruno Haible  <bruno@clisp.org>
51338
51339         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
51340         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
51341         glthread_rwlock_unlock, glthread_rwlock_destroy,
51342         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
51343         glthread_recursive_lock_destroy): Define as macros always.
51344         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
51345         glthread_lock_lock.
51346         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
51347         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
51348         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
51349         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
51350         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
51351         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
51352         (glthread_recursive_lock_lock_func): Renamed from
51353         glthread_recursive_lock_lock.
51354         (glthread_recursive_lock_unlock_func): Renamed from
51355         glthread_recursive_lock_unlock.
51356         (glthread_recursive_lock_destroy_func): Renamed from
51357         glthread_recursive_lock_destroy.
51358
51359 2008-08-14  Bruno Haible  <bruno@clisp.org>
51360
51361         * lib/glthread/lock.h: Renamed from lib/lock.h.
51362         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
51363         * lib/glthread/tls.h: Renamed from lib/tls.h.
51364         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
51365         * lib/fstrcmp.c: Update includes.
51366         * lib/strsignal.c: Update includes.
51367         * modules/lock (Files, Makefile.am): Update.
51368         (Include): Change to "glthread/lock.h".
51369         * modules/tls (Files, Makefile.am): Update.
51370         (Include): Change to "glthread/tls.h".
51371         * tests/test-lock.c: Update includes.
51372         * tests/test-tls.c: Update includes.
51373         * NEWS: Mention the renamed header files.
51374
51375 2008-08-11  Jim Meyering  <meyering@redhat.com>
51376
51377         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
51378
51379 2008-08-11  Eric Blake  <ebb9@byu.net>
51380
51381         test-c-stack: avoid C99-ism
51382         * tests/test-c-stack.c (main): Fix whitespace, move declaration
51383         before statement.
51384         Reported by Alain Guibert.
51385
51386 2008-08-10  Jim Meyering  <meyering@redhat.com>
51387
51388         ensure that return value of uinttostr et al are not ignored
51389         * lib/inttostr.h (__GNUC_PREREQ): Define.
51390         (__attribute_warn_unused_result__): Define.
51391         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
51392
51393 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
51394
51395         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
51396         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
51397
51398 2008-08-07  Jim Meyering  <meyering@redhat.com>
51399
51400         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
51401
51402         * modules/mkstemp (License): Relicense under LGPLv2+.
51403         * modules/tempname (License): Likewise.
51404
51405 2008-08-06  Bruno Haible  <bruno@clisp.org>
51406
51407         * lib/poll.c (poll): Further micro-optimization.
51408
51409 2008-08-06  Jim Meyering  <meyering@redhat.com>
51410
51411         inet_pton.c: use locale-independent tolower
51412         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
51413         (inet_pton6): Use c_tolower rather than tolower.
51414         * modules/inet_pton (Depends-on): Add c-ctype.
51415
51416 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
51417
51418         * lib/poll.c (poll): Avoid division when timeout is 0, cache
51419         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
51420
51421 2008-08-06  Jim Meyering  <meyering@redhat.com>
51422
51423         * modules/inet_pton (License): Relicense under LGPLv2+.
51424
51425 2008-08-03  Bruno Haible  <bruno@clisp.org>
51426
51427         Additional non-aborting API for lock and tls.
51428         * lib/lock.h: Include <errno.h>.
51429         (glthread_lock_init): New macro/function.
51430         (gl_lock_init): Define as wrapper around glthread_lock_init.
51431         (glthread_lock_lock): New macro/function.
51432         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
51433         (glthread_lock_unlock): New macro/function.
51434         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
51435         (glthread_lock_destroy): New macro/function.
51436         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
51437         (glthread_rwlock_init): New macro/function.
51438         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
51439         (glthread_rwlock_rdlock): New macro/function.
51440         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
51441         (glthread_rwlock_wrlock): New macro/function.
51442         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
51443         (glthread_rwlock_unlock): New macro/function.
51444         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
51445         (glthread_rwlock_destroy): New macro/function.
51446         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
51447         (glthread_recursive_lock_init): New macro/function.
51448         (gl_recursive_lock_init): Define as wrapper around
51449         glthread_recursive_lock_init.
51450         (glthread_recursive_lock_lock): New macro/function.
51451         (gl_recursive_lock_lock): Define as wrapper around
51452         glthread_recursive_lock_lock.
51453         (glthread_recursive_lock_unlock): New macro/function.
51454         (gl_recursive_lock_unlock): Define as wrapper around
51455         glthread_recursive_lock_unlock.
51456         (glthread_recursive_lock_destroy): New macro/function.
51457         (gl_recursive_lock_destroy): Define as wrapper around
51458         glthread_recursive_lock_destroy.
51459         (glthread_once): New macro/function.
51460         (gl_once): Define as wrapper around glthread_once.
51461         Update function declarations.
51462         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
51463         glthread_rwlock_init. Return error code.
51464         (glthread_rwlock_rdlock_multithreaded): Renamed from
51465         glthread_rwlock_rdlock. Return error code.
51466         (glthread_rwlock_wrlock_multithreaded): Renamed from
51467         glthread_rwlock_wrlock. Return error code.
51468         (glthread_rwlock_unlock_multithreaded): Renamed from
51469         glthread_rwlock_unlock. Return error code.
51470         (glthread_rwlock_destroy_multithreaded): Renamed from
51471         glthread_rwlock_destroy. Return error code.
51472         (glthread_recursive_lock_init_multithreaded): Renamed from
51473         glthread_recursive_lock_init. Return error code.
51474         (glthread_recursive_lock_lock_multithreaded): Renamed from
51475         glthread_recursive_lock_lock. Return error code.
51476         (glthread_recursive_lock_unlock_multithreaded): Renamed from
51477         glthread_recursive_lock_unlock. Return error code.
51478         (glthread_recursive_lock_destroy_multithreaded): Renamed from
51479         glthread_recursive_lock_destroy. Return error code.
51480         (glthread_once_call): Make static.
51481         (glthread_once_multithreaded): Renamed from glthread_once.
51482         * lib/tls.h: Include <errno.h>.
51483         (glthread_tls_key_init): New macro/function.
51484         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
51485         (glthread_tls_set): New macro/function.
51486         (gl_tls_set): Define as wrapper around glthread_tls_set.
51487         (glthread_tls_key_destroy): New macro/function.
51488         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
51489         Update function declarations.
51490         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
51491         glthread_tls_get.
51492         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51493
51494 2008-08-04  Eric Blake  <ebb9@byu.net>
51495
51496         gnumakefile: use space, not TAB, outside of targets
51497         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
51498
51499 2008-08-02  Jim Meyering  <meyering@redhat.com>
51500
51501         getdate.y: avoid locale-dependent date parsing failure
51502         In Turkish locales, getdate would fail to recognize keywords
51503         containing a lowercase "i".  The solution is not to rely on
51504         locale-sensitive case-conversion.
51505         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
51506         (lookup_word): Use c_toupper in place of toupper.
51507         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
51508         Reported by Vefa Bicakci <bicave@superonline.com> in
51509         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
51510         * modules/getdate (Depends-on): Add c-ctype.
51511
51512 2008-08-02  Bruno Haible  <bruno@clisp.org>
51513
51514         * gnulib-tool (func_import): When updating or creating a .gitignore
51515         file, prepend each added line with a slash, and ignore leading slashes
51516         from the existing lines.
51517         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51518
51519 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51520
51521         Portability fix for GNU make 3.79.1.
51522         * top/GNUmakefile: Avoid 'else COND', which older GNU make
51523         versions do not understand.
51524
51525 2008-08-01  Bruno Haible  <bruno@clisp.org>
51526
51527         Work around bug of HP-UX 10.20 cc with -0.0 literal.
51528         * tests/test-isnanf.h (zero): New variable.
51529         (main): Avoid literal -0.0f.
51530         * tests/test-isnand.h (zero): New variable.
51531         (main): Avoid literal -0.0.
51532         * tests/test-isnanl.h (zero): New variable.
51533         (main): Avoid literal -0.0L.
51534         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
51535         (test_float, test_double, test_long_double): Avoid literals -0.0f,
51536         -0.0, -0.0L.
51537         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
51538         (test_signbitd): Avoid literal -0.0.
51539         (test_signbitl): Avoid literal -0.0L.
51540         * tests/test-ceilf1.c (zero): New variable.
51541         (main): Avoid literal -0.0f.
51542         * tests/test-ceill.c (zero): New variable.
51543         (main): Avoid literal -0.0L.
51544         * tests/test-floorf1.c (zero): New variable.
51545         (main): Avoid literal -0.0f.
51546         * tests/test-floorl.c (zero): New variable.
51547         (main): Avoid literal -0.0L.
51548         * tests/test-roundf1.c (zero): New variable.
51549         (main): Avoid literal -0.0f.
51550         * tests/test-round1.c (zero): New variable.
51551         (main): Avoid literal -0.0.
51552         * tests/test-roundl.c (zero): New variable.
51553         (main): Avoid literal -0.0L.
51554         * tests/test-truncf1.c (zero): New variable.
51555         (main): Avoid literal -0.0f.
51556         * tests/test-trunc1.c (zero): New variable.
51557         (main): Avoid literal -0.0.
51558         * tests/test-truncl.c (zero): New variable.
51559         (main): Avoid literal -0.0L.
51560         * tests/test-frexp.c (zero): New variable.
51561         (main): Avoid literal -0.0.
51562         * tests/test-frexpl.c (zero): New variable.
51563         (main): Avoid literal -0.0L.
51564         * tests/test-ldexpl.c (zero): New variable.
51565         (main): Avoid literal -0.0L.
51566         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51567         (zerod, zerol): New variables.
51568         (test_function): Avoid literals -0.0, -0.0L.
51569         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51570         (zerod, zerol): New variables.
51571         (test_function): Avoid literals -0.0, -0.0L.
51572         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51573         (zerod, zerol): New variables.
51574         (test_function): Avoid literals -0.0, -0.0L.
51575         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51576         (zerod, zerol): New variables.
51577         (test_function): Avoid literals -0.0, -0.0L.
51578         * tests/test-strtod.c (zero): New variable.
51579         (main): Avoid literal -0.0.
51580         Reported by Jonathan C. Patschke <jp@centtech.com>.
51581
51582 2008-07-31  Jim Meyering  <meyering@redhat.com>
51583
51584         sha256.h: correct definition of SHA224_DIGEST_SIZE
51585         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
51586         Reported by Paulie Pena IV <paulie4@gmail.com>.
51587         Define as 224 / 8, rather than as a literal.
51588         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
51589         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
51590         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
51591
51592 2008-07-31  Bruno Haible  <bruno@clisp.org>
51593
51594         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
51595         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
51596         Reported by Jonathan Patschke <jp@centtech.com>.
51597
51598 2008-07-31  Bruno Haible  <bruno@clisp.org>
51599
51600         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
51601         Reported by Paolo Bonzini <bonzini@gnu.org>.
51602
51603 2008-07-30  Eric Blake  <ebb9@byu.net>
51604
51605         test-strtod: allow compilation without -lm
51606         * tests/test-strtod.c (main): Avoid link dependence on fabs.
51607         Reported by Dennis Clarke <blastwave@gmail.com>.
51608
51609 2008-07-28  Jim Meyering  <meyering@redhat.com>
51610
51611         bootstrap: work also when there are no .po files in po/
51612         * build-aux/bootstrap (update_po_files): Complete the change
51613         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
51614
51615 2008-07-27  Jim Meyering  <meyering@redhat.com>
51616
51617         * users.txt: Add zile.
51618
51619 2008-07-26  Ben Pfaff  <blp@gnu.org>
51620
51621         Add missing dependencies on new m4/exponent[fdl].m4 files.
51622         * modules/isnanf-nolibm: Add m4/exponentf.m4.
51623         * modules/isnand-nolibm: Add m4/exponentd.m4.
51624         * modules/isnanl-nolibm: Add m4/exponentl.m4.
51625         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
51626         m4/isnan[fdl].m4, because the macros actually used moved.
51627         Reported by Jim Meyering.
51628
51629 2008-07-14  Ben Pfaff  <blp@gnu.org>
51630
51631         Add isinf module.
51632         * lib/isinf.c: New file.
51633         * lib/math.in.h: Define isinf macro if we have decided to replace
51634         it.
51635         * m4/isinf.m4: New file.
51636         * m4/math_h.m4: Initialize and substitute variables for isinf
51637         module.
51638         * modules/isinf: New file.
51639         * modules/isinf-tests: New file.
51640         * modules/math: Add substitutions for new module.
51641         * tests/test-isinf.c: New file.
51642         * doc/posix-functions/isinf.texi: Mention new module.
51643         * MODULES.html.sh: Mention new module.
51644
51645 2008-07-14  Ben Pfaff  <blp@gnu.org>
51646
51647         Factor out some macros for use by additional modules.
51648         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
51649         exponentf.m4.
51650         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
51651         exponentd.m4.
51652         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
51653         file exponentl.m4.
51654         * m4/exponentf.m4: New file.
51655         * m4/exponentd.m4: New file.
51656         * m4/exponentl.m4: New file.
51657         * modules/isnanf: Use new file m4/exponentf.m4.
51658         * modules/isnand: Use new file m4/exponentd.m4.
51659         * modules/isnanl: Use new file m4/exponentl.m4.
51660
51661 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
51662
51663         mktime.c: normalize tp->tm_isdst value to -1/0/1.
51664         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
51665         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
51666         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
51667
51668         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
51669         readlink on platforms without PATH_MAX.
51670
51671 2008-07-21  Eric Blake  <ebb9@byu.net>
51672
51673         Warn, not fail, on stale version.
51674         * top/GNUmakefile (_curr-ver): Tone down previous patch.
51675
51676         Don't allow installation with stale devel version number.
51677         * top/GNUmakefile (_is-install-target): New macro.
51678         (_curr-ver): Forbid installation with stale version number.
51679
51680 2008-07-20  Bruno Haible  <bruno@clisp.org>
51681
51682         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
51683         TESTS_ENVIRONMENT.
51684         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
51685
51686 2008-07-20  Bruno Haible  <bruno@clisp.org>
51687
51688         * lib/c-stack.h (c_stack_action): Add documentation.
51689         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
51690
51691 2008-07-20  Bruno Haible  <bruno@clisp.org>
51692
51693         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
51694         * modules/readlink (License): Likewise.
51695
51696 2008-07-17  Eric Blake  <ebb9@byu.net>
51697
51698         * modules/c-stack (Link): Fix typo.
51699
51700         Make c-stack use libsigsegv, when available.
51701         * modules/c-stack (Depends-on): Add libsigsegv.
51702         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
51703         needed.
51704         * lib/c-stack.c (SIGSTKSZ): Define fallback.
51705         (segv_handler, overflow_handler, c_stack_action)
51706         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
51707         implementation when libsigsegv is available, but only when using
51708         the library is necessary.
51709         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
51710         comment, explaining why XSI check fails on Linux.
51711         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
51712         * tests/test-c-stack2.sh: Tweak skip message.
51713         * NEWS: Document new link-time requirements.
51714
51715 2008-07-16  Eric Blake  <ebb9@byu.net>
51716
51717         c-stack: Expose false positives when not using libsigsegv.
51718         * modules/c-stack-tests (Files): Expand test.
51719         * tests/test-c-stack.c (main): Add means to conditionally trigger
51720         non-overflow SIGSEGV.
51721         * tests/test-c-stack2.sh: New file.
51722
51723 2008-07-14  Bruno Haible  <bruno@clisp.org>
51724
51725         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
51726         Reported by Eric Blake.
51727
51728 2008-07-14  Sam Steingold  <sds@gnu.org>
51729             Bruno Haible  <bruno@clisp.org>
51730
51731         New module libsigsegv.
51732         * modules/libsigsegv: New file.
51733         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
51734         modifications.
51735         * MODULES.html.sh (Signal handling): New section.
51736
51737 2008-07-14  Bruno Haible  <bruno@clisp.org>
51738
51739         * modules/unictype/ctype-* (Description): Add the word "function".
51740         Improves the resulting doc in MODULES.html.
51741
51742 2008-07-12  Ben Pfaff  <blp@gnu.org>
51743
51744         Add longlong module.
51745         * modules/longlong: New file.
51746
51747 2008-07-12  Bruno Haible  <bruno@clisp.org>
51748
51749         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
51750         to empty.
51751
51752 2008-07-10  Ben Pfaff  <blp@gnu.org>
51753
51754         Add isnan module.
51755         * doc/posix-functions/isnan.texi: Mention new module.
51756         * lib/math.in.h: Define isnan macro if we have decided to replace
51757         it.
51758         * m4/isnan.m4: New file.
51759         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
51760         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
51761         also.
51762         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
51763         redundancy.
51764         * m4/math_h.m4: Initialize and substitute variables for isnan
51765         module.
51766         * modules/isnan: New file.
51767         * modules/isnan-tests: New file.
51768         * modules/math: Add substitutions for new module.
51769         * tests/test-isnan.c: New file.
51770         * MODULES.html.sh: Mention new module.
51771
51772 2008-07-10  Ben Pfaff  <blp@gnu.org>
51773
51774         Add isnanf module.
51775         * lib/isnanf.m4: New file.
51776         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
51777         (gl_HAVE_ISNANF_IN_LIBM): New macro.
51778         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
51779         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
51780         * modules/isnanf: New file.
51781         * modules/isnanf-tests: New file.
51782         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
51783         files.
51784         * tests/test-isnanf-nolibm.c: factored most of its contents into
51785         new file tests/test-isnanf.h.
51786         * tests/test-isnanf.h: New file.
51787         * tests/test-isnanf.c: New file.
51788         * MODULES.html.sh: Mention new module.
51789         * doc/glibc-functions/isnanf.texi: Mention new module.
51790
51791 2008-07-10  Ben Pfaff  <blp@gnu.org>
51792
51793         Add isnand module.
51794         * lib/isnand.h: New file.
51795         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
51796         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
51797         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
51798         functionality also.
51799         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
51800         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
51801         (gl_HAVE_ISNAND_IN_LIBM): New macro.
51802         * modules/isnand: New file.
51803         * modules/isnand-tests: New file.
51804         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
51805         files.
51806         * tests/test-isnand-nolibm.c: factored most of its contents into
51807         new file tests/test-isnand.h.
51808         * tests/test-isnand.h: New file.
51809         * tests/test-isnand.c: New file.
51810         * MODULES.html.sh: Mention new module.
51811
51812 2008-07-10  Ben Pfaff  <blp@gnu.org>
51813
51814         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
51815         * lib/isnand.h: Rename lib/isnand-nolibm.h.
51816         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
51817         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
51818         * modules/isnanf-nolibm: Update references to renamed files.
51819         * modules/isnand-nolibm: Likewise.
51820         * modules/isnanf-nolibm-tests: Likewise.
51821         * modules/isnand-nolibm-tests: Likewise.
51822         * lib/frexp.c: Likewise.
51823         * lib/isfinite.c: Likewise.
51824         * lib/signbitd.c: Likewise.
51825         * lib/signbitf.c: Likewise.
51826         * lib/vasnprintf.c: Likewise.
51827         * tests/test-ceilf1.c: Likewise.
51828         * tests/test-ceilf2.c: Likewise.
51829         * tests/test-floorf1.c: Likewise.
51830         * tests/test-floorf2.c: Likewise.
51831         * tests/test-frexp.c: Likewise.
51832         * tests/test-round1.c: Likewise.
51833         * tests/test-round2.c: Likewise.
51834         * tests/test-roundf1.c: Likewise.
51835         * tests/test-strtod.c: Likewise.
51836         * tests/test-trunc1.c: Likewise.
51837         * tests/test-trunc2.c: Likewise.
51838         * tests/test-truncf1.c: Likewise.
51839         * tests/test-truncf2.c: Likewise.
51840         * NEWS: Mention the renamed header files.
51841
51842 2008-07-11  Jim Meyering  <meyering@redhat.com>
51843
51844         vc-list-files: make the last-resort awk code more portable
51845         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
51846         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
51847         does not support it.
51848
51849 2008-07-10  Eric Blake  <ebb9@byu.net>
51850
51851         Work with tar's bootstrap.
51852         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
51853         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
51854         an m4 comment.
51855
51856 2008-07-09  Jim Meyering  <meyering@redhat.com>
51857
51858         posix-shell.m4: fix typo that made this test malfunction
51859         * m4/posix-shell.m4: Remove capitalization in variable name.
51860
51861 2008-07-08  Bruno Haible  <bruno@clisp.org>
51862
51863         * m4/onceonly.m4: Update comments.
51864         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51865
51866 2008-07-04  Jim Meyering  <meyering@redhat.com>
51867
51868         * users.txt: Add vc-dwim.
51869         (bison, coreutils): Use the gitweb URL.
51870
51871 2008-07-03  Jim Meyering  <meyering@redhat.com>
51872
51873         * users.txt: Add libffcall.  From Sam Steingold.
51874
51875 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
51876
51877         getdate.y: do not ignore TZ with relative day, month or year offset
51878         * lib/getdate.y (get_date): Move the tz-handling block to follow the
51879         relative-date-handling, since otherwise, the latter would clobber the
51880         sole output (an updated Start value) of the tz-handling block.
51881         * tests/test-getdate.c: Tests for the fix
51882
51883 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51884
51885         Recognize 'foo_LIBRARIES += libgnu.a'.
51886         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
51887         makefile snippet has already specified an installation location,
51888         also using '+='.
51889
51890 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
51891
51892         getdate.y: factor out common actions
51893         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
51894         Use them in place of open-coded actions.
51895
51896 2008-07-01  Simon Josefsson  <simon@josefsson.org>
51897
51898         Add self-test for getdate module.
51899         * modules/getdate-tests: New file.
51900         * tests/test-getdate.c: New file.
51901
51902 2008-06-29  Bruno Haible  <bruno@clisp.org>
51903
51904         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
51905         .gitignore.
51906         Reported by Sylvain Beucler <beuc@beuc.net>.
51907
51908 2008-06-29  Bruno Haible  <bruno@clisp.org>
51909
51910         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
51911         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
51912
51913 2008-06-29  Bruno Haible  <bruno@clisp.org>
51914
51915         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
51916         EXTRA_DIST.
51917         Reported by Sylvain Beucler <beuc@beuc.net>.
51918
51919 2008-06-26  Jim Meyering  <meyering@redhat.com>
51920
51921         make several modules depend on the "open" module
51922         This provides slightly increased consistency when opening-for-write
51923         the name of a non-directory spelled with a trailing slash.
51924         * modules/chdir-safer: Likewise.
51925         * modules/chown: Likewise.
51926         * modules/clean-temp: Likewise.
51927         * modules/copy-file: Likewise.
51928         * modules/fchdir: Likewise.
51929         * modules/fcntl-safer: Likewise.
51930         * modules/pipe: Likewise.
51931         * modules/utime: Likewise.
51932         Prompted by Eric Blake and Bruno Haible.
51933
51934 2008-06-24  Andreas Schwab  <schwab@suse.de>
51935
51936         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
51937         literals can be used as initializers for global variables.
51938
51939 2008-06-23  Eric Blake  <ebb9@byu.net>
51940
51941         Make gnulib-cache.m4 easier to diff.
51942         * gnulib-tool (func_import): Allow newlines when reading cached
51943         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
51944
51945 2008-06-23  Bruno Haible  <bruno@clisp.org>
51946
51947         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
51948         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
51949         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
51950         m4/signalblocking.m4.
51951         (gl_PREREQ_SIGACTION): Don't invoke it.
51952         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
51953         gl_PREREQ_SIG_HANDLER_H.
51954         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51955         Don't check for sigaction here.
51956
51957 2008-06-23  Bruno Haible  <bruno@clisp.org>
51958
51959         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
51960         (install_handlers): Don't set the SA_RESETHAND flag.
51961
51962 2008-06-23  Bruno Haible  <bruno@clisp.org>
51963
51964         * m4/sigaction.m4: Comment fixes.
51965         * lib/signal.in.h: Likewise.
51966
51967 2008-06-23  Eric Blake  <ebb9@byu.net>
51968
51969         Fix typo.
51970         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
51971
51972         Avoid SA_ namespace.
51973         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
51974         Reported by Ralf Wildenhues.
51975
51976         Avoid test failure due to SA_RESTORER.
51977         * tests/test-sigaction.c (SA_MASK): New macro.
51978         (main): Avoid failing due to extension flags being set.
51979         Reported by Jim Meyering.
51980
51981         Revert use of sig-handler.h in sigprocmask.c.
51982         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
51983         it requires the existence of struct sigaction.
51984         * lib/sigprocmask.c (handler_t): Restore typedef.
51985         (rpl_signal, old_handlers): Use local type.
51986
51987 2008-06-22  Bruno Haible  <bruno@clisp.org>
51988
51989         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
51990         conditionally.
51991         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51992
51993 2008-06-22  Bruno Haible  <bruno@clisp.org>
51994
51995         * doc/posix-functions/siginterrupt.texi: Move note.
51996
51997         * lib/signal.in.h (SA_RESTART): New macro.
51998         * lib/sigaction.c: Update comment.
51999
52000         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52001
52002         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52003         (gl_PREREQ_SIGPROCMASK): Invoke it.
52004         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52005
52006         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52007
52008         * lib/sigprocmask.c: Update a comment.
52009
52010 2008-06-21  Eric Blake  <ebb9@byu.net>
52011
52012         Use sigaction module rather than signal().
52013         * modules/c-stack (Depends-on): Add sigaction.
52014         * modules/fatal-signal (Depends-on): Likewise.
52015         * modules/nanosleep (Depends-on): Likewise.
52016         * modules/sigprocmask (Files): Add sig-handler.h.
52017         * modules/sigaction (Files): Likewise.
52018         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52019         Eggert.
52020         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52021         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52022         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52023         (init_fatal_signals): Likewise.
52024         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52025         (siginterrupt): Delete fallback.
52026         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52027         instead.
52028         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52029         siginterrupt.
52030
52031         New module sigaction, for mingw.
52032         * modules/sigaction: New module...
52033         * modules/sigaction-tests: ...and its test.
52034         * m4/sigaction.m4: New file.
52035         * lib/sigaction.c: Likewise.
52036         * tests/test-sigaction.c: Likewise.
52037         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52038         * modules/signal (Makefile.am): Likewise.
52039         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52040         needed.
52041         * doc/posix-headers/signal.texi (signal.h): Mention provided
52042         types.
52043         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52044         that sigaction is preferable.
52045         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52046         module.
52047         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52048         sigaction.
52049
52050         Improve robustness of sigprocmask by overriding signal.
52051         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52052         is in use.
52053         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52054         (SIGKILL, SIGSTOP): Provide fallbacks.
52055         (rpl_signal): Implement.
52056         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52057         signal can be called inside handlers.
52058
52059         Fix nanosleep module on mingw.
52060         * modules/nanosleep (Depends-on): Add sys_select.
52061         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52062
52063         Fix licensing of sigprocmask.
52064         * modules/raise (License): Relicense as LGPL.
52065
52066 2008-06-21  Bruno Haible  <bruno@clisp.org>
52067
52068         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52069         result if it contains question marks.
52070         Reported by Michael Geng <linux@michaelgeng.de>.
52071
52072 2008-06-19  Bruno Haible  <bruno@clisp.org>
52073
52074         Fix CVS-ism.
52075         * doc/gnulib.texi: Include updated-stamp.texi.
52076         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52077         (updated-stamp.texi): New rule.
52078         (gnulib.info): Depend on it.
52079         * doc/.gitignore: Add updated-stamp.texi.
52080         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52081
52082 2008-06-19  Bruno Haible  <bruno@clisp.org>
52083
52084         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52085         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52086
52087 2008-06-19  Eric Blake  <ebb9@byu.net>
52088
52089         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52090         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52091         Reported by Stepan Kasal.
52092
52093 2008-06-18  Bruno Haible  <bruno@clisp.org>
52094
52095         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52096         Reported by Eric Blake.
52097
52098 2008-06-18  Eric Blake  <ebb9@byu.net>
52099
52100         Work around cygwin 1.5.25 strsignal bug.
52101         * tests/test-strsignal.c: Allow for const char *.
52102         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52103
52104 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52105
52106         * users.txt: Update URL to article and add author/date
52107         information.
52108
52109 2008-06-17  Bruno Haible  <bruno@clisp.org>
52110
52111         New macro gl_DISABLE_THREADS.
52112         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52113         if the user did not pass --enable-threads or --disable-threads option.
52114         (gl_DISABLE_THREADS): New macro.
52115         Reported by Eric Blake <ebb9@byu.net>.
52116
52117 2008-06-17  Bruno Haible  <bruno@clisp.org>
52118
52119         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52120         when the macro ignores it.
52121         Based on a patch by Eric Blake <ebb9@byu.net>.
52122
52123 2008-06-17  Bruno Haible  <bruno@clisp.org>
52124
52125         * modules/tls (License): Change to LGPLv2+.
52126         Reported by Eric Blake.
52127
52128 2008-06-17  Eric Blake  <ebb9@byu.net>
52129
52130         Simplify c-stack prerequisites.
52131         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52132         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52133         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52134         check.
52135         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52136         <sys/resource.h>.
52137
52138         Move c-stack test into testsuite.
52139         * modules/c-stack-tests: New file.
52140         * lib/c-stack.c [DEBUG]: Move test program...
52141         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52142         fail test if sigaltstack is lacking.
52143         * tests/test-c-stack.sh: New driver file.
52144
52145 2008-06-16  Eric Blake  <ebb9@byu.net>
52146
52147         Use raise module consistently.
52148         * modules/fatal-signal (Depends-on): Add raise.
52149         * modules/sigprocmask (Depends-on): Likewise.
52150         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52151         * lib/sigprocmask.c (sigprocmask): Likewise.
52152         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52153         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52154
52155         Fix compliance bug in sigpending.
52156         * lib/sigprocmask.c (sigpending): Return pending array via
52157         parameter, not return value.
52158
52159 2008-06-14  Eric Blake  <ebb9@byu.net>
52160
52161         Improve obstack-printf test code.
52162         * tests/test-obstack-printf.c (test_function): Fix comment, and
52163         simplify usage of obstack_* in macros.  Add a test for coverage.
52164         Reported by Bruno Haible.
52165
52166 2008-06-14  Bruno Haible  <bruno@clisp.org>
52167
52168         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52169         array size as a constant, not as a const variable.
52170         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52171         AC_USE_SYSTEM_EXTENSIONS.
52172         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52173         Test whether the obstack_printf function actually exists.
52174         * modules/obstack-printf (Depends-on): Add extensions.
52175         (Include): Remove obstack.h.
52176         * modules/obstack-printf-posix (Depends-on): Add extensions.
52177         (Include): Remove obstack.h.
52178
52179 2008-06-13  Eric Blake  <ebb9@byu.net>
52180
52181         Add obstack-printf and obstack-printf-posix modules.
52182         * modules/obstack-printf: New file.
52183         * modules/obstack-printf-posix: Likewise.
52184         * MODULES.html.sh (Misc): Mention them.
52185         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52186         Likewise.
52187         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52188         Likewise.
52189         * modules/stdio (Makefile.am): Accomodate new modules.
52190         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52191         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
52192         Declare.
52193         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
52194         functions.
52195         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
52196         (gl_REPLACE_OBSTACK_PRINTF): New macros
52197         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
52198         * tests/test-obstack-printf.c: New file.
52199         * modules/obstack-printf-tests: Likewise.
52200         * modules/obstack-printf-posix-tests: Likewise.
52201
52202 2008-06-11  Bruno Haible  <bruno@clisp.org>
52203
52204         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
52205         * lib/open.c: Include errno.h.
52206         (open): Fail when attempting to write to a file that has a trailing
52207         slash.
52208         * tests/test-open.c (main): Test against trailing slash bug.
52209         * doc/posix-functions/open.texi: Mention the trailing slash bug.
52210
52211 2008-06-10  Bruno Haible  <bruno@clisp.org>
52212
52213         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
52214         for $? to work inside the trap command, with various /bin/sh-s.
52215         * tests/test-vc-list-files-cvs.sh: Likewise.
52216
52217 2008-06-10  Bruno Haible  <bruno@clisp.org>
52218
52219         * lib/acl-internal.h: Don't include gettext.h here.
52220         * lib/set-mode-acl.c: Include gettext.h here.
52221         * lib/copy-acl.c: Likewise.
52222
52223 2008-06-10  Bruno Haible  <bruno@clisp.org>
52224
52225         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
52226         * lib/wait-process.c (wait_subprocess): Likewise.
52227         * lib/execute.h (execute): Add termsigp argument.
52228         * lib/execute.c (execute): Likewise.
52229         * lib/csharpcomp.c (compile_csharp_using_pnet,
52230         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
52231         * lib/csharpexec.c (execute_csharp_using_pnet,
52232         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
52233         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
52234         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
52235         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
52236         is_jikes_present): Update.
52237         * lib/javaexec.c (execute_java_class): Update.
52238         * lib/javaversion.c (execute_and_read_line): Update.
52239         * NEWS: Document the changes.
52240         Reported by Eric Blake.
52241
52242 2008-06-10  Eric Blake  <ebb9@byu.net>
52243
52244         Add missing include.
52245         * tests/test-strstr.c (includes): Add <signal.h>.
52246         * tests/test-strcasestr.c (includes): Likewise.
52247         * tests/test-memmem.c (includes): Likewise.
52248
52249 2008-06-10  Bruno Haible  <bruno@clisp.org>
52250
52251         * lib/wait-process.c (wait_subprocess): Add an assertion.
52252
52253 2008-06-10  Bruno Haible  <bruno@clisp.org>
52254
52255         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
52256
52257 2008-06-10  Bruno Haible  <bruno@clisp.org>
52258
52259         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
52260         using alarm().
52261         * tests/test-strcasestr.c (main): Likewise.
52262         * tests/test-strstr.c (main): Likewise.
52263
52264 2008-06-09  Bruno Haible  <bruno@clisp.org>
52265
52266         Work around the Solaris 10 ACE ACLs ABI change.
52267         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
52268         declare if ACL_NO_TRIVIAL is present.
52269         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
52270         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
52271         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
52272         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
52273         define if ACL_NO_TRIVIAL is present.
52274         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
52275         and use the current ABI.
52276         (file_has_acl): Use same #if condition as elsewhere.
52277         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
52278         in use, and use the current ABI.
52279         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
52280         Reported by Jim Meyering.
52281
52282 2008-06-09  Eric Blake  <ebb9@byu.net>
52283
52284         Work around environments that (stupidly) ignore SIGALRM.
52285         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
52286         before using alarm().
52287         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52288         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52289         Reported by Ian Beckwith <ianb@erislabs.net>.
52290
52291         Produce autobuild blurb earlier in log.
52292         * modules/autobuild (configure.ac-early): Move AB_INIT here.
52293
52294 2008-06-09  Jim Meyering  <meyering@redhat.com>
52295         and OndÅ™ej Vašík  <ovasik@redhat.com>
52296
52297         utimens.c: correct kernel bug work-around
52298         OndÅ™ej Vašík found that the invalid return value of 280 indicates
52299         failure, not success, and the kernel bug we're trying to work
52300         around affects not just the utimensat call, but also the fallback
52301         futimens call.
52302         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
52303         not success.
52304         [HAVE_FUTIMENS]: Use the same work-around, here.
52305
52306 2008-06-09  Jim Meyering  <meyering@redhat.com>
52307
52308         add more guards around definition of ACE_-related code
52309         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
52310         ALLOW and ACE_OWNER are also defined.
52311
52312 2008-06-08  Bruno Haible  <bruno@clisp.org>
52313
52314         * lib/acl-internal.h: Add me as co-author.
52315         * lib/file-has-acl.c: Likewise.
52316         * lib/set-mode-acl.c: Likewise.
52317         * lib/copy-acl.c: Likewise.
52318
52319 2008-06-08  Bruno Haible  <bruno@clisp.org>
52320
52321         Add support for AIX ACLs.
52322         * lib/acl-internal.h (acl_nontrivial): New declaration.
52323         * lib/file-has-acl.c (acl_nontrivial): New function.
52324         (file_has_acl): Add implementation using AIX 4 ACL API.
52325         * lib/set-mode-acl.c (qset_acl): Likewise.
52326         * lib/copy-acl.c (qcopy_acl): Likewise.
52327
52328 2008-06-08  Bruno Haible  <bruno@clisp.org>
52329
52330         Add support for HP-UX ACLs.
52331         * lib/acl-internal.h (acl_nontrivial): New declaration.
52332         * lib/file-has-acl.c (acl_nontrivial): New function.
52333         (file_has_acl): Add implementation using HP-UX 11 ACL API.
52334         * lib/set-mode-acl.c (qset_acl): Likewise.
52335         * lib/copy-acl.c (qcopy_acl): Likewise.
52336
52337 2008-06-08  Bruno Haible  <bruno@clisp.org>
52338
52339         Add support for Cygwin ACLs.
52340         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
52341         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
52342         the chmod_or_fchmod call.
52343         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
52344
52345 2008-06-08  Bruno Haible  <bruno@clisp.org>
52346
52347         Fix bug with setuid modes in Solaris 10+ code.
52348         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
52349         succeeded, when the mode contains some special bits.
52350
52351 2008-06-08  Bruno Haible  <bruno@clisp.org>
52352
52353         Add support for Solaris 7..10 ACLs.
52354         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
52355         declarations.
52356         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
52357         functions.
52358         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
52359         * lib/set-mode-acl.c (qset_acl): Likewise.
52360         * lib/copy-acl.c (qcopy_acl): Likewise.
52361
52362 2008-06-08  Bruno Haible  <bruno@clisp.org>
52363
52364         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
52365         declaration.
52366         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
52367         (acl_access_nontrivial): Remove MacOS X case.
52368         (file_has_acl): Use acl_extended_nontrivial.
52369         * lib/copy-acl.c (qcopy_acl): Likewise.
52370
52371 2008-06-08  Bruno Haible  <bruno@clisp.org>
52372
52373         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
52374
52375 2008-06-08  Jim Meyering  <meyering@redhat.com>
52376
52377         * modules/acl (Maintainer): Add Bruno Haible.
52378
52379 2008-06-07  Bruno Haible  <bruno@clisp.org>
52380
52381         Improve support for Tru64 ACLs.
52382         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
52383         ACL on OSF/1.
52384
52385 2008-06-07  Bruno Haible  <bruno@clisp.org>
52386
52387         Add support for MacOS X ACLs.
52388         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
52389         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
52390         * lib/set-mode-acl.c (qset_acl): Likewise.
52391         * lib/copy-acl.c (qcopy_acl): Likewise.
52392
52393 2008-06-07  Bruno Haible  <bruno@clisp.org>
52394
52395         Fix memory leak introduced on 2008-05-22.
52396         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
52397         use.
52398
52399 2008-06-07  Bruno Haible  <bruno@clisp.org>
52400
52401         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
52402         to construct an empty ACL.
52403
52404 2008-06-07  Bruno Haible  <bruno@clisp.org>
52405
52406         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
52407         precisely.
52408         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
52409
52410 2008-06-07  Bruno Haible  <bruno@clisp.org>
52411
52412         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
52413         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
52414
52415 2008-06-07  Bruno Haible  <bruno@clisp.org>
52416
52417         * doc/posix-functions/_setjmp.texi: Explain the use of this function
52418         regardless of POSIX.
52419         * doc/posix-functions/_longjmp.texi: Likewise.
52420         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
52421         SystemV platform in this case.
52422
52423 2008-06-06  Eric Blake  <ebb9@byu.net>
52424
52425         Document abort() bugs.
52426         * doc/posix-functions/abort.texi (abort): Mention anomalies.
52427
52428         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
52429         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
52430         sigsetjmp.
52431         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
52432         siglongjmp, but only as a macro.
52433         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
52434         is obsolete.
52435         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
52436
52437         Tweak documentation to cover cygwin argz bugs.
52438         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
52439         argz bug fix; no code change needed since no cygwin releases
52440         occurred between the last fix and the bug being tested.
52441         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
52442         module and recently fixed cygwin bugs.
52443         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
52444         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
52445         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
52446         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
52447         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
52448         Likewise.
52449         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
52450         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
52451         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
52452         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
52453         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
52454         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
52455         Likewise.
52456
52457         Avoid gcc warning on cygwin.
52458         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
52459         !ACL_NO_TRIVIAL]: Avoid unused variable.
52460
52461 2008-06-05  Eric Blake  <ebb9@byu.net>
52462
52463         Be tolerant of UNKNOWN version in gnulib-tool test dir.
52464         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
52465         git-version-gen fails to come up with a version.
52466         Reported by Simon Josefsson.
52467
52468 2008-06-05  Jim Meyering  <meyering@redhat.com>
52469             Paul Eggert  <eggert@cs.ucla.edu>
52470
52471         utimens.c: work around a probable Linux kernel bug
52472         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
52473         appears to be a kernel bug that causes utimensat to return 280
52474         instead of 0, indicating success.
52475
52476 2008-06-04  Bruno Haible  <bruno@clisp.org>
52477
52478         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
52479         2008-06-01 commit.
52480
52481 2008-06-04  Bruno Haible  <bruno@clisp.org>
52482
52483         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
52484         * lib/file-has-acl.c (acl_access_nontrivial): New function.
52485         (file_has_acl): Use it. Save errno afterwards.
52486         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
52487
52488 2008-06-03  Bruno Haible  <bruno@clisp.org>
52489
52490         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
52491         draft code. Simplify #ifs.
52492         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
52493         Put Solaris code after POSIX-draft code. Fix comments regarding
52494         Solaris 10, HP-UX. Mention Cygwin.
52495         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
52496
52497 2008-06-03  Eric Blake  <ebb9@byu.net>
52498
52499         Provide fallback for older kernels.
52500         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
52501         Provide runtime fallback if kernel lacks support.
52502         Reported by Mike Frysinger.
52503
52504 2008-06-02  Bruno Haible  <bruno@clisp.org>
52505
52506         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
52507         it exists.
52508
52509 2008-06-02  Bruno Haible  <bruno@clisp.org>
52510
52511         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
52512         * lib/copy-acl.c (qcopy_acl): Update comment.
52513
52514 2008-06-02  Bruno Haible  <bruno@clisp.org>
52515
52516         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
52517         like ACL APIs.
52518
52519 2008-06-02  Bruno Haible  <bruno@clisp.org>
52520
52521         * tests/test-file-has-acl.sh: Use different code for Cygwin.
52522         * tests/test-set-mode-acl.sh: Likewise.
52523         * tests/test-copy-acl.sh: Likewise.
52524         * tests/test-copy-file.sh: Likewise.
52525
52526 2008-06-02  Bruno Haible  <bruno@clisp.org>
52527
52528         * tests/test-file-has-acl.sh: Remove unused code.
52529
52530 2008-06-01  Bruno Haible  <bruno@clisp.org>
52531
52532         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
52533         (copy_acl): Just a wrapper around qcopy_acl that emits the error
52534         messages.
52535         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
52536
52537 2008-06-01  Bruno Haible  <bruno@clisp.org>
52538
52539         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
52540         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
52541         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
52542         APIs.
52543         * modules/acl-tests (configure.ac): Remove tests now contained in
52544         m4/acl.m4.
52545
52546 2008-06-02  Jim Meyering  <meyering@redhat.com>
52547
52548         announce-gen: use a better key-server host name
52549         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
52550         it may be more consistently reliable.  Suggested by Werner Koch
52551         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
52552
52553 2008-06-01  Bruno Haible  <bruno@clisp.org>
52554
52555         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
52556         Reported by Voroskoi Andras <voroskoi@gmail.com>.
52557
52558 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
52559
52560         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
52561
52562 2008-06-01  Bruno Haible  <bruno@clisp.org>
52563
52564         New ACL tests.
52565         * tests/test-file-has-acl.sh: New file.
52566         * tests/test-file-has-acl.c: New file.
52567         * tests/test-set-mode-acl.sh: New file.
52568         * tests/test-set-mode-acl.c: New file.
52569         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
52570         * tests/test-copy-acl.c: New file.
52571         * modules/acl-tests: New file, based on modules/copy-file-tests.
52572         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
52573         (Depends-on): Add acl-tests.
52574         (configure.ac): Remove checks.
52575         (Makefile.am): Don't create test-sameacls program here any more.
52576
52577 2008-06-01  Bruno Haible  <bruno@clisp.org>
52578
52579         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
52580         * tests/test-sameacls.c: Include progname.h.
52581         (main): Invoke set_program_name. Portability fixes for MacOS X,
52582         Solaris, HP-UX.
52583
52584 2008-06-01  Bruno Haible  <bruno@clisp.org>
52585
52586         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
52587         function.
52588         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
52589
52590 2008-06-01  Bruno Haible  <bruno@clisp.org>
52591
52592         * modules/rpmatch (Depends-on): Add strdup.
52593
52594 2008-06-01  Bruno Haible  <bruno@clisp.org>
52595
52596         * lib/pipe.c: Include unistd-safer.h.
52597         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
52598         * modules/pipe (Depends-on): Add unistd-safer.
52599
52600 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52601
52602         * modules/autobuild (configure.ac): Call AB_INIT.
52603
52604 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52605
52606         * tests/test-getaddrinfo.c: Don't print debug messages by default.
52607         Suggested by Bruno Haible <bruno@clisp.org>.
52608
52609 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52610
52611         * tests/test-base64.c: Cast size_t to unsigned long when invoking
52612         printf.  Use %lu instead of %d.  Reported by Bruno Haible
52613         <bruno@clisp.org>.
52614
52615 2008-05-29  Eric Blake  <ebb9@byu.net>
52616
52617         Prefer new POSIX 200x interfaces over futimesat.
52618         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
52619         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
52620         when available.
52621         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
52622
52623 2008-05-28  Bruno Haible  <bruno@clisp.org>
52624
52625         * modules/stpcpy (License): Change to LGPLv2+.
52626         Requested by David Lutterkort <dlutter@redhat.com>.
52627
52628 2008-05-27  Bruno Haible  <bruno@clisp.org>
52629
52630         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
52631         current mingw.
52632         Reported by Jose E. Marchesi <jemarch@gnu.org>.
52633
52634 2008-05-27  Bruno Haible  <bruno@clisp.org>
52635
52636         * modules/iconv_open (Link): New section, from module 'iconv'.
52637         * modules/striconv (Link): Likewise.
52638         * modules/striconveh (Link): Likewise.
52639         * modules/xstriconv (Link): Likewise.
52640         * modules/unicodeio (Link): Likewise.
52641         * modules/propername (Link): Likewise.
52642         Reported by Jim Meyering.
52643
52644 2008-05-26  Jim Meyering  <meyering@redhat.com>
52645
52646         sha256: do not artificially restrict buffer length to be < 2^32
52647         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
52648         uint32_t to size_t.
52649         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
52650         to match.
52651
52652         avoid unaligned access errors, e.g., on sparc
52653         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
52654         direct access through a possibly-unaligned uint64* pointer.
52655         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
52656         direct access through a possibly-unaligned uint32* pointer.
52657         Prompted by this patch from Tom "spot" Callaway:
52658         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
52659
52660         sha512.c: fix typo in comment
52661         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
52662
52663 2008-05-25  Bruno Haible  <bruno@clisp.org>
52664
52665         * lib/set-mode-acl.c: Renamed from lib/acl.c.
52666         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
52667         (Makefile.am): Update lib_SOURCES.
52668
52669 2008-05-25  Bruno Haible  <bruno@clisp.org>
52670
52671         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
52672
52673 2008-05-25  Jim Meyering  <meyering@redhat.com>
52674
52675         useless-if-before-free: freed expr may have white-space differences
52676         * build-aux/useless-if-before-free: Recognize cases in which the
52677         freed expression differs from the tested one in embedded white
52678         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
52679         $1 was used, so we can't make any regexp shy.  Improved tests now
52680         detect this.
52681
52682         useless-if-before-free: accept white space in the expression.
52683         * build-aux/useless-if-before-free: For now, any white space
52684         in the expression must be identical in the free argument.
52685
52686         useless-if-before-free: efficiency tweak
52687         * build-aux/useless-if-before-free: Make the expression-matching
52688         regexp "shy".
52689         Make the *outer* regexp shy, not the expr-matching one.
52690
52691         update code-in-comment to accept cast of free arg
52692         * build-aux/useless-if-before-free: Update regexp.
52693
52694 2008-05-25  Bruno Haible  <bruno@clisp.org>
52695
52696         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
52697         * modules/copy-file-tests (Files, Makefile.am): Update.
52698         * tests/test-copy-file.c (func_test_copy): Update.
52699
52700 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
52701
52702         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
52703
52704 2008-05-23  Bruno Haible  <bruno@clisp.org>
52705
52706         Improve support for ACLs on OSF/1.
52707         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
52708         Remove fallback for unknown flavors of ACLs.
52709
52710 2008-05-22  Bruno Haible  <bruno@clisp.org>
52711
52712         Add support for ACLs on OSF/1.
52713         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
52714         replacements.
52715         (acl_free_text): New macro fallback.
52716         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
52717         acl_free.
52718         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
52719         acl_free_text function. Require AC_C_INLINE.
52720
52721 2008-05-22  Bruno Haible  <bruno@clisp.org>
52722
52723         Make copy_acl work on MacOS X 10.5.
52724         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
52725         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
52726         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
52727         If MODE_INSIDE_ACL, don't assume that every system has the same text
52728         representation for ACLs as FreeBSD.
52729         * lib/copy-acl.c (copy_acl): Add support for platforms with
52730         !MODE_INSIDE_ACL.
52731         * lib/file-has-acl.c (file_has_acl): Likewise.
52732         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
52733         FreeBSD, MacOS X, or IRIX, respectively.
52734
52735 2008-05-22  Bruno Haible  <bruno@clisp.org>
52736
52737         * lib/acl.h: Don't include <sys/acl.h>.
52738         (GETACLCNT): Move fallback to lib/acl-internal.h.
52739         * lib/acl-internal.h: Include <sys/acl.h> here.
52740         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
52741
52742 2008-05-22  Bruno Haible  <bruno@clisp.org>
52743
52744         Split off copy_acl function to separate file.
52745         * lib/copy-acl.c: New file, extracted from lib/acl.c.
52746         * lib/acl.c (copy_acl): Moved function to separate file.
52747         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
52748         * modules/acl (Files): Add lib/copy-acl.c.
52749         (Makefiles.am): Augment lib_SOURCES.
52750
52751 2008-05-22  Bruno Haible  <bruno@clisp.org>
52752
52753         * modules/copy-file-tests: New file.
52754         * tests/test-copy-file.sh: New file.
52755         * tests/test-copy-file.c: New file.
52756         * tests/test-copy-file-sameacls.c: New file.
52757
52758 2008-05-22  Eric Blake  <ebb9@byu.net>
52759
52760         Avoid gcc warning.
52761         * tests/test-memcmp.c (main): Pass NULL indirectly.
52762
52763 2008-05-21  Bruno Haible  <bruno@clisp.org>
52764
52765         Add reference doc about ACLs.
52766         * doc/acl-resources.txt: New file.
52767         * doc/acl-cygwin.txt: New file.
52768
52769 2008-05-21  Bruno Haible  <bruno@clisp.org>
52770
52771         Avoid one more warning from gcc.
52772         * lib/vasnprintf.c (IF_LINT): Update comments.
52773         (VASNPRINTF): Use it also for the 'prefix' array initializer.
52774
52775 2008-05-21  Jim Meyering  <meyering@redhat.com>
52776
52777         avoid a warning from gcc
52778         * lib/vasnprintf.c (IF_LINT): Define.
52779         (scale10_round_decimal_long_double):
52780         Use it to avoid a "may be used uninitialized" warning.
52781         (scale10_round_decimal_double): Likewise.
52782
52783 2008-05-21  Simon Josefsson  <simon@josefsson.org>
52784
52785         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
52786         declared.
52787
52788 2008-05-20  Bruno Haible  <bruno@clisp.org>
52789
52790         * tests/test-memcmp.c (main): Test also the sign of the result. Test
52791         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
52792
52793 2008-05-20  Simon Josefsson  <simon@josefsson.org>
52794
52795         * modules/memcmp-tests: New file.
52796         * tests/test-memcmp.c: New file.
52797
52798 2008-05-19  Bruno Haible  <bruno@clisp.org>
52799
52800         * modules/propername (Notice, configure.ac): Put quoted "..." into
52801         --keyword option.
52802         * lib/propername.h: Update comments accordingly.
52803         Reported by Eric Blake.
52804
52805 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
52806
52807         * modules/getpass-gnu (Depends-on): Add fseeko.
52808
52809 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52810
52811         * modules/base64-tests: New file.
52812
52813 2008-05-19  Bo Borgerson <gigabo@gmail.com>
52814
52815         * lib/base64.c (base64_decode_ctx): If a decode context structure
52816         was passed in use it to ignore newlines.  If a context structure
52817         was _not_ passed in, continue to treat newlines as garbage (this
52818         is the historical behavior).  Formerly base64_decode.
52819         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52820         takes a decode context structure.
52821         * lib/base64.h (base64_decode): Macro for four-argument calls.
52822         (base64_decode_alloc): Likewise.
52823         * lib/base64.c (base64_decode_ctx): If a decode context structure
52824         was passed in use it to ignore newlines.  If a context structure
52825         was _not_ passed in, continue to treat newlines as garbage (this
52826         is the historical behavior).  Formerly base64_decode.
52827         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52828         takes a decode context structure.
52829         * lib/base64.h (base64_decode): Macro for four-argument calls.
52830         (base64_decode_alloc): Likewise.
52831
52832 2008-05-19  Jim Meyering  <meyering@redhat.com>
52833
52834         avoid a warning from gcc
52835         * lib/trim.c (IF_LINT): Define.
52836         (trim2): Use it to avoid a "may be used uninitialized" warning.
52837
52838         Fix doc typo.
52839         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
52840
52841 2008-05-19  Bruno Haible  <bruno@clisp.org>
52842
52843         * doc/glibc-functions/getpass.texi: Document limits of other
52844         implementations.
52845
52846 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52847             Bruno Haible <bruno@clisp.org>
52848
52849         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
52850
52851 2008-05-18  Bruno Haible  <bruno@clisp.org>
52852
52853         * modules/propername: New file, from GNU gettext.
52854         * lib/propername.h: New file, from GNU gettext.
52855         * lib/propername.c: New file, from GNU gettext.
52856         * MODULES.html.sh (Internationalization functions): Add propername.
52857
52858 2008-05-16  Jim Meyering  <meyering@redhat.com>
52859             Bruno Haible  <bruno@clisp.org>
52860
52861         Avoid some warnings from "gcc -Wshadow".
52862         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
52863
52864 2008-05-15  Eric Blake  <ebb9@byu.net>
52865
52866         Extend previous patch to cygwin 1.7.0.
52867         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
52868         fast implementation in cygwin >= 1.7.0.
52869         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52870         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52871
52872 2008-05-15  Bruno Haible  <bruno@clisp.org>
52873
52874         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
52875         implementation in glibc >= 2.9.
52876         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52877         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52878
52879 2008-05-15  Bruno Haible  <bruno@clisp.org>
52880
52881         * MODULES.html.sh (Internationalization functions): Remove linebreak.
52882         (Unicode string functions): Add unilbrk/*.
52883         Reported by Karl Berry.
52884
52885 2008-05-15  Eric Blake  <ebb9@byu.net>
52886
52887         Fix violation of <stdbool.h> replacement in regex.
52888         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
52889         * lib/regexec.c (re_search_internal): Likewise.
52890         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
52891
52892 2008-05-15  Jim Meyering  <meyering@redhat.com>
52893
52894         avoid distracting test output when git or cvs is not found
52895         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
52896         * tests/test-vc-list-files-git.sh: Likewise.
52897
52898 2008-05-15  Eric Blake  <ebb9@byu.net>
52899
52900         Glibc finally accepted the memmem speedup code, bugzilla #5514.
52901         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
52902         glibc version.
52903         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
52904         * doc/posix-functions/strstr.texi (strstr): Likewise.
52905         * lib/str-two-way.h (MAX): Sychronize with glibc.
52906
52907 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
52908
52909         * lib/regcomp.c (optimize_utf8): Add a note on why we test
52910         opr.ctx_type.
52911         (calc_first): Initialize constraint field.
52912         (duplicate_node_closure): Use it instead of special casing ANCHORS.
52913         Fix grammar.
52914         (duplicate_node): Merge constraint field for all node types.
52915         (calc_eclosure_iter): Look at constraint field for all node types.
52916         * lib/regex_internal.c (create_cd_newstate): Don't look at
52917         opr.ctx_type.
52918
52919 2008-05-14  Bruno Haible  <bruno@clisp.org>
52920
52921         Help GCC to do better code generation.
52922         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
52923         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
52924         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
52925         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
52926         Declare with attribute 'malloc' if supported.
52927
52928 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
52929
52930         use "echo STR|wc -c" rather than unportable "expr length STR"
52931         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
52932         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
52933
52934 2008-05-14  Jim Meyering  <meyering@redhat.com>
52935
52936         use dd ibs=$n count=1 ... rather than less-portable head -c$n
52937         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
52938         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
52939         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
52940         via Collin Lasse.
52941
52942 2008-05-14  Eric Blake  <ebb9@byu.net>
52943
52944         Avoid quadratic growth in gl_LIBSOURCES.
52945         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
52946         Suggested by Bruno Haible.
52947
52948         Test xmemdup0.
52949         * modules/xmemdup0-tests: New file.
52950         * tests/test-xmemdup0.c: Likewise.
52951
52952 2008-05-13  Eric Blake  <ebb9@byu.net>
52953
52954         Split xmemdup0 into its own module.
52955         * modules/xmemdup0: New file.
52956         * lib/xmemdup0.h: Likewise.
52957         * lib/xmemdup0.c: Likewise.
52958         * MODULES.html.sh (Memory management functions): Add xmemdup0.
52959         * lib/xalloc.h (xmemdup0): Remove.
52960         * lib/xmalloc.c (xmemdup0): Likewise.
52961
52962 2008-05-13  Eric Blake  <ebb9@byu.net>
52963             Bruno Haible  <bruno@clisp.org>
52964
52965         Reduce number of forks required during autoconf.
52966         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
52967         and gl_LIBSOURCES_DIR.
52968         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
52969         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
52970         m4_syscmd per file.
52971         <m4_foreach_w>: Move...
52972         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
52973
52974 2008-05-13  Eric Blake  <ebb9@byu.net>
52975
52976         * gnulib-tool: Fix various comment typos.
52977
52978 2008-05-12  Bruno Haible  <bruno@clisp.org>
52979
52980         Tailor the linebreaking algorithm.
52981         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
52982
52983 2008-05-12  Bruno Haible  <bruno@clisp.org>
52984
52985         Update to Unicode 5.0.0.
52986         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52987         LBP_JV, LBP_JT. Redistribute values.
52988         (unilbrk_table): Change size.
52989         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
52990         Unicode TR#14 rev. 22.
52991         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52992         LBP_JV, LBP_JT. Redistribute values.
52993         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
52994         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
52995         Update.
52996         * lib/unilbrk/lbrkprop1.h: Regenerated.
52997         * lib/unilbrk/lbrkprop2.h: Regenerated.
52998         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
52999         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53000         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53001         Likewise.
53002         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53003         Likewise.
53004         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53005         result.
53006         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53007         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53008         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53009         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53010         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53011         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53012
53013 2008-05-11  Bruno Haible  <bruno@clisp.org>
53014
53015         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53016
53017 2008-05-11  Bruno Haible  <bruno@clisp.org>
53018
53019         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53020         * modules/unilbrk/gen-lbrk: New file.
53021
53022 2008-05-11  Bruno Haible  <bruno@clisp.org>
53023
53024         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53025         * m4/sha512.m4 (gl_SHA512): Likewise.
53026
53027 2008-05-11  Jim Meyering  <meyering@redhat.com>
53028
53029         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53030         * modules/crypto/sha256: New file.
53031         * modules/crypto/sha512: Likewise.
53032         * lib/sha256.c: Likewise.
53033         * lib/sha256.h: Likewise.
53034         * lib/sha512.c: Likewise.
53035         * lib/sha512.h: Likewise.
53036         * lib/u64.h: Likewise.
53037         * m4/sha256.m4: Likewise.
53038         * m4/sha512.m4: Likewise.
53039         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53040
53041 2008-05-10  Bruno Haible  <bruno@clisp.org>
53042
53043         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53044         (Input/Output <stdio.h>): Add xprintf.
53045         (Signal handling <signal.h>): Add strsignal.
53046         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53047         (Core language properties): Add func.
53048         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53049         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53050         strings.
53051         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53052         (Input/output): New section.
53053         (File system functions): Add openat-die, stat-macros.
53054         (Networking functions): Add sockets.
53055         (Unicode string functions): Add unictype/*.
53056         (Support for building libraries and executables): Add gperf.
53057         (Support for building documentation): Add agpl-3.0.
53058         (Misc): Add nocrash.
53059
53060 2008-05-10  Bruno Haible  <bruno@clisp.org>
53061
53062         * modules/unictype/gen-ctype: New file.
53063
53064 2008-05-10  Jim Meyering  <meyering@redhat.com>
53065
53066         Make chdir-safer.c more efficient on a system with no symlinks.
53067         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53068         also if ELOOP is zero.  Suggested by Bruno Haible.
53069
53070         Make chdir-safer.c slightly safer.
53071         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53072         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53073
53074         Avoid compile failure on systems without ELOOP (like mingw).
53075         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53076         Reported by Bruno Haible.
53077
53078 2008-05-10  Bruno Haible  <bruno@clisp.org>
53079
53080         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53081         (is_utf8_encoding): Use a case-insensitive comparison.
53082         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53083         streq.
53084
53085 2008-05-10  Bruno Haible  <bruno@clisp.org>
53086
53087         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53088         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53089         * lib/unilbrk/ulc-common.h (iconv_string_length,
53090         iconv_string_keeping_offsets): Remove declarations.
53091         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53092         Don't include <iconv.h>, streq.h, xsize.h.
53093         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53094         conversion.
53095         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53096         <iconv.h>, streq.h, xsize.h.
53097         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53098         conversion.
53099         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53100         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53101         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53102         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53103
53104 2008-05-10  Bruno Haible  <bruno@clisp.org>
53105
53106         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53107         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53108
53109         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53110         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53111
53112         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53113         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53114
53115         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53116         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53117
53118         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53119         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53120
53121         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53122         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53123
53124         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53125         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53126
53127         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53128         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53129
53130 2008-05-10  Bruno Haible  <bruno@clisp.org>
53131
53132         Split up 'linebreak' module.
53133         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53134         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53135         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53136         modifications.
53137         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53138         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53139         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53140         lib/linebreak.c.
53141         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53142         lib/linebreak.c.
53143         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53144         lib/linebreak.c.
53145         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53146         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53147         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53148         lib/linebreak.c.
53149         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53150         lib/linebreak.c.
53151         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53152         lib/linebreak.c.
53153         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53154         lib/linebreak.c.
53155         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
53156         lib/linebreak.c.
53157         * modules/unilbrk/base: New file.
53158         * modules/unilbrk/tables: New file.
53159         * modules/unilbrk/u8-possible-linebreaks: New file.
53160         * modules/unilbrk/u16-possible-linebreaks: New file.
53161         * modules/unilbrk/u32-possible-linebreaks: New file.
53162         * modules/unilbrk/ulc-common: New file.
53163         * modules/unilbrk/ulc-possible-linebreaks: New file.
53164         * modules/unilbrk/u8-width-linebreaks: New file.
53165         * modules/unilbrk/u16-width-linebreaks: New file.
53166         * modules/unilbrk/u32-width-linebreaks: New file.
53167         * modules/unilbrk/ulc-width-linebreaks: New file.
53168         * lib/linebreak.h: Remove file.
53169         * lib/linebreak.c: Remove file.
53170         * m4/linebreak.m4: Remove file.
53171         * modules/linebreak: Remove file.
53172         * NEWS: Mention the changes.
53173
53174 2008-05-09  Eric Blake  <ebb9@byu.net>
53175
53176         Add xmemdup0.
53177         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53178         implementation.
53179         * lib/xmalloc.c (xmemdup0): New C implementation.
53180
53181 2008-05-08  Bruno Haible  <bruno@clisp.org>
53182
53183         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53184
53185 2008-05-07  Eric Blake  <ebb9@byu.net>
53186
53187         Support cross-compilation of <wctype.h>.
53188         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
53189         AC_CACHE_CHECK.
53190
53191 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
53192
53193         * build-aux/vc-list-files: Add support for bzr.
53194
53195 2008-05-03  Jim Meyering  <meyering@redhat.com>
53196
53197         avoid failed assertion with tight malloc
53198         * tests/test-getndelim2.c: Correct an off-by-one assertion.
53199
53200 2008-05-03  Simon Josefsson  <simon@josefsson.org>
53201
53202         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
53203         are needed from arpa/inet.h.
53204         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
53205         Reported by Bruno Haible.
53206
53207 2008-05-02  Jim Meyering  <meyering@redhat.com>
53208
53209         avoid compilation error on FreeBSD 6
53210         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
53211
53212 2008-05-01  Jim Meyering  <meyering@redhat.com>
53213
53214         useless-if-before-free: correct --help's exit status description
53215         * build-aux/useless-if-before-free (usage): Like grep, exit 0
53216         for one or more matches, etc.  Reported by Bruno Haible.
53217
53218         vc-list-files: make the stand-alone gnulib test work
53219         * modules/vc-list-files-tests (configure.ac):
53220         Define and AC_SUBST abs_aux_dir.
53221         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
53222         $(abs_top_srcdir) to each script and having each of them
53223         duplicate the work of setting PATH, set PATH here, using
53224         the new variable, abs_aux_dir instead.
53225         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
53226         * tests/test-vc-list-files-git.sh: Likewise.
53227         Reported by Bruno Haible.
53228
53229 2008-05-01  Bruno Haible  <bruno@clisp.org>
53230
53231         * lib/getndelim2.c (getndelim2): Fix newsize computation during
53232         reallocation. Rename 'done' to 'found_delimiter'.
53233
53234 2008-05-01  Jim Meyering  <meyering@redhat.com>
53235
53236         vc-list-files: accommodate /bin/sh like the one from Solaris 10
53237         * build-aux/vc-list-files: Use `...`, not $(...).
53238
53239 2008-04-30  Jim Meyering  <meyering@redhat.com>
53240
53241         add tests for vc-list-files
53242         * modules/vc-list-files-tests: New module.
53243         * tests/test-vc-list-files-cvs.sh: New file.
53244         * tests/test-vc-list-files-git.sh: New file.
53245
53246         avoid a warning from gcc
53247         * lib/getndelim2.c (IF_LINT): Define.
53248         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
53249
53250         vc-list-files: work properly with build-aux/cvsu, too
53251         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
53252         to all cvs-based clauses.
53253
53254         vc-list-files: work properly in the CVS+awk case, too
53255         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
53256
53257         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
53258         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
53259         take more than one file argument, so .  Add quotes, just in case $dir
53260         ever contains a shell meta-character.  Prompted by Soren Hansen in
53261         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
53262
53263 2008-04-29  Eric Blake  <ebb9@byu.net>
53264
53265         Optimize getndelim2 to use block operations when possible.
53266         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
53267         freadseek, and memchr2.
53268         * lib/getndelim2.c (getndelim2): Use them for block reads.
53269
53270 2008-04-29  Bruno Haible  <bruno@clisp.org>
53271
53272         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
53273         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53274         * modules/inet_ntop (Depends-on): Add extensions.
53275         * modules/inet_pton (Depends-on): Likewise.
53276         Reported by Simon Josefsson.
53277
53278 2008-04-29  Jim Meyering  <meyering@redhat.com>
53279
53280         When the is more than one match in a block, match all of them.
53281         * build-aux/useless-if-before-free: Iterate through each block
53282         until there are no more matches.
53283
53284         Fix broken useless-if-before-free script.
53285         * build-aux/useless-if-before-free: Fix typo: missing "?" after
53286         the expression to match cast of argument to free-like function.
53287
53288 2008-04-29  Eric Blake  <ebb9@byu.net>
53289
53290         Use new header.
53291         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
53292
53293 2008-04-29  Jim Meyering  <meyering@redhat.com>
53294
53295         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
53296         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
53297         by gnulib to exist and to declare e.g., inet_ntop.
53298         Don't include "inet_ntop.h", now removed.
53299
53300         * m4/arpa_inet_h.m4: Remove trailing blanks.
53301
53302 2008-04-29  Eric Blake  <ebb9@byu.net>
53303
53304         Silence valgrind on safe reads beyond potential array bounds.
53305         * lib/rawmemchr.valgrind: New file.
53306         * lib/strchrnul.valgrind: Likewise.
53307         * modules/rawmemchr (Files): Distribute new file.
53308         * modules/strchrnul (Files): Likewise.
53309         Suggested by Bruno Haible.
53310
53311 2008-04-29  Bruno Haible  <bruno@clisp.org>
53312
53313         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
53314         (inet_ntop, inet_pton): Change portability warning's wording.
53315         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
53316         Invoke gl_CHECK_NEXT_HEADERS.
53317         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
53318         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
53319         set ARPA_INET_H.
53320         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53321         * modules/arpa_inet (Description): No longer only for systems that
53322         lack it.
53323         (Depends-on): Add include_next.
53324         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
53325         HAVE_ARPA_INET_H.
53326
53327 2008-04-29  Jim Meyering  <meyering@redhat.com>
53328
53329         * modules/mkdir (License): Re-license as LGPLv2+.
53330
53331 2008-04-29  Bruno Haible  <bruno@clisp.org>
53332
53333         * modules/rawmemchr (Maintainer): Set to Eric.
53334         * modules/strchrnul (Maintainer): Likewise.
53335
53336 2008-04-29  Simon Josefsson  <simon@josefsson.org>
53337
53338         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
53339         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
53340
53341         * modules/arpa_inet (arpa/inet.h): Use them.
53342
53343 2008-04-28  Eric Blake  <ebb9@byu.net>
53344
53345         Test getndelim2.
53346         * modules/getndelim2-tests: New file.
53347         * tests/test-getndelim2.c: Likewise.
53348         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
53349         stream.
53350         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
53351
53352         * MODULES.html.sh: Document new module.
53353
53354 2008-04-20  Bruno Haible  <bruno@clisp.org>
53355
53356         * lib/c-stack.c (die): Use raise.
53357         * modules/c-stack (Depends-on): Add raise.
53358
53359 2008-04-28  Bruno Haible  <bruno@clisp.org>
53360
53361         Expect rpmatch to be declared.
53362         * lib/yesno.c (rpmatch): Remove declaration.
53363
53364         Declare rpmatch.
53365         * lib/stdlib.in.h (rpmatch): New declaration.
53366         * lib/rpmatch.c: Include <stdlib.h> first.
53367         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
53368         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
53369         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
53370         HAVE_RPMATCH.
53371         * modules/rpmatch (Depends-on): Add stdlib, extensions.
53372         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53373         (Include): Set to <stdlib.h>.
53374         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
53375         HAVE_RPMATCH.
53376         * NEWS: Document the change.
53377
53378 2008-04-28  Bruno Haible  <bruno@clisp.org>
53379
53380         Change rpmatch to use nl_langinfo when appropriate.
53381         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
53382         (N_): New macro.
53383         (localized_pattern): New function/macro.
53384         (try): Remove match, nomatch arguments. Copy the pattern into safe
53385         memory before caching it.
53386         (rpmatch): Use localized_pattern. Add translator comments.
53387         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
53388         Suggested by Eric Blake.
53389         * modules/rpmatch (Depends-on): Add stdbool.
53390
53391 2008-04-28  Eric Blake  <ebb9@byu.net>
53392
53393         Add rawmemchr module, matching glibc.
53394         * modules/string (Makefile.am): New indicator.
53395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
53396         * lib/string.in.h (rawmemchr): Declare when appropriate.
53397         * modules/rawmemchr: New file.
53398         * m4/rawmemchr.m4: Likewise.
53399         * lib/rawmemchr.c: Likewise.
53400         * modules/rawmemchr-tests: Likewise.
53401         * tests/test-rawmemchr.c: Likewise.
53402         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
53403         module.
53404         * modules/strchrnul (Depends-on): Add rawmemchr.
53405         * lib/strchrnul.c (strchrnul): Optimize a corner case.
53406
53407         Whitespace cleanup.
53408         * tests/test-strchrnul.c: Reindent.
53409         * lib/strchrnul.c: Likewise.
53410
53411         Optimize and test strchrnul.
53412         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
53413         * modules/strchrnul-tests: New file.
53414         * tests/test-strchrnul.c: Likewise.
53415
53416         Remove intprops dependency.
53417         * modules/memchr (Depends-on): Remove intprops.
53418         * modules/memrchr (Depends-on): Likewise.
53419         * modules/memchr2 (Depends-on): Likewise.
53420         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
53421         * lib/memrchr.c (__memrchr): Likewise.
53422         * lib/memrchr2.c (memchr2): Likewise.
53423         Reported by Simon Josefsson.
53424
53425 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53426
53427         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
53428         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53429
53430 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53431
53432         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
53433
53434         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
53435
53436         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
53437
53438         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
53439         declarations.
53440         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
53441
53442         * m4/inet_pton.m4: Don't check for header files.
53443
53444         * m4/inet_ntop.m4: Don't check for header files.
53445
53446 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53447
53448         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
53449         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
53450         trigger for cygwin).
53451         Reported by Bruno Haible  <bruno@clisp.org>.
53452
53453 2008-04-28  Bruno Haible  <bruno@clisp.org>
53454
53455         * doc/posix-functions/strdup.texi: Mention mingw problem.
53456
53457 2008-04-27  Bruno Haible  <bruno@clisp.org>
53458
53459         * modules/stat-time-tests (Depends-on): Add sleep.
53460         * tests/test-stat-time.c (force_unlink): New function.
53461         (cleanup): Use it.
53462         (test_mtime): Remove the ctime related tests.
53463         (test_ctime): New function, containing the ctime related tests.
53464         (main): Call test_ctime, except on native Windows platforms.
53465
53466 2008-04-27  Bruno Haible  <bruno@clisp.org>
53467
53468         * lib/rpmatch.c (rpmatch): Add some comments.
53469         Reported by James Youngman <jay@gnu.org>.
53470
53471 2008-04-27  Bruno Haible  <bruno@clisp.org>
53472
53473         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
53474         quiet NaNs.
53475
53476 2008-04-27  Bruno Haible  <bruno@clisp.org>
53477
53478         Make test-yesno.sh work on mingw.
53479         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
53480         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
53481         (main): Set stdin to binary mode.
53482         * modules/yesno-tests (Depends-on): Add binary-io.
53483
53484 2008-04-27  Bruno Haible  <bruno@clisp.org>
53485
53486         Fix 'isfinite' on x86, x86_64, ia64 platforms.
53487         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
53488         argument that lie outside the IEEE 854 domain.
53489         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
53490         (gl_ISFINITE): Use it.
53491         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
53492
53493 2008-04-27  Bruno Haible  <bruno@clisp.org>
53494
53495         Allow local renaming in config.h.
53496         * lib/memrchr.c (memrchr): Don't undefine outside libc.
53497
53498 2008-04-27  Bruno Haible  <bruno@clisp.org>
53499
53500         * lib/memchr.c (__memchr): Change type of 'i'.
53501         * lib/memchr2.c (memchr2): Likewise.
53502
53503 2008-04-26  Eric Blake  <ebb9@byu.net>
53504         and Bruno Haible  <bruno@clisp.org>
53505
53506         Optimize and test memrchr.
53507         * modules/memrchr (Depends-on): Add intprops.
53508         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
53509         * modules/memrchr-tests: New file.
53510         * tests/test-memrchr.c: New file.
53511
53512 2008-04-26  Bruno Haible  <bruno@clisp.org>
53513
53514         Add tentative support for DragonFly BSD.
53515         * lib/stdio-impl.h: Add macros for DragonFly BSD.
53516         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
53517         fp.
53518         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53519         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
53520         * lib/fpurge.c (fpurge): Likewise.
53521         * lib/freadable.c (freaadable): Likewise.
53522         * lib/freadahead.c (freadahead): Likewise.
53523         * lib/freading.c (freading): Likewise.
53524         * lib/freadptr.c (freadptr): Likewise.
53525         * lib/freadseek.c (freadptrinc): Likewise.
53526         * lib/fseeko.c (fseeko): Likewise.
53527         * lib/fseterr.c (fseterr): Likewise.
53528         * lib/fwritable.c (fwritable): Likewise.
53529         * lib/fwriting.c (fwriting): Likewise.
53530
53531 2008-04-26  Bruno Haible  <bruno@clisp.org>
53532
53533         * lib/stdio-impl.h: New file.
53534         * lib/fbufmode.c: Include stdio-impl.h.
53535         (fbufmode): Use fp_, remove redundant #defines.
53536         * lib/fflush.c: Include stdio-impl.h.
53537         (clear_ungetc_buffer): Remove redundant #defines.
53538         * lib/fpurge.c: Include stdio-impl.h.
53539         (fpurge): Remove redundant #defines.
53540         * lib/freadable.c: Include stdio-impl.h.
53541         (freadable): Remove redundant #defines.
53542         * lib/freadahead.c: Include stdio-impl.h.
53543         (freadahead): Remove redundant #defines.
53544         * lib/freading.c: Include stdio-impl.h.
53545         (freading): Remove redundant #defines.
53546         * lib/freadptr.c: Include stdio-impl.h.
53547         (freadptr): Remove redundant #defines.
53548         * lib/freadseek.c: Include stdio-impl.h.
53549         (freadptrinc): Remove redundant #defines.
53550         * lib/fseeko.c: Include stdio-impl.h.
53551         (rpl_fseeko): Remove redundant #defines.
53552         * lib/fseterr.c: Include stdio-impl.h.
53553         (fseterr): Remove redundant #defines.
53554         * lib/fwritable.c: Include stdio-impl.h.
53555         (fwritable: Remove redundant #defines.
53556         * lib/fwriting.c: Include stdio-impl.h.
53557         (fwriting): Remove redundant #defines.
53558         * modules/fbufmode (Files): Add lib/stdio-impl.h.
53559         * modules/fflush (Files): Likewise.
53560         * modules/fpurge (Files): Likewise.
53561         * modules/freadable (Files): Likewise.
53562         * modules/freadahead (Files): Likewise.
53563         * modules/freading (Files): Likewise.
53564         * modules/freadptr (Files): Likewise.
53565         * modules/freadseek (Files): Likewise.
53566         * modules/fseeko (Files): Likewise.
53567         * modules/fseterr (Files): Likewise.
53568         * modules/fwritable (Files): Likewise.
53569         * modules/fwriting (Files): Likewise.
53570
53571 2008-04-26  Bruno Haible  <bruno@clisp.org>
53572
53573         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53574         restore_seek_optimization, update_fpos_cache): New functions, extracted
53575         from rpl_fflush.
53576         (rpl_fflush): Use them.
53577         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
53578         (gl_REPLACE_FFLUSH): Use it.
53579
53580 2008-04-26  Bruno Haible  <bruno@clisp.org>
53581
53582         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
53583         on Solaris.
53584         * tests/test-xstrtoimax.sh: Likewise.
53585         * tests/test-xstrtoumax.sh: Likewise.
53586         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53587
53588 2008-04-26  Bruno Haible  <bruno@clisp.org>
53589
53590         * modules/memchr-tests: New file.
53591         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
53592
53593 2008-04-26  Eric Blake  <ebb9@byu.net>
53594             Bruno Haible  <bruno@clisp.org>
53595
53596         * lib/memchr.c: Include intprops.h.
53597         (__memchr): Optimize parallel detection of matching bytes. Rename local
53598         variables. Add explanatory comments.
53599
53600 2008-04-26  Bruno Haible  <bruno@clisp.org>
53601
53602         Fix module 'memchr', broken since 2000-10-28.
53603         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
53604
53605 2008-04-26  Bruno Haible  <bruno@clisp.org>
53606
53607         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
53608         comments.
53609
53610 2008-04-25  Eric Blake  <ebb9@byu.net>
53611
53612         Use native fstatat on cygwin 1.7.0.
53613         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
53614         first.
53615
53616 2008-04-23  Eric Blake  <ebb9@byu.net>
53617
53618         Improve memchr2 performance.
53619         * lib/memchr2.c (memchr2): Further optimize parallel detection of
53620         NUL bytes.
53621         * modules/memchr2 (Depends-on): Use intprops.h.
53622
53623 2008-04-23  Simon Josefsson  <simon@josefsson.org>
53624
53625         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
53626         an inline function instead of a CPP macro.  Patch by Ben Pfaff
53627         <blp@cs.stanford.edu>.
53628
53629 2008-04-23  Simon Josefsson  <simon@josefsson.org>
53630
53631         * lib/arpa_inet.in.h: New file.
53632
53633         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
53634         (Makefile.am): Sed in substitute header file.
53635
53636         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
53637         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
53638
53639         * modules/inet_ntop (configure.ac): Use
53640         gl_ARPA_INET_MODULE_INDICATOR.
53641
53642         * modules/inet_pton (configure.ac): Use
53643         gl_ARPA_INET_MODULE_INDICATOR.
53644
53645 2008-04-22  Jim Meyering  <meyering@redhat.com>
53646
53647         * modules/verify (License): Re-license as LGPLv2+.
53648
53649 2008-04-22  Simon Josefsson  <simon@josefsson.org>
53650
53651         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
53652         parameter to void* as per POSIX standard (MinGW uses char*).
53653
53654 2008-04-21  Bruno Haible  <bruno@clisp.org>
53655
53656         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
53657         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
53658         Define to replacements if REPLACE_ISWCNTRL is 1.
53659         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
53660         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
53661         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
53662         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
53663         what it fixes.
53664         * doc/posix-functions/iswalpha.texi: Likewise.
53665         * doc/posix-functions/iswblank.texi: Likewise.
53666         * doc/posix-functions/iswcntrl.texi: Likewise.
53667         * doc/posix-functions/iswdigit.texi: Likewise.
53668         * doc/posix-functions/iswgraph.texi: Likewise.
53669         * doc/posix-functions/iswlower.texi: Likewise.
53670         * doc/posix-functions/iswprint.texi: Likewise.
53671         * doc/posix-functions/iswpunct.texi: Likewise.
53672         * doc/posix-functions/iswspace.texi: Likewise.
53673         * doc/posix-functions/iswupper.texi: Likewise.
53674         * doc/posix-functions/iswxdigit.texi: Likewise.
53675         Reported by Alain Guibert.
53676
53677 2008-04-21  Bruno Haible  <bruno@clisp.org>
53678
53679         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
53680         Patch by Alain Guibert.
53681
53682 2008-04-21  Bruno Haible  <bruno@clisp.org>
53683
53684         Fix test failures on mingw.
53685         * tests/test-xstrtol.c (print_no_progname): New function.
53686         (main): Install it in error_print_progname hook.
53687         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
53688         * tests/test-xstrtoimax.sh: Likewise.
53689         * tests/test-xstrtoumax.sh: Likewise.
53690
53691 2008-04-21  Bruno Haible  <bruno@clisp.org>
53692
53693         Fix test failure on mingw.
53694         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
53695
53696 2008-04-21  Bruno Haible  <bruno@clisp.org>
53697
53698         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
53699         Actually assign a value.
53700
53701 2008-04-20  Bruno Haible  <bruno@clisp.org>
53702
53703         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
53704         take 2.
53705         * lib/canonicalize.c (canonicalize_file_name): Elide if the
53706         'canonicalize-lgpl' module is also used.
53707         * lib/canonicalize-lgpl.c: Undo last change.
53708         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
53709
53710 2008-04-20  Bruno Haible  <bruno@clisp.org>
53711
53712         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
53713         config.h. Provide _mkdir based fallback for mingw.
53714         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
53715         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
53716         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
53717         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
53718         rather than defining mkdir in config.h.
53719         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
53720         (gl_SYS_STAT_H_DEFAULTS): New macro.
53721         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
53722         HAVE_IO_H any more.
53723         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
53724         HAVE_DECL_MKDIR and HAVE_IO_H.
53725
53726 2008-04-20  Bruno Haible  <bruno@clisp.org>
53727
53728         * lib/isapipe.c: Port to native Windows platforms.
53729
53730 2008-04-20  Bruno Haible  <bruno@clisp.org>
53731
53732         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
53733
53734 2008-04-21  Eric Blake  <ebb9@byu.net>
53735
53736         Work around preprocessors that don't handle UINTMAX_MAX.
53737         * lib/memchr2.c (memchr2): Avoid embedded #if.
53738         Reported by Alain Guibert, fix suggested by Bruno Haible.
53739
53740 2008-04-21  Simon Josefsson  <simon@josefsson.org>
53741
53742         * doc/posix-functions/strftime.texi (strftime): Explain better
53743         Windows incompatibility.  Suggested by Micah Cowan
53744         <micah@cowan.name>.
53745
53746 2008-04-20  Bruno Haible  <bruno@clisp.org>
53747
53748         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
53749         unistr/u8-mblen.
53750
53751 2008-04-20  Bruno Haible  <bruno@clisp.org>
53752
53753         Fix test failure on platforms with non-GNU iconv.
53754         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
53755         (U_TO_U8): Use it, rather than u16_to_u8.
53756         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
53757         units at the end of the input string.
53758         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
53759
53760 2008-04-20  Bruno Haible  <bruno@clisp.org>
53761
53762         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
53763         when the resulting length is 0.
53764         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
53765
53766 2008-04-20  Bruno Haible  <bruno@clisp.org>
53767
53768         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
53769         works.
53770         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
53771
53772 2008-04-20  Bruno Haible  <bruno@clisp.org>
53773
53774         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
53775         * modules/tsearch-tests (configure.ac): Test for initstate function.
53776
53777 2008-04-20  Bruno Haible  <bruno@clisp.org>
53778
53779         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
53780         for nlink_t if missing.
53781         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
53782
53783 2008-04-19  Bruno Haible  <bruno@clisp.org>
53784
53785         Work around snprintf bug on Linux libc5.
53786         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
53787         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53788         gl_SNPRINTF_SIZE1.
53789         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53790         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
53791         that test failed.
53792         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
53793         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
53794         * modules/snprintf (Files): Add m4/printf.m4.
53795         * modules/vsnprintf (Files): Likewise.
53796         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
53797         * doc/posix-functions/vsnprintf.texi: Likewise.
53798
53799 2008-04-19  Bruno Haible  <bruno@clisp.org>
53800
53801         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
53802         from 0.0058 to less than 10^-7.
53803
53804 2008-04-19  Bruno Haible  <bruno@clisp.org>
53805
53806         Fix rounding when a precision is given.
53807         * lib/vasnprintf.c (is_borderline): New function.
53808         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
53809         9...9x.
53810         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
53811         %e, %g.
53812         * tests/test-vasprintf-posix.c (test_function): Likewise.
53813         * tests/test-snprintf-posix.h (test_function): Likewise.
53814         * tests/test-sprintf-posix.h (test_function): Likewise.
53815         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
53816         * tests/test-printf-posix.h (test_function): Likewise.
53817         * tests/test-printf-posix.output: Update.
53818         Reported by John Darrington <john@darrington.wattle.id.au> via
53819         Ben Pfaff <blp@cs.stanford.edu>.
53820
53821 2008-04-18  Simon Josefsson  <simon@josefsson.org>
53822
53823         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
53824         Suggested by Bruno Haible <bruno@clisp.org>.
53825
53826 2008-04-17  Bruno Haible  <bruno@clisp.org>
53827
53828         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
53829         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
53830         implementation.
53831         Patch by Bruce Merry <bmerry@gmail.com>.
53832
53833 2008-04-17  Simon Josefsson  <simon@josefsson.org>
53834
53835         * doc/posix-functions/strftime.texi (strftime): Mention that %e
53836         doesn't work under Windows.
53837
53838 2008-04-16  Bruno Haible  <bruno@clisp.org>
53839
53840         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
53841         New macros.
53842         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
53843         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
53844         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
53845         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
53846         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
53847         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
53848         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
53849         macros.
53850         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
53851         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
53852         Northern Sotho, Uighur.
53853
53854 2008-04-16  Bruno Haible  <bruno@clisp.org>
53855
53856         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
53857         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
53858         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
53859         Reported by Daniel Bergström <daniel@octocode.com>.
53860
53861 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
53862             Bruno Haible  <bruno@clisp.org>
53863
53864         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
53865         function.
53866         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
53867         New functions, mostly extracted from gl_locale_name_default.
53868         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
53869
53870 2008-04-16  Eric Blake  <ebb9@byu.net>
53871
53872         Adjust strtod detection to catch glibc 2.7 bug.
53873         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
53874         Reported by John Gatewood Ham.
53875
53876 2008-04-16  Bruno Haible  <bruno@clisp.org>
53877
53878         Add tentative support for Linux libc5.
53879         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
53880         * lib/fpurge.c (fpurge): Likewise.
53881         * lib/freadable.c (freadable): Likewise.
53882         * lib/freadahead.c (freadahead): Likewise.
53883         * lib/freading.c (freading): Likewise.
53884         * lib/freadptr.c (freadptr): Likewise.
53885         * lib/freadseek.c (freadptrinc): Likewise.
53886         * lib/fseeko.c (rpl_fseeko): Likewise.
53887         * lib/fseterr.c (fseterr): Likewise.
53888         * lib/fwritable.c (fwritable): Likewise.
53889         * lib/fwriting.c (fwriting): Likewise.
53890         Reported by Alain Guibert <alguibert+bts@free.fr>.
53891
53892 2008-04-15  Bruno Haible  <bruno@clisp.org>
53893
53894         * modules/mathl (configure.ac): Define module indicator.
53895
53896 2008-04-15  Bruno Haible  <bruno@clisp.org>
53897
53898         * lib/logl.c (logl): Remove unused variables.
53899
53900 2008-04-15  Bruno Haible  <bruno@clisp.org>
53901
53902         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
53903         fails.
53904
53905 2008-04-15  Bruno Haible  <bruno@clisp.org>
53906
53907         * lib/trim.c (trim2): Fix argument of isspace() macro.
53908
53909 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
53910
53911         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
53912         to 0.
53913         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
53914
53915 2008-04-14  Bruno Haible  <bruno@clisp.org>
53916
53917         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
53918         AC_LANG_PROGRAM argument.
53919         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
53920         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
53921         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
53922         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53923         * m4/math_h.m4 (gl_MATH_H): Likewise.
53924         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
53925         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53926         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53927         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
53928         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
53929         * m4/regex.m4 (gl_REGEX): Likewise.
53930         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
53931         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
53932         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53933         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
53934         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53935         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53936         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53937         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53938
53939 2008-04-14  Jim Meyering  <meyering@redhat.com>
53940
53941         test-strtod: fix typos: s/abs/fabs/
53942         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
53943
53944 2008-04-13  Bruno Haible  <bruno@clisp.org>
53945
53946         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
53947         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
53948         module is also used and while not building the reloc-wrapper.
53949
53950 2008-04-13  Bruno Haible  <bruno@clisp.org>
53951
53952         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
53953
53954 2008-04-13  Bruno Haible  <bruno@clisp.org>
53955
53956         Fix AIX compilation failure introduced on 2008-04-02.
53957         * tests/test-frexp.c (exp): Undefine before redefining.
53958         * tests/test-frexpl.c (exp): Likewise.
53959
53960 2008-04-13  Bruno Haible  <bruno@clisp.org>
53961
53962         Work around a HP-UX stdio bug.
53963         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
53964         * tests/test-ftello.c (main): Likewise.
53965         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
53966         * doc/posix-functions/ftello.texi: Likewise.
53967
53968 2008-04-13  Bruno Haible  <bruno@clisp.org>
53969
53970         Make test-signbit pass on HP-UX/hppa.
53971         * tests/test-signbit.c (minus_zerol): New variable.
53972         (test_signbitl): Use it.
53973
53974 2008-04-13  Bruno Haible  <bruno@clisp.org>
53975
53976         Make truncl work on OSF/1 4.0.
53977         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
53978         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53979         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53980         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
53981         HAVE_DECL_TRUNCL.
53982         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
53983         HAVE_DECL_TRUNCL.
53984         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
53985
53986 2008-04-13  Bruno Haible  <bruno@clisp.org>
53987
53988         * lib/unictype.h: Remove trailing comma from enumeration definitions.
53989
53990 2008-04-13  Bruno Haible  <bruno@clisp.org>
53991
53992         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
53993         expression, so as to avoid HP-UX 11 cc compiler bug.
53994
53995 2008-04-13  Bruno Haible  <bruno@clisp.org>
53996
53997         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
53998
53999 2008-04-13  Bruno Haible  <bruno@clisp.org>
54000
54001         * lib/git-merge-changelog.c: Remove empty declaration outside of
54002         functions.
54003
54004 2008-04-13  Bruno Haible  <bruno@clisp.org>
54005
54006         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54007
54008 2008-04-13  Bruno Haible  <bruno@clisp.org>
54009
54010         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54011         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54012         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54013         also if it exists but lacks definitions of the SHUT_* macros.
54014         * modules/sys_socket (Description): Update.
54015         Reported by Elbert Pol <e.pol@chello.nl>.
54016
54017 2008-04-13  Bruno Haible  <bruno@clisp.org>
54018
54019         * lib/localcharset.c (OS2): Don't redefine if already defined.
54020         Reported by Elbert Pol <e.pol@chello.nl>.
54021
54022 2008-04-13  Bruno Haible  <bruno@clisp.org>
54023
54024         * lib/binary-io.h [__EMX__]: Include <io.h>.
54025         Reported by Elbert Pol <e.pol@chello.nl>.
54026
54027 2008-04-12  Bruno Haible  <bruno@clisp.org>
54028
54029         * lib/fpucw.h: Enable the definitions also for x86_64.
54030         Needed for NetBSD/x86_64.
54031         Reported by Thomas Klausner <tk@giga.or.at>.
54032
54033 2008-04-12  Bruno Haible  <bruno@clisp.org>
54034
54035         * tests/test-strtod.c: Include isnand.h.
54036         (main): Use isnand instead of isnan.
54037         Reported by Jim Meyering.
54038
54039 2008-04-12  Bruno Haible  <bruno@clisp.org>
54040
54041         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54042         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54043
54044 2008-04-12  Jim Meyering  <meyering@redhat.com>
54045
54046         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54047
54048 2008-04-12  Bruno Haible  <bruno@clisp.org>
54049
54050         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54051         Reported by Elbert Pol <e.pol@chello.nl>.
54052
54053 2008-04-12  Eric Blake  <ebb9@byu.net>
54054
54055         Work around Solaris 10 math.h bug.
54056         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54057         (gl_MATH_H_DEFAULTS): Set up default.
54058         * modules/math (Makefile.am): Replace new indicators.
54059         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54060         * tests/test-math.c (main): Test this.
54061         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54062         * doc/posix-headers/math.texi (math.h): Mention bug.
54063         Reported by Nelson H. F. Beebe and Jim Meyering.
54064
54065 2008-04-11  Bruno Haible  <bruno@clisp.org>
54066
54067         Adapt to future versions of Apple GCC.
54068         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54069         Reported by Peter O'Gorman <peter@pogma.com>.
54070
54071 2008-04-11  Bruno Haible  <bruno@clisp.org>
54072
54073         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54074
54075 2008-04-11  Bruno Haible  <bruno@clisp.org>
54076
54077         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54078
54079         * modules/getaddrinfo-tests (Makefile.am): Define
54080         test_getaddrinfo_LDADD.
54081
54082 2008-04-11  Bruno Haible  <bruno@clisp.org>
54083
54084         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54085         (init): Fix syntax error.
54086         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54087         is declared.
54088
54089 2008-04-11  Bruno Haible  <bruno@clisp.org>
54090
54091         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54092         * modules/glob (Depends-on): Add stdbool.
54093
54094 2008-04-11  Bruno Haible  <bruno@clisp.org>
54095
54096         * lib/trim.c: Include <string.h>.
54097
54098 2008-04-11  Eric Blake  <ebb9@byu.net>
54099
54100         Avoid compile failure on OS/2.
54101         * lib/regex_internal.h (internal_function): Disable optimization
54102         on OS/2 (__EMX__), where it caused compiler error.
54103         Reported by Elbert Pol.
54104
54105 2008-04-11  Bruno Haible  <bruno@clisp.org>
54106
54107         Flush the standard error stream before aborting. Needed on mingw.
54108         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54109         * tests/test-array_list.c (ASSERT): Likewise.
54110         * tests/test-array_oset.c (ASSERT): Likewise.
54111         * tests/test-avltree_list.c (ASSERT): Likewise.
54112         * tests/test-avltree_oset.c (ASSERT): Likewise.
54113         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54114         * tests/test-binary-io.c (ASSERT): Likewise.
54115         * tests/test-byteswap.c (ASSERT): Likewise.
54116         * tests/test-c-ctype.c (ASSERT): Likewise.
54117         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54118         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54119         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54120         * tests/test-c-strstr.c (ASSERT): Likewise.
54121         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54122         * tests/test-canonicalize.c (ASSERT): Likewise.
54123         * tests/test-carray_list.c (ASSERT): Likewise.
54124         * tests/test-ceilf1.c (ASSERT): Likewise.
54125         * tests/test-ceilf2.c (ASSERT): Likewise.
54126         * tests/test-ceill.c (ASSERT): Likewise.
54127         * tests/test-count-one-bits.c (ASSERT): Likewise.
54128         * tests/test-fbufmode.c (ASSERT): Likewise.
54129         * tests/test-fflush2.c (ASSERT): Likewise.
54130         * tests/test-floorf1.c (ASSERT): Likewise.
54131         * tests/test-floorf2.c (ASSERT): Likewise.
54132         * tests/test-floorl.c (ASSERT): Likewise.
54133         * tests/test-fopen.c (ASSERT): Likewise.
54134         * tests/test-fpending.c (ASSERT): Likewise.
54135         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54136         * tests/test-fpurge.c (ASSERT): Likewise.
54137         * tests/test-freadable.c (ASSERT): Likewise.
54138         * tests/test-freadahead.c (ASSERT): Likewise.
54139         * tests/test-freading.c (ASSERT): Likewise.
54140         * tests/test-freadptr.c (ASSERT): Likewise.
54141         * tests/test-freadptr2.c (ASSERT): Likewise.
54142         * tests/test-freadseek.c (ASSERT): Likewise.
54143         * tests/test-freopen.c (ASSERT): Likewise.
54144         * tests/test-frexp.c (ASSERT): Likewise.
54145         * tests/test-frexpl.c (ASSERT): Likewise.
54146         * tests/test-fseek.c (ASSERT): Likewise.
54147         * tests/test-fseeko.c (ASSERT): Likewise.
54148         * tests/test-fstrcmp.c (ASSERT): Likewise.
54149         * tests/test-ftell.c (ASSERT): Likewise.
54150         * tests/test-ftello.c (ASSERT): Likewise.
54151         * tests/test-func.c (ASSERT): Likewise.
54152         * tests/test-fwritable.c (ASSERT): Likewise.
54153         * tests/test-fwriting.c (ASSERT): Likewise.
54154         * tests/test-getdelim.c (ASSERT): Likewise.
54155         * tests/test-getline.c (ASSERT): Likewise.
54156         * tests/test-i-ring.c (ASSERT): Likewise.
54157         * tests/test-iconv-utf.c (ASSERT): Likewise.
54158         * tests/test-iconv.c (ASSERT): Likewise.
54159         * tests/test-isfinite.c (ASSERT): Likewise.
54160         * tests/test-isnand.c (ASSERT): Likewise.
54161         * tests/test-isnanf.c (ASSERT): Likewise.
54162         * tests/test-isnanl.h (ASSERT): Likewise.
54163         * tests/test-ldexpl.c (ASSERT): Likewise.
54164         * tests/test-linked_list.c (ASSERT): Likewise.
54165         * tests/test-linkedhash_list.c (ASSERT): Likewise.
54166         * tests/test-localename.c (ASSERT): Likewise.
54167         * tests/test-lseek.c (ASSERT): Likewise.
54168         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54169         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54170         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54171         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54172         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54173         * tests/test-mbschr.c (ASSERT): Likewise.
54174         * tests/test-mbscspn.c (ASSERT): Likewise.
54175         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54176         * tests/test-mbspbrk.c (ASSERT): Likewise.
54177         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54178         * tests/test-mbsrchr.c (ASSERT): Likewise.
54179         * tests/test-mbsspn.c (ASSERT): Likewise.
54180         * tests/test-mbsstr1.c (ASSERT): Likewise.
54181         * tests/test-mbsstr2.c (ASSERT): Likewise.
54182         * tests/test-mbsstr3.c (ASSERT): Likewise.
54183         * tests/test-memchr2.c (ASSERT): Likewise.
54184         * tests/test-memmem.c (ASSERT): Likewise.
54185         * tests/test-open.c (ASSERT): Likewise.
54186         * tests/test-printf-frexp.c (ASSERT): Likewise.
54187         * tests/test-printf-frexpl.c (ASSERT): Likewise.
54188         * tests/test-printf-posix.c (ASSERT): Likewise.
54189         * tests/test-quotearg.c (ASSERT): Likewise.
54190         * tests/test-rbtree_list.c (ASSERT): Likewise.
54191         * tests/test-rbtree_oset.c (ASSERT): Likewise.
54192         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
54193         * tests/test-round1.c (ASSERT): Likewise.
54194         * tests/test-roundf1.c (ASSERT): Likewise.
54195         * tests/test-roundl.c (ASSERT): Likewise.
54196         * tests/test-signbit.c (ASSERT): Likewise.
54197         * tests/test-sleep.c (ASSERT): Likewise.
54198         * tests/test-snprintf-posix.c (ASSERT): Likewise.
54199         * tests/test-snprintf.c (ASSERT): Likewise.
54200         * tests/test-sprintf-posix.c (ASSERT): Likewise.
54201         * tests/test-stat-time.c (ASSERT): Likewise.
54202         * tests/test-strcasestr.c (ASSERT): Likewise.
54203         * tests/test-strerror.c (ASSERT): Likewise.
54204         * tests/test-striconv.c (ASSERT): Likewise.
54205         * tests/test-striconveh.c (ASSERT): Likewise.
54206         * tests/test-striconveha.c (ASSERT): Likewise.
54207         * tests/test-strsignal.c (ASSERT): Likewise.
54208         * tests/test-strstr.c (ASSERT): Likewise.
54209         * tests/test-strtod.c (ASSERT): Likewise.
54210         * tests/test-trunc1.c (ASSERT): Likewise.
54211         * tests/test-trunc2.c (ASSERT): Likewise.
54212         * tests/test-truncf1.c (ASSERT): Likewise.
54213         * tests/test-truncf2.c (ASSERT): Likewise.
54214         * tests/test-truncl.c (ASSERT): Likewise.
54215         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
54216         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
54217         * tests/test-vasnprintf.c (ASSERT): Likewise.
54218         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
54219         * tests/test-vasprintf.c (ASSERT): Likewise.
54220         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
54221         * tests/test-vprintf-posix.c (ASSERT): Likewise.
54222         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
54223         * tests/test-vsnprintf.c (ASSERT): Likewise.
54224         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
54225         * tests/test-wcwidth.c (ASSERT): Likewise.
54226         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
54227         * tests/test-xprintf-posix.c (ASSERT): Likewise.
54228         * tests/test-xvasprintf.c (ASSERT): Likewise.
54229         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
54230         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
54231         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
54232         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
54233         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
54234         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
54235         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
54236         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
54237         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
54238         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
54239         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
54240         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
54241         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
54242         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
54243         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
54244         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
54245         * tests/unictype/test-block_list.c (ASSERT): Likewise.
54246         * tests/unictype/test-block_of.c (ASSERT): Likewise.
54247         * tests/unictype/test-block_test.c (ASSERT): Likewise.
54248         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
54249         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
54250         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
54251         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
54252         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
54253         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
54254         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
54255         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
54256         * tests/unictype/test-combining.c (ASSERT): Likewise.
54257         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
54258         * tests/unictype/test-digit.c (ASSERT): Likewise.
54259         * tests/unictype/test-mirror.c (ASSERT): Likewise.
54260         * tests/unictype/test-numeric.c (ASSERT): Likewise.
54261         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
54262         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
54263         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
54264         * tests/unictype/test-scripts.c (ASSERT): Likewise.
54265         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
54266         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
54267         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
54268         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
54269         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
54270         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
54271         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
54272         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
54273         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
54274         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
54275         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
54276         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
54277         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
54278         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
54279         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
54280         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
54281         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
54282         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
54283         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
54284         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
54285         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
54286         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
54287         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
54288         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
54289         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
54290         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
54291         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
54292         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
54293         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
54294         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
54295         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
54296         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
54297         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
54298         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
54299         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
54300         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
54301         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
54302         Reported by Eric Blake.
54303
54304 2008-04-11  Bruno Haible  <bruno@clisp.org>
54305
54306         * lib/wchar.in.h: Tweak comment.
54307
54308 2008-04-11  Bruno Haible  <bruno@clisp.org>
54309
54310         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
54311         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
54312         gl_COMMON.
54313         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
54314
54315 2008-04-11  Bruno Haible  <bruno@clisp.org>
54316
54317         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
54318
54319 2008-04-11  Simon Josefsson  <simon@josefsson.org>
54320
54321         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
54322         of attempting to use non-existing /dev/*random.  Based on patch
54323         from Adam Strzelecki <ono@java.pl> in
54324         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
54325
54326 2008-04-08  Bruno Haible  <bruno@clisp.org>
54327
54328         Add tentative support for emx+gcc.
54329         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
54330         * lib/fpurge.c (fpurge): Likewise.
54331         * lib/freadable.c (freadable): Likewise.
54332         * lib/freadahead.c (freadahead): Likewise.
54333         * lib/freading.c (freading): Likewise.
54334         * lib/freadptr.c (freadptr): Likewise.
54335         * lib/freadseek.c (freadptrinc): Likewise.
54336         * lib/fseeko.c (rpl_fseeko): Likewise.
54337         * lib/fseterr.c (fseterr): Likewise.
54338         * lib/fwritable.c (fwritable): Likewise.
54339         * lib/fwriting.c (fwriting): Likewise.
54340         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
54341
54342 2008-04-09  Eric Blake  <ebb9@byu.net>
54343
54344         Avoid some autoconf warnings.
54345         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
54346         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
54347         * m4/afs.m4 (gl_AFS): Likewise.
54348         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
54349         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
54350         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54351         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
54352         (gl_INTEGER_TYPE_SUFFIX): Likewise.
54353         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
54354         (AC_CHECK_DECLS_ONCE): Likewise.
54355         Rename file...
54356         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
54357         gnulib-tool requires autoconf 2.59 or better.
54358         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
54359
54360 2008-04-08  Eric Blake  <ebb9@byu.net>
54361
54362         Use 'git describe --match' if present (added in git 1.5.5).
54363         * build-aux/git-version-gen: Limit result to tags that match 'v*'
54364         if possible.
54365
54366 2008-04-08  Bruno Haible  <bruno@clisp.org>
54367
54368         Add tentative support for OpenServer.
54369         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
54370         _ptr, _cnt.
54371         * lib/fpurge.c (fpurge): Likewise.
54372         * lib/freadable.c (freadable): Likewise.
54373         * lib/freadahead.c (freadahead): Likewise.
54374         * lib/freading.c (freading): Likewise.
54375         * lib/freadptr.c (freadptr): Likewise.
54376         * lib/freadseek.c (freadptrinc): Likewise.
54377         * lib/fseeko.c (rpl_fseeko): Likewise.
54378         * lib/fseterr.c (fseterr): Likewise.
54379         * lib/fwritable.c (fwritable): Likewise.
54380         * lib/fwriting.c (fwriting): Likewise.
54381         Reported by Roger Cornelius <rac@tenzing.org> and
54382         Brian K. White <brian@aljex.com>.
54383
54384 2008-04-06  Jim Meyering  <meyering@redhat.com>
54385
54386         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
54387
54388 2008-04-06  Bruno Haible  <bruno@clisp.org>
54389
54390         Avoid possible error with non-ASCII bytes in UTF-8 locales.
54391         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
54392         * tests/test-printf-posix.sh: Likewise.
54393         * tests/test-vfprintf-posix.sh: Likewise.
54394         * tests/test-vprintf-posix.sh: Likewise.
54395         * tests/test-xprintf-posix.sh: Likewise.
54396
54397 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54398
54399         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
54400         hide error from 'ls', needed on OS/2.
54401         Report by Elbert Pol <elbert.pol@gmail.com>.
54402
54403 2008-04-04  Eric Blake  <ebb9@byu.net>
54404
54405         Make test-fseeko.c failures meaningful.
54406         * tests/test-fseeko.c: Print line number on failure.
54407         * tests/test-fseek.c: Likewise.
54408         Reported by Nelson H. F. Beebe.
54409
54410         Improve strtod bug detection check.
54411         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
54412         required for Solaris 10.
54413         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
54414
54415 2008-04-04  Bruno Haible  <bruno@clisp.org>
54416
54417         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
54418         by m4/setenv.m4.
54419
54420 2008-04-03  Eric Blake  <ebb9@byu.net>
54421
54422         Ensure sane .version contents.
54423         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
54424         version string.
54425         * build-aux/git-version-gen: Improve documentation.
54426
54427         Make GNU make output nicer.
54428         * top/GNUmakefile [!_have-Makefile]: Add dependency on
54429         MAKECMDGOALS to enforce message for all command line targets.  Set
54430         srcdir for use in maint.mk.
54431
54432         Another maintainer tweak.
54433         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
54434         a target that regenerates version.
54435
54436 2008-04-03  Jim Meyering  <meyering@redhat.com>
54437
54438         vc-list-files: don't cause coreutils "make po-check" failure
54439         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
54440
54441 2008-04-03  Eric Blake  <ebb9@byu.net>
54442
54443         Allow VPATH usage of vc-list-files.
54444         * build-aux/vc-list-files (scriptversion): Add timestamp.
54445         (options): Add --help, --version, -C.
54446         (CVS): Support installed cvsu.
54447
54448 2008-04-02  Bruno Haible  <bruno@clisp.org>
54449
54450         Avoid some "statement with no effect" warnings from gcc.
54451         * tests/test-wctype.c (main): Explicitly ignore unused values.
54452         Reported by Jim Meyering.
54453
54454 2008-04-02  Jim Meyering  <meyering@redhat.com>
54455
54456         Avoid some warnings from "gcc -Wshadow".
54457         * tests/test-frexp.c (exp): Define to a different identifier.
54458         * tests/test-frexpl.c (exp): Likewise.
54459
54460 2008-04-03  Jim Meyering  <meyering@redhat.com>
54461
54462         bootstrap: remove dangling *.[ch] symlinks from lib
54463         * build-aux/bootstrap [dangling symlink removal]: Move find's
54464         -depth option to precede all others, to avoid a warning.
54465         Remove *.[ch] files too, and from "$source_base" (usually lib/).
54466
54467 2008-04-02  Bruno Haible  <bruno@clisp.org>
54468
54469         Avoid some warnings from "gcc -Wshadow".
54470         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
54471         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
54472         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
54473         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
54474         Reported by Jim Meyering.
54475
54476 2008-04-01  Bruno Haible  <bruno@clisp.org>
54477
54478         Fix test to work on IRIX 6.5 with cc.
54479         * tests/test-math.c (numeric_equal): New function.
54480         (main): Use it.
54481
54482 2008-04-01  Bruno Haible  <bruno@clisp.org>
54483
54484         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
54485
54486 2008-04-01  Bruno Haible  <bruno@clisp.org>
54487
54488         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
54489         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54490         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
54491         (Depends-on): Remove math.
54492
54493         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
54494         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54495         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
54496         (Depends-on): Remove math.
54497
54498         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
54499         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54500         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
54501         (Depends-on): Remove math.
54502         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
54503         (Depends-on): Remove math.
54504
54505         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
54506         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54507         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
54508         (Depends-on): Remove math.
54509         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
54510         (Depends-on): Remove math.
54511
54512         * tests/test-round1.c: Include nan.h.
54513         (main): Use NaNd instead of NAN.
54514         * modules/round-tests (Files): Add tests/nan.h.
54515
54516         * tests/test-trunc1.c: Include nan.h.
54517         (main): Use NaNd instead of NAN.
54518         * modules/trunc-tests (Files): Add tests/nan.h.
54519
54520         * tests/test-roundf1.c: Include nan.h.
54521         (main): Use NaNf instead of NAN.
54522         * modules/roundf-tests (Files): Add tests/nan.h.
54523
54524         * tests/test-truncf1.c: Include nan.h.
54525         (main): Use NaNf instead of NAN.
54526         * modules/truncf-tests (Files): Add tests/nan.h.
54527
54528         * tests/test-ceilf1.c: Include nan.h.
54529         (main): Use NaNf instead of NAN.
54530         * modules/ceilf-tests (Files): Add tests/nan.h.
54531
54532         * tests/test-floorf1.c: Include nan.h.
54533         (main): Use NaNf instead of NAN.
54534         * modules/floorf-tests (Files): Add tests/nan.h.
54535
54536         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
54537         (main): Use NaNf instead of NAN.
54538         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
54539
54540         * tests/test-isnand.c: Include nan.h instead of <math.h>.
54541         (main): Use NaNd instead of NAN.
54542         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
54543
54544         * tests/test-frexp.c: Include nan.h.
54545         (main): Use NaNd instead of NAN.
54546         * modules/frexp-tests (Files): Add tests/nan.h.
54547
54548         * lib/isnan.c: Don't include <math.h>.
54549         (FUNC): Don't use NAN macro.
54550         * modules/isnand-nolibm (Depends-on): Remove math.
54551         * modules/isnanf-nolibm (Depends-on): Remove math.
54552         * modules/isnanl (Depends-on): Remove math.
54553         * modules/isnanl-nolibm (Depends-on): Remove math.
54554
54555         * tests/nan.h: New file.
54556
54557 2008-04-01  Eric Blake  <ebb9@byu.net>
54558
54559         Fix typos.
54560         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
54561         values to be the right type.
54562
54563         For now, cater to gnulib strtod inaccuracies.
54564         * tests/test-strtod.c (main): Allow 1-ulp error on expected
54565         fractional results.  While not as nice from a QoI perspective, it
54566         is a quicker patch than correctly implementing decimal to binary
54567         rounding.
54568
54569 2008-03-31  Eric Blake  <ebb9@byu.net>
54570
54571         Guarantee a definition of NAN.
54572         * lib/math.in.h (NAN): Define if missing.
54573         * tests/test-math.c (main): Test it.
54574         * doc/posix-headers/math.texi (math.h): Document this.
54575         * lib/isnan.c (rpl_isnand): Use it.
54576         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
54577         * tests/test-floorf1.c (NaN): Likewise.
54578         * tests/test-frexp.c (NaN): Likewise.
54579         * tests/test-isnand.c (NaN): Likewise.
54580         * tests/test-isnanf.c (NaN): Likewise.
54581         * tests/test-round1.c (NaN): Likewise.
54582         * tests/test-roundf1.c (NaN): Likewise.
54583         * tests/test-snprintf-posix.h (NaN): Likewise.
54584         * tests/test-sprintf-posix.h (NaN): Likewise.
54585         * tests/test-trunc1.c (NaN): Likewise.
54586         * tests/test-truncf1.c (NaN): Likewise.
54587         * tests/test-vasnprintf-posix.c (NaN): Likewise.
54588         * tests/test-vasprintf-posix.c (NaN): Likewise.
54589         * modules/isnand-nolibm (Depends-on): Add math.
54590         * modules/isnanf-nolibm (Depends-on): Likewise.
54591         * modules/isnanl (Depends-on): Likewise.
54592         * modules/isnanl-nolibm (Depends-on): Likewise.
54593         * modules/snprintf-posix-tests (Depends-on): Likewise.
54594         * modules/sprintf-posix-tests (Depends-on): Likewise.
54595         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
54596         * modules/vsprintf-posix-tests (Depends-on): Likewise.
54597         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
54598         * modules/vasprintf-posix-tests (Depends-on): Likewise.
54599
54600 2008-03-31  Bruno Haible  <bruno@clisp.org>
54601
54602         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
54603         * doc/posix-functions/strtod.texi: Likewise.
54604
54605 2008-03-31  Bruno Haible  <bruno@clisp.org>
54606
54607         * tests/test-strtod.c (main): Don't use C99 syntax.
54608
54609 2008-03-31  Bruno Haible  <bruno@clisp.org>
54610
54611         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
54612         Reported by Eric Blake.
54613
54614 2008-03-31  Jim Meyering  <meyering@redhat.com>
54615
54616         Don't compare actual signbit return values.
54617         * tests/test-strtod.c (main): Rather, compare only their
54618         zero/non-zero nature.
54619
54620 2008-03-31  Eric Blake  <ebb9@byu.net>
54621
54622         More strtod documentation.
54623         * doc/posix-functions/strtod.texi (strtod): Interpret more test
54624         failures as distinct bugs.
54625
54626 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
54627
54628         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
54629         Problem reported by Erik Benada in
54630         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
54631
54632 2008-03-30  Bruno Haible  <bruno@clisp.org>
54633
54634         * tests/test-strtod.c: Add comments about which assertion fails on which
54635         platform.
54636         * doc/posix-functions/strtod.texi: Add info about many more platforms.
54637
54638 2008-03-30  Eric Blake  <ebb9@byu.net>
54639
54640         Test signbit behavior on zeros.
54641         * tests/test-signbit.c (test_signbitf): Add tests for zero.
54642         (test_signbitd, test_signbitl): Likewise.
54643
54644         More strtod touchups.
54645         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
54646         sign of negative underflow, for now.  Use .5, not .1.
54647         * doc/posix-functions/strtod.texi (strtod): Mention these
54648         limitations.
54649         Reported by Jim Meyering.
54650
54651 2008-03-30  Bruno Haible  <bruno@clisp.org>
54652
54653         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
54654         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
54655
54656 2008-03-30  Bruno Haible  <bruno@clisp.org>
54657
54658         Avoid failure when attempting to return empty iconv results on some
54659         platforms.
54660         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
54661         allocation, don't report ENOMEM when the resulting string is empty.
54662
54663 2008-03-30  Bruno Haible  <bruno@clisp.org>
54664
54665         Fix buffer overrun.
54666         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
54667         Don't consider the width for tmp_length. Check count against tmp_length
54668         before doing the padding. Ensure enough allocation during padding.
54669
54670 2008-03-30  Eric Blake  <ebb9@byu.net>
54671
54672         strtod touchups.
54673         * lib/strtod.c (strtod): Avoid compiler warnings.
54674         Reported by Jim Meyering.
54675
54676 2008-03-30  Bruno Haible  <bruno@clisp.org>
54677
54678         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
54679         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
54680         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
54681         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
54682         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
54683         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
54684         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
54685         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
54686
54687         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
54688         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
54689         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
54690         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
54691         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
54692         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
54693         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
54694         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
54695
54696         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
54697         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
54698         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
54699         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
54700         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
54701         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
54702         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
54703         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
54704
54705         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
54706         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
54707
54708         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
54709         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
54710
54711         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
54712         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
54713
54714         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
54715         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
54716         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
54717
54718         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
54719         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
54720         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
54721
54722         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
54723         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
54724         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
54725
54726         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
54727         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
54728         * modules/vasprintf (Depends-on): Add EOVERFLOW.
54729
54730         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
54731         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
54732         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
54733         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
54734         (Depends-on): Add EOVERFLOW.
54735         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
54736         (Depends-on): Add EOVERFLOW.
54737         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54738         (Depends-on): Add EOVERFLOW.
54739         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54740         (Depends-on): Add EOVERFLOW.
54741         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54742         (Depends-on): Add EOVERFLOW.
54743         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54744         (Depends-on): Add EOVERFLOW.
54745         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54746         (Depends-on): Add EOVERFLOW.
54747         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54748         (Depends-on): Add EOVERFLOW.
54749
54750         * lib/sprintf.c (EOVERFLOW): Remove fallback.
54751         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
54752         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
54753
54754         * lib/snprintf.c (EOVERFLOW): Remove fallback.
54755         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
54756         * modules/snprintf (Depends-on): Add EOVERFLOW.
54757
54758         * lib/poll.c (EOVERFLOW): Remove fallback.
54759         * modules/poll (Depends-on): Add EOVERFLOW.
54760
54761         * lib/getugroups.c (EOVERFLOW): Remove fallback.
54762         * modules/getugroups (Depends-on): Add EOVERFLOW.
54763
54764         * lib/getdelim.c (EOVERFLOW): Remove fallback.
54765         * modules/getdelim (Depends-on): Add EOVERFLOW.
54766
54767         * lib/ftell.c (EOVERFLOW): Remove fallback.
54768         * modules/ftell (Depends-on): Add EOVERFLOW.
54769
54770         * lib/fprintf.c (EOVERFLOW): Remove fallback.
54771         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
54772         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
54773
54774         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
54775
54776         * modules/EOVERFLOW-tests: New file.
54777         * tests/test-EOVERFLOW.c: New file.
54778
54779         * modules/EOVERFLOW: New file.
54780         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
54781
54782 2008-03-30  Bruno Haible  <bruno@clisp.org>
54783
54784         Fix bug introduced on 2007-06-10.
54785         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
54786         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
54787
54788 2008-03-30  Bruno Haible  <bruno@clisp.org>
54789
54790         Improve freadseek's efficiency after ungetc.
54791         * lib/freadseek.c: Include freadahead.h.
54792         (freadptrinc): New function, extracted from freadseek.
54793         (freadseek): Use it in a loop. Use freadahead to determine the number
54794         of loop iterations.
54795         * modules/freadseek (Depends-on): Add freadahead.
54796         (configure.ac): Require AC_C_INLINE.
54797
54798 2008-03-30  Bruno Haible  <bruno@clisp.org>
54799
54800         * lib/freadseek.c (freadseek): Don't ignore the return value of
54801         freadptr.
54802
54803 2008-03-29  Eric Blake  <ebb9@byu.net>
54804
54805         Add hex float support.
54806         * modules/strtod (Depends-on): Add c-ctype.
54807         (Link): Mention POW_LIB.
54808         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
54809         whitespace between 'e' and exponent.
54810         * tests/test-strtod.c (main): Enable hex float tests.
54811         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
54812         now provides.
54813
54814         Document various strtod bugs, with some fixes.
54815         * doc/posix-functions/strtod.texi (strtod): Document bugs with
54816         "-0x", "inf", "nan", and hex constants.
54817         * doc/posix-functions/atof.texi (atof): Likewise.
54818         * modules/stdlib (Makefile.am): Support strtod.
54819         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
54820         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
54821         detect additional strtod bugs.
54822         * lib/stdlib.in.h (rpl_strtod): Add declarations.
54823         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
54824         bool where appropriate.  Parse 'inf' and 'nan'.
54825         * tests/test-strtod.c: New file.
54826         * modules/strtod (Depends-on): Add stdbool, stdlib.
54827         (configure.ac): Turn on module indicator.
54828         * modules/strtod-tests: New module.
54829
54830 2008-03-29  Eric Blake  <ebb9@byu.net>
54831
54832         Fix ftell on mingw.
54833         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
54834         * modules/ftell-tests (Depends-on): Add binary-io.
54835         * modules/ftello-tests (Depends-on): Likewise.
54836         * tests/test-ftell.c (main): Enhance test to cover behavior after
54837         ungetc.  Enforce binary mode.
54838         * tests/test-ftello.c (main): Likewise.
54839
54840         Pass test-freadseek on cygwin.
54841         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
54842         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
54843         ungetc buffer.
54844
54845         * tests/test-fflush2.c (main): Fix typo.
54846
54847 2008-03-29  Bruno Haible  <bruno@clisp.org>
54848
54849         * tests/test-fflush2.c (main): Temporarily disable the contents of
54850         this test.
54851         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
54852         Reported by Eric Blake.
54853
54854 2008-03-28  Simon Josefsson  <simon@josefsson.org>
54855
54856         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
54857         (GC_SHA224_DIGEST_SIZE): Add.
54858
54859         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
54860         (gc_hash_digest_length): Likewise.
54861         (gc_hash_buffer): Likewise.
54862
54863 2008-03-25  Bruno Haible  <bruno@clisp.org>
54864
54865         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
54866         detail which gettext release to use.
54867         Reported by Simon Josefsson.
54868
54869 2008-03-26  Jim Meyering  <meyering@redhat.com>
54870
54871         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
54872         * modules/gnumakefile (clean-GNUmakefile): Also, use
54873         test ... && ... || : syntax rather than if-then ... fi.
54874
54875         gnumakefile: Don't double-quote-expand $(VPATH) value.
54876         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
54877
54878 2008-03-24  Eric Blake  <ebb9@byu.net>
54879
54880         Alter GNUmakefile to install into top directory.
54881         * modules/maintainer-makefile: Split, and add dependency...
54882         * modules/gnumakefile: to this new module.
54883         * build-aux/GNUmakefile: Move...
54884         * top/GNUmakefile: ...here.
54885         * build-aux/maint.mk: Move...
54886         * top/maint.mk: ...here.
54887         * MODULES.html.sh (Support for maintaining...): Document new
54888         module.
54889
54890 2008-03-23  Bruno Haible  <bruno@clisp.org>
54891
54892         * gnulib-tool: New options --vc-files, --no-vc-files.
54893         (func_usage): Document them.
54894         (vc_files): New variable.
54895         (func_import): Consider vc_files.
54896         (func_create_testdir): Set vc_files to empty.
54897         Suggested by Jim Meyering and Karl Berry.
54898
54899 2008-03-23  Bruno Haible  <bruno@clisp.org>
54900
54901         Fix regex compilation error on HP-UX 11.
54902         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
54903         * modules/regex (Files): Add m4/mbstate_t.m4.
54904         Reported by Ton Voon <ton.voon@altinity.com>.
54905
54906 2008-03-23  Bruno Haible  <bruno@clisp.org>
54907
54908         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
54909
54910 2008-03-23  Eric Blake  <ebb9@byu.net>
54911             Bruno Haible  <bruno@clisp.org>
54912
54913         Install files from top/ in the destination directory.
54914         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
54915         augmentation also for the files from top/.
54916         (func_import, func_create_testdir): Rewrite file names:
54917         top/filename -> filename.
54918
54919 2008-03-23  Bruno Haible  <bruno@clisp.org>
54920
54921         Tweak "gnulib --version" output.
54922         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
54923
54924 2008-03-23  Bruno Haible  <bruno@clisp.org>
54925
54926         Tweak "gnulib --version" output.
54927         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
54928         rather than contents of ChangeLog, when possible.
54929
54930 2008-03-21  Eric Blake  <ebb9@byu.net>
54931
54932         More --version tweaks.
54933         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
54934         date of last ChangeLog entry.
54935
54936 2008-03-21  Jim Meyering  <meyering@redhat.com>
54937
54938         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
54939
54940 2008-03-20  Eric Blake  <ebb9@byu.net>
54941
54942         VPATH fix.
54943         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
54944
54945 2008-03-20  Simon Josefsson  <simon@josefsson.org>
54946
54947         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
54948         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
54949
54950 2008-03-20  Eric Blake  <ebb9@byu.net>
54951
54952         Sync GNUmakefile with coreutils.
54953         * build-aux/GNUmakefile (have-Makefile): Rename...
54954         (_have-Makefile): ...to this, for namespace consideration.
54955         (GNUmakefile.cfg): Include, if present.
54956         (_autoreconf): Define a default.
54957         (_is-dist-target): New rule for rebuilds to pick up intra-release
54958         version.
54959         (maint-cfg.mk): Rename...
54960         (cfg.mk): ...to this.
54961
54962 2008-03-18  Jim Meyering  <meyering@redhat.com>
54963
54964         New script and module: mktempd
54965         * MODULES.html.sh (maint+release support): Add mktempd.
54966         * build-aux/mktempd: New file.
54967         * modules/mktempd: New file.
54968
54969 2008-03-15  Jim Meyering  <meyering@redhat.com>
54970
54971         Undo last change.
54972         * lib/sha1.c, lib/md5.c: 63 != ~63.
54973         Reported by Andreas Schwab.
54974
54975         sha1.c, md5.c: Hoist a redundant expression.
54976         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
54977         "ctx->buflen" only once, before calling *_process_block.
54978         * lib/md5.c (md5_process_bytes): Likewise.
54979
54980 2008-03-14  Eric Blake  <ebb9@byu.net>
54981
54982         Bump copyright year in files generated by gnulib-tool.
54983         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
54984         gnulib-tool, rather than hard-coding it.
54985
54986         Fix 'gnulib-tool --version' output to work with git.
54987         * gnulib-tool (func_gnulib_dir): New function, extracted from...
54988         (startup): ...here.
54989         (func_version): Use it to invoke git-version-gen, rather than
54990         relying on CVS keyword expansion.  Modernize wording.
54991         (cvsdatestamp, last_checkin_date, version): Kill unused
54992         variables.
54993
54994 2008-03-12  Jim Meyering  <meyering@redhat.com>
54995
54996         Recognize optional cast of the argument to free.
54997         * build-aux/useless-if-before-free: Update regexps.
54998
54999         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55000
55001 2008-03-11  Bruno Haible  <bruno@clisp.org>
55002
55003         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55004         by a single package.
55005         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55006         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55007         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55008         Reported by Sam Steingold <sds@gnu.org>.
55009
55010 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55011
55012         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55013         repositories.
55014
55015 2008-03-11  Bruno Haible  <bruno@clisp.org>
55016
55017         Avoid conflicts between local macro definitions.
55018         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55019         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55020
55021 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55022             Bruno Haible  <bruno@clisp.org>
55023
55024         Make va_copy work with some version of xlc on AIX 5.1.
55025         * lib/stdarg.in.h: New file.
55026         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55027         On AIX, use a <stdarg.h> file substitute.
55028         * modules/stdarg (Files): Add lib/stdarg.in.h.
55029         (Depends-on): Add include_next.
55030         (Makefile.am): Build a stdarg.h substitute if requested.
55031         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55032
55033 2008-03-10  Bruno Haible  <bruno@clisp.org>
55034
55035         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55036         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55037         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55038
55039 2008-03-10  Bruno Haible  <bruno@clisp.org>
55040
55041         * modules/stdlib (Depends-on): Add include_next, remove
55042         absolute-header.
55043
55044 2008-03-09  Bruno Haible  <bruno@clisp.org>
55045
55046         * lib/freadahead.h (freadahead): Document more precisely.
55047         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55048         the sum of both buffer sizes.
55049         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55050         * NEWS: Document the change.
55051
55052 2008-03-09  Bruno Haible  <bruno@clisp.org>
55053
55054         Extend freadptr to return also the buffer size.
55055         * lib/freadptr.h (freadptr): Add sizep argument.
55056         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55057         (freadptr): Add sizep argument. Determine buffer size like freadahead
55058         does.
55059         * tests/test-freadptr.c: Don't include freadahead.h.
55060         (main): Adapt for new calling convention of freadptr.
55061         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55062         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55063         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55064         tests/test-freadptr2.sh.
55065         (Depends): Remove freadahead.
55066         (TESTS): Add test-freadptr2.sh.
55067         (check_PROGRAMS): Add test-freadptr2.
55068
55069 2008-03-09  Bruno Haible  <bruno@clisp.org>
55070
55071         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55072         Report and solution by Simon Josefsson.
55073
55074 2008-03-06  Bruno Haible  <bruno@clisp.org>
55075
55076         Make fflush after ungetc work on BSD platforms.
55077         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55078         * tests/test-fflush2.c: New file.
55079         * tests/test-fflush2.sh: New file.
55080         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55081         tests/test-fflush2.c.
55082         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55083         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55084
55085 2008-03-06  Eric Blake  <ebb9@byu.net>
55086
55087         Likewise for ftello.
55088         * modules/ftello (Dependencies): Add extensions.
55089         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55090
55091 2008-03-06  Bruno Haible  <bruno@clisp.org>
55092
55093         * modules/fseeko (Dependencies): Add extensions.
55094         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55095         Needed on glibc systems.
55096
55097 2008-03-06  Bruno Haible  <bruno@clisp.org>
55098
55099         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55100         email address.
55101         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55102
55103 2008-03-06  Bruno Haible  <bruno@clisp.org>
55104
55105         * users.txt: Add libgnupdf.
55106
55107 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55108
55109         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55110         (Header File Substitutes, Function Substitutes,
55111         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55112         (Build robot for gnulib): Fix typo.
55113
55114 2008-03-06  Bruno Haible  <bruno@clisp.org>
55115
55116         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55117         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55118
55119 2008-03-06  Bruno Haible  <bruno@clisp.org>
55120
55121         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55122         * doc/gnulib.texi: Include it.
55123
55124 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55125
55126         * modules/func (License): Change license to unlimited; there was
55127         no LGPL parts in the module anyway.
55128
55129 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55130
55131         * modules/__func__: Renamed to modules/func.
55132         * modules/__func__-tests: Renamed to modules/func-tests.
55133         * tests/test-__func__.c: Renamed to tests/test-func.c.
55134         * m4/__func__.m4: Renamed to m4/func.m4.
55135         * doc/gnulib.texi (__func__): Section renamed to func.
55136         Suggested by Eric Blake <ebb9@byu.net>.
55137
55138 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55139
55140         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55141         about __func__.  Make example self-contained.  Suggested by Eric
55142         Blake <ebb9@byu.net>.
55143
55144         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55145         Suggested by Eric Blake <ebb9@byu.net>.
55146
55147 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55148
55149         * modules/__func__: New file.
55150         * modules/__func__-tests: New file.
55151         * tests/test-__func__.c: New file.
55152         * m4/__func__.m4: New file.
55153         * doc/gnulib.texi (__func__): Document __func__ module.
55154
55155 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55156
55157         * modules/byteswap (License): Re-license as LGPLv2+.
55158
55159 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55160
55161         * doc/Makefile: Add pdf target.
55162
55163 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55164
55165         * modules/inline (License): Use 'unlimited', since there are only
55166         *.m4 files in this module.
55167
55168 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55169             Bruno Haible  <bruno@clisp.org>
55170
55171         Add support for HP C 7.1 on OpenVMS 8.3.
55172         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55173
55174 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55175
55176         Update VMS specifics.
55177         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55178
55179 2008-03-02  Jim Meyering  <meyering@redhat.com>
55180
55181         Remove the last dependency on the "free" module.
55182         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55183         Reported by Bob Proulx.
55184
55185         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55186
55187         Remove useless "if" tests before free.  Deprecate "free" module.
55188         * doc/posix-functions/free.texi: Mention that this
55189         module is no longer useful.
55190         * modules/free (Notice): Say this module is obsolete.
55191         * modules/readutmp (Depends-on): Remove free.
55192         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
55193         * lib/putenv.c (putenv): Likewise.
55194         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
55195         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
55196         * tests/test-c-strcasestr.c (main): Likewise.
55197         * tests/test-c-strstr.c (main): Likewise.
55198         * tests/test-mbscasestr1.c (main): Likewise.
55199         * tests/test-mbscasestr2.c (main): Likewise.
55200         * tests/test-mbsstr1.c (main): Likewise.
55201         * tests/test-mbsstr2.c (main): Likewise.
55202         * tests/test-memmem.c (main): Likewise.
55203         * tests/test-strcasestr.c (main): Likewise.
55204         * tests/test-striconv.c (main): Likewise.
55205         * tests/test-striconveh.c (main): Likewise.
55206         * tests/test-striconveha.c (main): Likewise.
55207         * tests/test-strstr.c (main): Likewise.
55208
55209         * build-aux/git-version-gen: Adjust a comment and the Usage string.
55210
55211         bootstrap: sync from coreutils again
55212         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
55213
55214 2008-03-01  Jim Meyering  <meyering@redhat.com>
55215
55216         bootstrap: sync from coreutils
55217         * build-aux/bootstrap (update_po_files): Copy a .po file into place
55218         also when the target doesn't exist.
55219
55220 2008-03-01  Eric Blake  <ebb9@byu.net>
55221
55222         Fix bugs in last patch.
55223         * lib/memchr2.c (memchr2): Fix typo.
55224         * tests/test-memchr2.c: Test previous bug, and don't use GNU
55225         extension.
55226         Reported by Bruce Korb.
55227
55228         New module 'memchr2'.
55229         * modules/memchr2: New file.
55230         * modules/memchr2-tests: Likewise.
55231         * lib/memchr2.h: Likewise.
55232         * lib/memchr2.c: Likewise, based on memchr.c.
55233         * tests/test-memchr2.c: New test.
55234         * MODULES.html.sh (String handling): Add memchr2.
55235
55236 2008-02-29  Bruno Haible  <bruno@clisp.org>
55237
55238         * modules/freadseek-tests: New file.
55239         * tests/test-freadseek.sh: New file.
55240         * tests/test-freadseek.c: New file.
55241
55242         New module 'freadseek'.
55243         * modules/freadseek: New file.
55244         * lib/freadseek.h: New file.
55245         * lib/freadseek.c: New file.
55246         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
55247
55248 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55249
55250         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
55251         wydawca.
55252
55253         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
55254         program_invocation_name and program_invocation_short_name are
55255         present.
55256
55257 2008-02-28  Bruno Haible  <bruno@clisp.org>
55258
55259         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
55260         * tests/test-freadptr.sh: Also test non-seekable stdin.
55261
55262 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
55263
55264         * build-aux/bootstrap (source_base, m4_base)
55265         (doc_base, tests_base): New variables.
55266         (gnulib_tool_options): Do not hardcode base directories, use
55267         the above variables instead.
55268
55269 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
55270
55271         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
55272
55273 2008-02-28  Bruno Haible  <bruno@clisp.org>
55274
55275         * modules/freadptr-tests: New file.
55276         * tests/test-freadptr.sh: New file.
55277         * tests/test-freadptr.c: New file.
55278
55279         New module 'freadptr'.
55280         * modules/freadptr: New file.
55281         * lib/freadptr.h: New file.
55282         * lib/freadptr.c: New file.
55283         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
55284
55285 2008-02-26  Karl Berry  <karl@freefriends.org>
55286
55287         Sync from Libtool:
55288         * libltdl/argz.c (argz_add, argz_count): New functions.
55289         * libltdl/argz.in.h: Declare them.
55290         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
55291
55292 2008-02-22  Bruno Haible  <bruno@clisp.org>
55293
55294         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
55295         is a pointer type.  Needed for HP-UX 10.
55296         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
55297         * doc/posix-functions/gmtime_r.texi: Likewise.
55298         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55299
55300 2008-02-24  Bruno Haible  <bruno@clisp.org>
55301
55302         * modules/environ-tests: New file.
55303         * tests/test-environ.c: New file.
55304
55305         New module 'environ'.
55306         * modules/environ: New file.
55307         * lib/unistd.in.h (environ): New declaration.
55308         * m4/environ.m4: New file.
55309         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
55310         after use.
55311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
55312         HAVE_DECL_ENVIRON.
55313         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
55314         HAVE_DECL_ENVIRON.
55315         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
55316         wrong claim that 'environ' is missing on some systems.
55317         * modules/execute (Depends-on): Add environ.
55318         * lib/execute.c (environ): Remove fallback declaration.
55319         * modules/pipe (Depends-on): Add environ.
55320         * lib/pipe.c (environ): Remove fallback declaration.
55321         * modules/setenv (Depends-on): Add environ.
55322         * lib/setenv.c (environ): Remove fallback declaration.
55323         * modules/unsetenv (Depends-on): Add environ.
55324         * lib/unsetenv.c (environ): Remove fallback declaration.
55325         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
55326         m4/environ.m4.
55327         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
55328         (gl_PREREQ_UNSETENV): Likewise.
55329
55330 2008-02-24  Bruno Haible  <bruno@clisp.org>
55331
55332         * doc/posix-functions/environ.texi: Document the MacOS X problem.
55333
55334 2008-02-20  Bob Proulx  <bob@proulx.com>
55335
55336         Enable use of older two part flavor 'git describe'.
55337         * build-aux/git-version-gen: If using the older two part flavor of
55338         git version then recreate the third part now present in the
55339         newer three part flavor of git describe.
55340
55341 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
55342
55343         * lib/fts.c (fts_build): Typo correction to comment.
55344
55345 2008-02-17  Bruno Haible  <bruno@clisp.org>
55346
55347         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
55348         generating no-op conflicts.
55349
55350 2008-02-17  Bruno Haible  <bruno@clisp.org>
55351
55352         Speed up by 10%.
55353         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
55354         result_entries, rather than an index-based loop.
55355
55356 2008-02-17  Bruno Haible  <bruno@clisp.org>
55357
55358         Speed up by 25%.
55359         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
55360         'hashcode_cached'.
55361         (entry_create): New function.
55362         (entry_hashcode): Use the cached hashcode if possible.
55363         (read_changelog_file, try_split_merged_entry): Use entry_create.
55364
55365 2008-02-17  Bruno Haible  <bruno@clisp.org>
55366
55367         Speed up from O(n^2) to O(n) for long ChangeLog files.
55368         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
55369         (read_changelog_file): Change implementation of entries_reversed list
55370         to rbtreehash.
55371         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
55372
55373 2008-02-17  Bruno Haible  <bruno@clisp.org>
55374
55375         New option --split-merged-entry.
55376         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
55377         (find_paragraph_end, try_split_merged_entry): New functions.
55378         (long_options): Add option --split-merged-entry.
55379         (usage): Document option --split-merged-entry.
55380         (main): Implement option --split-merged-entry.
55381         Reported by Eric Blake.
55382
55383 2008-02-17  Bruno Haible  <bruno@clisp.org>
55384
55385         * lib/git-merge-changelog.c: Include c-strstr.h.
55386         (main): Support the "git pull --rebase" situation.
55387         * modules/git-merge-changelog (Depends-on): Add c-strstr.
55388         Reported by Eric Blake.
55389
55390 2008-02-16  Eric Blake  <ebb9@byu.net>
55391
55392         Avoid doubling \ in common case of "c-maybe" quoting style.
55393         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
55394         eliding outer quotes.
55395         * lib/quotearg.h: Document this.
55396         * tests/test-quotearg.c (result_strings, inputs, results_g)
55397         (flag_results, locale_results): Test it by adding a new string to
55398         each test group.
55399         (compare_strings): Test new string.
55400
55401 2008-02-13  Eric Blake  <ebb9@byu.net>
55402
55403         Avoid trigraph quoting in default output.
55404         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
55405         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
55406         unless explicitly requested.
55407         * tests/test-quotearg.c (flag_results, main): Add additional tests.
55408
55409 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
55410
55411         Don't rely on signed integer overflowing to negative value.
55412         * lib/getugroups.c (getugroups): Include <limits.h>.
55413         Instead, compare against INT_MAX, and increment only if the test passes.
55414
55415 2008-02-13  Jim Meyering  <meyering@redhat.com>
55416         and Eric Blake  <ebb9@byu.net>
55417
55418         Avoid shadowing warning and compile errors on Linux.
55419         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
55420         forwarding macros on Linux.
55421         (dcgettext): Define a stub, for Linux.
55422         (results_g, main): Avoid warnings.
55423
55424 2008-02-12  Eric Blake  <ebb9@byu.net>
55425
55426         Silence warning in last patch.
55427         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
55428
55429         Quotearg part 4: add tests, fix c-maybe colon quoting.
55430         * lib/quotearg.h: Improve documentation.
55431         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
55432         escapes when adding outer quotes.  When quoting trigraphs, use
55433         valid C notation.  When quoting NUL, omit extra characters if next
55434         character is not digit.  Alter prototype.
55435         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
55436         callers.
55437         * modules/quotearg-tests: New module.
55438         * tests/test-quotearg.c: New test.
55439
55440 2008-02-07  Eric Blake  <ebb9@byu.net>
55441
55442         Quotearg part 3: add flag to control outer quote elision.
55443         * lib/quotearg.h (c_maybe_quoting_style): New style.
55444         (enum quoting_flags): Better documentation of flags.
55445         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
55446         c-maybe style.
55447         (quotearg_buffer_restyled): Handle new flag to elide outer
55448         quotes.
55449
55450         Quotearg part 2: add flag that can control NUL elision.
55451         * lib/quotearg.h (set_quoting_flags): New prototype.
55452         * lib/quotearg.c (struct quoting_options): Add flag field.
55453         (set_quoting_flags): New function.
55454         (quotearg_buffer_restyled): Add flags parameter.
55455         (quotearg_alloc_mem): Set the flag if length cannot be returned.
55456         (quotearg_n_options): Set the flag, since length cannot be
55457         returned.
55458         (quoting_options_from_style): Default flags correctly.
55459
55460         Quotearg part 1: more wrappers, restore quotearg_char state.
55461         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
55462         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
55463         (quotearg_colon_mem): New wrappers.
55464         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
55465         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
55466         functions.
55467         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
55468         (quotearg_colon_mem): New functions.
55469
55470 2008-02-11  Bruno Haible  <bruno@clisp.org>
55471
55472         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
55473         library in the current directory: it does not work with parallel make.
55474         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55475
55476 2008-02-11  Bruno Haible  <bruno@clisp.org>
55477
55478         * .gitattributes: New file.
55479
55480 2008-02-11  Jim Meyering  <meyering@redhat.com>
55481
55482         useless-if-before-free: Fix reversed exit values.
55483         * build-aux/useless-if-before-free: Use correct values
55484         for EXIT_MATCH and EXIT_NO_MATCH.
55485
55486         * build-aux/useless-if-before-free: Close stdout carefully.
55487
55488 2008-02-10  Bruno Haible  <bruno@clisp.org>
55489
55490         New module 'git-merge-changelog'.
55491         * modules/git-merge-changelog: New file.
55492         * lib/git-merge-changelog.c: New file.
55493
55494 2008-02-10  Jim Meyering  <meyering@redhat.com>
55495
55496         useless-if-before-free: New option: --list (-l).
55497
55498         useless-if-before-free: Don't exit immediately upon open failure.
55499         * build-aux/useless-if-before-free: Exit 2 for errors.
55500         Upon failure to open a file, don't exit immediately.
55501         Rather, just warn and continue with any remaining files.
55502
55503 2008-02-10  Bruno Haible  <bruno@clisp.org>
55504
55505         New abstract list operation 'node_set_value'.
55506         * lib/gl_list.h (gl_list_node_set_value): New function.
55507         (struct gl_list_implementation): New field node_set_value.
55508         * lib/gl_list.c (gl_list_node_set_value): New function.
55509         * lib/gl_array_list.c (gl_array_node_set_value): New function.
55510         (gl_array_list_implementation): Update.
55511         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
55512         (gl_carray_list_implementation): Update.
55513         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
55514         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55515         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55516         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
55517         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55518         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55519         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55520         Update.
55521         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55522         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
55523         (gl_sublist_list_implementation): Update.
55524
55525 2008-02-10  Bruno Haible  <bruno@clisp.org>
55526
55527         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
55528         Needed when ELEMENT is #defined to 'some_type *'.
55529
55530 2008-02-10  Jim Meyering  <meyering@redhat.com>
55531
55532         New script and module: useless-if-before-free
55533         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
55534         * build-aux/useless-if-before-free: New file.
55535         * modules/useless-if-before-free: New file.
55536
55537         * build-aux/gitlog-to-changelog: Use committer date, not author date.
55538
55539         xstrtol_error: Fix typo.
55540         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
55541         s/exit_failure/exit_status/.
55542
55543 2008-02-09  Jim Meyering  <meyering@redhat.com>
55544
55545         New script and module: gitlog-to-changelog
55546         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
55547         * modules/gitlog-to-changelog: New file.
55548         * build-aux/gitlog-to-changelog: New file.
55549
55550 2008-02-08  Jim Meyering  <meyering@redhat.com>
55551
55552         Avoid two "parameter unused" warnings.
55553         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
55554         Mark "st" as used.
55555
55556         Use "git COMMAND", not "git-COMMAND".
55557         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
55558         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
55559         * build-aux/git-version-gen: Use "git status", not "git-status".
55560
55561 2008-02-07  Bruno Haible  <bruno@clisp.org>
55562
55563         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
55564         Avoids a crash on Windows Vista.
55565         Reported by Adam Strzelecki <ono@java.pl> via
55566         Simon Josefsson <simon@josefsson.org>.
55567
55568 2008-02-06  Bruno Haible  <bruno@clisp.org>
55569
55570         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
55571         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
55572         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
55573         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
55574         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
55575         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55576         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
55577         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
55578         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55579         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55580         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55581         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55582         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55583         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55584         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55585         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
55586         left-adjust flag.
55587         * tests/test-snprintf-posix.h (test_function): Likewise.
55588         * tests/test-sprintf-posix.h (test_function): Likewise.
55589         * tests/test-vasprintf-posix.c (test_function): Likewise.
55590         * doc/posix-functions/fprintf.texi: Update.
55591         * doc/posix-functions/printf.texi: Update.
55592         * doc/posix-functions/snprintf.texi: Update.
55593         * doc/posix-functions/sprintf.texi: Update.
55594         * doc/posix-functions/vfprintf.texi: Update.
55595         * doc/posix-functions/vprintf.texi: Update.
55596         * doc/posix-functions/vsnprintf.texi: Update.
55597         * doc/posix-functions/vsprintf.texi: Update.
55598         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55599
55600 2008-02-06  Bruno Haible  <bruno@clisp.org>
55601
55602         Fix bug introduced on 2008-01-26.
55603         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
55604
55605 2008-02-06  Bruno Haible  <bruno@clisp.org>
55606
55607         Fix bug introduced on 2007-06-10.
55608         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
55609         !NEED_PRINTF_FLAG_ZERO.
55610
55611 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
55612
55613         getloadavg: use libperfstat on AIX5
55614         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
55615
55616 2008-02-03  Bruno Haible  <bruno@clisp.org>
55617
55618         * lib/diffseq.h: Add comments about required #includes.
55619         Reported by Michael Biggs <gnulib@doubleplum.net>.
55620
55621 2008-02-01  Bruno Haible  <bruno@clisp.org>
55622
55623         * users.txt: Add gnuit.
55624
55625 2008-01-31  Bruno Haible  <bruno@clisp.org>
55626
55627         * lib/md4.c (set_uint32): Mark as inline.
55628         * lib/md5.c (set_uint32): Likewise.
55629         * lib/sha1.c (set_uint32): Likewise.
55630         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
55631         * m4/md5.m4 (gl_MD5): Likewise.
55632         * m4/sha1.m4 (gl_SHA1): Likewise.
55633
55634 2008-01-31  Jim Meyering  <meyering@redhat.com>
55635
55636         Use "sizeof VAR", rather than a literal "4".
55637         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
55638         * lib/md4.c (md4_read_ctx): Likewise.
55639         * lib/sha1.c (sha1_read_ctx): Likewise.
55640
55641 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55642
55643         * tests/test-sha1.c: New file, based on test-md5.c.
55644
55645         * modules/crypto/sha1-tests: New file.
55646
55647 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55648
55649         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
55650
55651 2008-01-31  Jim Meyering  <meyering@redhat.com>
55652
55653         Prefer "sizeof v" over the equivalent "4".
55654         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
55655         * lib/md5.c (set_uint32): Likewise.
55656         * lib/sha1.c (set_uint32): Likewise.
55657
55658 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55659
55660         * lib/sha1.c (set_uint32): Mark function as static.
55661
55662 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55663
55664         md2: clarify comments to say that alignment is not required.
55665         * lib/md2.h: Remove warning about alignment in comment.
55666         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
55667         never been required.
55668
55669 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55670
55671         md4: adapt alignment constraint fix from sha1.
55672         * lib/md4.c (set_uint32): New function, from sha1.c
55673         (md4_read_ctx): Use it.
55674         (md4_finish_ctx): Doc fix.
55675         * lib/md4.h: Doc fix.
55676
55677 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55678
55679         md5: adapt alignment constraint fix from sha1.
55680         * lib/md5.c (set_uint32): New function, from sha1.c
55681         (md5_read_ctx): Use it.
55682         (md5_finish_ctx): Doc fix.
55683         * lib/md5.h: Doc fix.
55684
55685 2008-01-30  Peter Palfrader  <weasel@debian.org>
55686
55687         sha1: remove the result buffer alignment constraint
55688         * lib/sha1.c (set_uint32): New function.
55689         (sha1_read_ctx): Rewrite to remove the result buffer alignment
55690         constraint.
55691         (sha1_finish_ctx): Remove comment warning about alignment constraint.
55692         * lib/sha1.h: Likewise.
55693
55694 2008-01-30  Andreas Schwab  <schwab@suse.de>
55695             Bruno Haible  <bruno@clisp.org>
55696
55697         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
55698         correct definition of LDBL_MIN_EXP.
55699
55700 2008-01-30  Karl Berry  <karl@gnu.org>
55701
55702         * config/srclist-update: try to preserve x bit on updates.
55703         * config/srclistvars.sh: update for karl.
55704
55705 2008-01-29  Jim Meyering  <meyering@redhat.com>
55706
55707         vasnprintf.c: Avoid warning about unused label
55708         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
55709         "overflow" label definition and associated code with the
55710         same cpp condition that guards the sole use of that label.
55711
55712 2008-01-26  Bruno Haible  <bruno@clisp.org>
55713
55714         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
55715         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
55716         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
55717         * lib/isnanl-nolibm.h (isnanl): Likewise.
55718         Reported by Paul Eggert <eggert@cs.ucla.edu>.
55719
55720 2008-01-26  Bruno Haible  <bruno@clisp.org>
55721
55722         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
55723         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
55724
55725 2008-01-26  Bruno Haible  <bruno@clisp.org>
55726
55727         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
55728         GCC >= 4.0 built-in.
55729         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
55730
55731 2008-01-26  Bruno Haible  <bruno@clisp.org>
55732
55733         Rename isnan, applicable to 'double' only, to isnand.
55734         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
55735         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
55736         (configure.ac): Update.
55737         (Include): Replace "isnan.h" with "isnand.h".
55738         * m4/isnand.m4: Renamed from m4/isnan.m4.
55739         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
55740         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
55741         instead of isnan.c.
55742         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
55743         instead of HAVE_ISNAN_IN_LIBC.
55744         (isnand): Renamed from isnan.
55745         * lib/isnand.c: New file.
55746         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
55747         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
55748         (Makefile.am): Update.
55749         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
55750         Include isnand.h instead of isnan.h.
55751         (main): Test isnand instead of isnan.
55752         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
55753         isnan-nolibm.
55754         * modules/frexp (Depends-on): Likewise.
55755         * modules/frexp-tests (Depends-on): Likewise.
55756         * modules/frexp-nolibm (Depends-on): Likewise.
55757         * modules/frexp-nolibm-tests (Depends-on): Likewise.
55758         * modules/isfinite (Depends-on): Likewise.
55759         * modules/round-tests (Depends-on): Likewise.
55760         * modules/signbit (Depends-on): Likewise.
55761         * modules/signbit-tests (Depends-on): Likewise.
55762         * modules/snprintf-posix (Depends-on): Likewise.
55763         * modules/sprintf-posix (Depends-on): Likewise.
55764         * modules/trunc-tests (Depends-on): Likewise.
55765         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55766         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55767         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55768         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55769         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55770         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55771         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55772         * modules/vasnprintf-posix (Depends-on): Likewise.
55773         * modules/vasprintf-posix (Depends-on): Likewise.
55774         * modules/vfprintf-posix (Depends-on): Likewise.
55775         * modules/vsnprintf-posix (Depends-on): Likewise.
55776         * modules/vsprintf-posix (Depends-on): Likewise.
55777         * lib/frexp.c: Include isnand.h instead of isnan.h.
55778         (ISNAN): Set to isnand instead of isnan.
55779         * lib/isfinite.c: Include isnand.h instead of isnan.h.
55780         (gl_isfinited): Use isnand instead of isnan.
55781         * lib/signbitd.c: Include isnand.h instead of isnan.h.
55782         (gl_signbitd): Use isnand instead of isnan.
55783         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
55784         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
55785         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
55786         (main): Use isnand instead of isnan.
55787         * tests/test-round1.c: Include isnand.h.
55788         (main): Use isnand instead of isnan.
55789         * tests/test-round2.c: Include isnand.h instead of isnan.h.
55790         (ISNAN): Set to isnand instead of isnan.
55791         * tests/test-trunc1.c: Include isnand.h.
55792         (main): Use isnand instead of isnan.
55793         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
55794         (equal): Use isnand instead of isnan.
55795         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
55796         isnand-nolibm.
55797         * NEWS: Mention the change.
55798
55799 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
55800             Bruno Haible  <bruno@clisp.org>
55801
55802         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
55803         the GCC builtins for signbits are present and set
55804         REPLACE_SIGNBIT_USING_GCC if so.
55805         * lib/math.in.h (signbit): Define using GCC builtins if
55806         REPLACE_SIGNBIT_USING_GCC is set.
55807         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
55808         REPLACE_SIGNBIT_USING_GCC.
55809         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
55810
55811 2008-01-25  Jim Meyering  <meyering@redhat.com>
55812
55813         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
55814         * lib/poll.c: Include <config.h>, not "config.h".
55815         * tests/test-getaddrinfo.c: Likewise.
55816
55817 2008-01-25  Simon Josefsson  <simon@josefsson.org>
55818
55819         * modules/sockets-tests: New file.
55820
55821 2008-01-24  Simon Josefsson  <simon@josefsson.org>
55822
55823         * modules/sockets: New module, can be used to call WSA_Startup and
55824         WSA_Cleanup when needed.
55825
55826         * lib/sockets.h, lib/sockets.c: New files.
55827
55828         * m4/sockets.m4: New file.
55829
55830         * tests/test-sockets.c: New file.
55831
55832 2008-01-19  Bruno Haible  <bruno@clisp.org>
55833
55834         * doc/posix-headers: Renamed from doc/headers.
55835         * doc/posix-functions: Renamed from doc/functions.
55836         * doc/gnulib.texi: Update.
55837
55838 2008-01-19  Bruno Haible  <bruno@clisp.org>
55839
55840         * doc/glibc-functions/strcasestr.texi: Include contents of
55841         doc/functions/strcasestr.texi, fixing the list of platforms.
55842         * doc/functions/strcasestr.texi: Remove file.
55843
55844 2008-01-19  Bruno Haible  <bruno@clisp.org>
55845
55846         * doc/glibc-functions/memmem.texi: Include contents of
55847         doc/functions/memmem.texi.
55848         * doc/functions/memmem.texi: Remove file.
55849
55850 2008-01-18  Bruno Haible  <bruno@clisp.org>
55851
55852         * doc/glibc-functions/*.texi: New files.
55853         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
55854         to use the new files.
55855
55856 2008-01-17  Bruno Haible  <bruno@clisp.org>
55857
55858         * tests/test-gethostname.c (main): Fix printf statement.
55859
55860 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55861
55862         * modules/gethostname-tests: New file.
55863
55864         * tests/test-gethostname.c: New file.
55865
55866 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55867
55868         * lib/gethostname.c: Include string.h unconditionally, strncpy is
55869         used by the UNAME case.  Reported by Bruno Haible
55870         <bruno@clisp.org>.
55871
55872 2008-01-17  Eric Blake  <ebb9@byu.net>
55873
55874         Convert c-strcasestr to be more efficient.
55875         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
55876         (Depends-on): Add c-strcase, remove malloca, strnlen.
55877         * tests/test-c-strcasestr.c (main): Enhance test.
55878         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
55879
55880 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55881
55882         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
55883         Use it in creating po/Makevars.
55884
55885 2008-01-15  Simon Josefsson  <simon@josefsson.org>
55886
55887         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
55888         Applications that requires it should initialize libgcrypt
55889         manually.
55890
55891 2008-01-16  Simon Josefsson  <simon@josefsson.org>
55892
55893         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
55894
55895 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
55896
55897         Fix problem with getdate on mingw32 reported by Simon Josefsson
55898         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
55899         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
55900         tzname", when deciding whether to declare tzname.
55901         * lib/strftime.c (tzname): Likewise.
55902
55903 2008-01-15  Bruno Haible  <bruno@clisp.org>
55904
55905         Work around a MacOS X 10.5 bug in frexpl().
55906         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
55907         * doc/functions/frexpl.texi: Document the bug.
55908         Reported by Elias Pipping <pipping@gentoo.org>.
55909
55910 2008-01-14  Eric Blake  <ebb9@byu.net>
55911
55912         Touch up previous patch.
55913         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
55914         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
55915
55916         Convert strcasestr module to use Two-Way algorithm.
55917         * modules/strcasestr-simple: New module, based on the old
55918         strcasestr, but with Two-Way rather than KMP.
55919         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
55920         * lib/string.in.h (rpl_strcasestr): Declare.
55921         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
55922         performance.
55923         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
55924         * modules/string (Makefile.am): Support strcasestr.
55925         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
55926         * modules/strcasestr-tests (Depends-on): Check for alarm.
55927         * tests/test-strcasestr.c: Augment test.
55928         * lib/str-two-way.h: Clean up stray macro.
55929         * NEWS: Document new module.
55930         * MODULES.html.sh (string handling): Likewise.
55931         * doc/functions/strcasestr.texi: New file.
55932         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
55933         here, since it is not a POSIX function.
55934
55935 2008-01-14  Colin Watson  <cjwatson@debian.org>
55936             Bruno Haible  <bruno@clisp.org>
55937
55938         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
55939         works fine; if not, set REPLACE_STRSIGNAL.
55940         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
55941         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55942         REPLACE_STRSIGNAL.
55943         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
55944         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
55945         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
55946
55947 2008-01-14  Bruno Haible  <bruno@clisp.org>
55948
55949         * modules/strsignal (Include): Change to <string.h>.
55950
55951 2008-01-14  Colin Watson  <cjwatson@debian.org>
55952
55953         * modules/argp (Notice): Add a notice recommending to change
55954         XGETTEXT_OPTIONS.
55955         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
55956
55957 2008-01-13  Colin Watson  <cjwatson@debian.org>
55958
55959         * modules/strsignal-tests: New file.
55960         * tests/test-strsignal.c: New file.
55961
55962         * lib/strsignal.c: New file, from glibc with modifications.
55963         * lib/siglist.h: New file, from glibc with modifications.
55964         * lib/string.in.h (strsignal): New declaration.
55965         * m4/strsignal.m4: New file.
55966         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55967         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
55968         * modules/strsignal: New file.
55969         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
55970         HAVE_DECL_STRSIGNAL.
55971
55972 2008-01-13  Bruno Haible  <bruno@clisp.org>
55973
55974         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
55975         locale encoding is not ASCII. Needed for OpenBSD 4.0.
55976         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55977         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55978
55979 2008-01-13  Bruno Haible  <bruno@clisp.org>
55980
55981         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
55982         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
55983         * lib/argp.h (__attribute__): Likewise.
55984         * lib/c-stack.c (__attribute__): Likewise.
55985         * lib/error.h (__attribute__): Likewise.
55986         * lib/fts.c (__attribute__): Likewise.
55987         * lib/openat.h (__attribute__): Likewise.
55988         * lib/stdio.in.h (__attribute__): Likewise.
55989         * lib/string.in.h (__attribute__): Likewise.
55990         * lib/utimens.c (__attribute__): Likewise.
55991         * lib/vasnprintf.h (__attribute__): Likewise.
55992         * lib/xalloc.h (__attribute__): Likewise.
55993         * lib/xprintf.h (__attribute__): Likewise.
55994         * lib/xstrtol.h (__attribute__): Likewise.
55995         * lib/xvasprintf.h (__attribute__): Likewise.
55996
55997 2008-01-12  Bruno Haible  <bruno@clisp.org>
55998
55999         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56000         * doc/glibc-headers/a.out.texi: New file.
56001         * doc/glibc-headers/aliases.texi: New file.
56002         * doc/glibc-headers/alloca.texi: New file.
56003         * doc/glibc-headers/ar.texi: New file.
56004         * doc/glibc-headers/argp.texi: New file.
56005         * doc/glibc-headers/argz.texi: New file.
56006         * doc/glibc-headers/byteswap.texi: New file.
56007         * doc/glibc-headers/crypt.texi: New file.
56008         * doc/glibc-headers/endian.texi: New file.
56009         * doc/glibc-headers/envz.texi: New file.
56010         * doc/glibc-headers/err.texi: New file.
56011         * doc/glibc-headers/error.texi: New file.
56012         * doc/glibc-headers/execinfo.texi: New file.
56013         * doc/glibc-headers/fpu_control.texi: New file.
56014         * doc/glibc-headers/fstab.texi: New file.
56015         * doc/glibc-headers/fts.texi: New file.
56016         * doc/glibc-headers/getopt.texi: New file.
56017         * doc/glibc-headers/ieee754.texi: New file.
56018         * doc/glibc-headers/ifaddrs.texi: New file.
56019         * doc/glibc-headers/libintl.texi: New file.
56020         * doc/glibc-headers/mcheck.texi: New file.
56021         * doc/glibc-headers/mntent.texi: New file.
56022         * doc/glibc-headers/obstack.texi: New file.
56023         * doc/glibc-headers/paths.texi: New file.
56024         * doc/glibc-headers/printf.texi: New file.
56025         * doc/glibc-headers/pty.texi: New file.
56026         * doc/glibc-headers/resolv.texi: New file.
56027         * doc/glibc-headers/shadow.texi: New file.
56028         * doc/glibc-headers/sysexits.texi: New file.
56029         * doc/glibc-headers/ttyent.texi: New file.
56030
56031 2008-01-12  Jim Meyering  <meyering@redhat.com>
56032
56033         announce-gen: emit Gnulib's git-based version string.
56034         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56035         New option --gnulib-version=V, where V is expected to be
56036         the output of running git describe in the gnulib directory.
56037         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56038         not useful, and plan to stop publishing an xdelta file with each
56039         coreutils release.
56040
56041         * build-aux/announce-gen: Also check for lzma-compressed files.
56042
56043 2008-01-11  Bruno Haible  <bruno@clisp.org>
56044
56045         * tests/test-memmem.c (main): Increase maximum allowed time.
56046         * tests/test-strstr.c (main): Likewise.
56047
56048 2008-01-11  Bruno Haible  <bruno@clisp.org>
56049
56050         * doc/functions/memmem.texi: Add more precisions about platforms.
56051         * doc/functions/strstr.texi: Likewise.
56052
56053 2008-01-10  Eric Blake  <ebb9@byu.net>
56054
56055         * m4/strstr.m4: Delete cruft from copy-n-paste.
56056         Reported by Bruno Haible.
56057
56058 2008-01-10  Bruno Haible  <bruno@clisp.org>
56059
56060         Make c-strstr rely on strstr.
56061         * lib/c-strstr.c: Don't include str-kmp.h.
56062         (c_strstr): Define in terms of strstr.
56063         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56064         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56065
56066 2008-01-10  Bruno Haible  <bruno@clisp.org>
56067
56068         * doc/gnulib.texi (String Functions in C Locale): New section.
56069         * doc/c-ctype.texi: New file.
56070         * doc/c-strcase.texi: New file.
56071         * doc/c-strcaseeq.texi: New file.
56072         * doc/c-strcasestr.texi: New file.
56073         * doc/c-strstr.texi: New file.
56074         * doc/c-strtod.texi: New file.
56075         * doc/c-strtold.texi: New file.
56076
56077 2008-01-10  Eric Blake  <ebb9@byu.net>
56078
56079         * lib/relocatable.h: Fix a comment.
56080
56081 2008-01-10  Eric Blake  <ebb9@byu.net>
56082
56083         Share two-way algorithm.
56084         * lib/str-two-way.h: New file, merged from...
56085         * lib/memmem.c: ...here...
56086         * lib/strstr.c: ...and here.
56087         * modules/memmem (Files): Use it.
56088         * modules/strstr (Files): Likewise.
56089
56090         Avoid quadratic strstr implementations.
56091         * lib/strstr.c: New file.
56092         * m4/strstr.m4: Likewise.
56093         * modules/strstr: Likewise.
56094         * modules/strstr-tests: Likewise.
56095         * tests/test-strstr.c: Likewise.
56096         * lib/string.in.h (rpl_strstr): Declare.
56097         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56098         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56099         * modules/string (Makefile.am): Likewise.
56100         * MODULES.html.sh (string handling): Mention new module.
56101         * doc/functions/strstr.texi (strstr): Document the bug.
56102
56103 2008-01-10  Bruno Haible  <bruno@clisp.org>
56104
56105         * lib/relocatable.h (relocate): State whether result is freshly
56106         allocated or not.
56107         * lib/relocatable.c (relocate): Return a freshly allocated string
56108         instead of a pointer to a privately held string.
56109         Reported by Sylvain Beucler <beuc@gnu.org>.
56110
56111 2008-01-10  Colin Watson  <cjwatson@debian.org>
56112
56113         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56114         s/S_ISNLK/S_ISLNK/.
56115
56116 2008-01-09  Bruno Haible  <bruno@clisp.org>
56117
56118         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56119         and other files.
56120         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56121         if it's only a guess.
56122         * modules/memmem: Simplify by depending on memmem-simple.
56123
56124 2008-01-09  Bruno Haible  <bruno@clisp.org>
56125
56126         Work around OpenBSD 4.0 tdelete() bug.
56127         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56128         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56129         macros and don't redefine the enum values.
56130         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56131         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56132         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56133
56134 2008-01-09  Bruno Haible  <bruno@clisp.org>
56135
56136         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56137         (main): Don't perform the tests if setlocale did not install a UTF-8
56138         locale. Needed on OpenBSD 4.0.
56139         * modules/wcwidth-tests (Depends-on): Add localcharset.
56140
56141 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56142
56143         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56144         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56145         * NEWS: announce this.
56146         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56147
56148 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56149         and Eric Blake  <ebb9@byu.net>
56150
56151         Add memmem-simple module.
56152         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56153         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56154         * modules/memmem-simple: New file.
56155         * modules/memmem (Description): Tweak.
56156         * MODULES.html.sh (string handling): Mention new module.
56157         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
56158         addressed by memmem-simple.
56159         * NEWS: Document the difference.
56160
56161 2008-01-09  Eric Blake  <ebb9@byu.net>
56162
56163         Give gcc some memmem optimization hints.
56164         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
56165         (strcasestr): Declare as pure.
56166         * modules/memmem (Maintainer): Claim my implementation.
56167
56168 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56169
56170         Support AIX 6.1 and higher.
56171         * build-aux/config.libpath: Likewise.
56172         * build-aux/config.rpath: Likewise.
56173
56174 2008-01-08  Jim Meyering  <meyering@redhat.com>
56175             Bruno Haible  <bruno@clisp.org>
56176
56177         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56178         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56179         Reported by Peter Fales in
56180         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56181
56182 2008-01-08  Bruno Haible  <bruno@clisp.org>
56183
56184         * modules/unictype/category-of (Depends-on): Add
56185         unictype/category-none.
56186         * modules/unictype/category-and-tests (Depends-on): Add
56187         unictype/category-{L,N,Lu,Nd}.
56188         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
56189         * modules/unictype/category-or-tests (Depends-on): Add
56190         unictype/category-{L,N}.
56191         * modules/unictype/category-name-tests (Depends-on): Add
56192         unictype/category-{Z,Nl}.
56193         Reported by Simon Josefsson.
56194
56195 2008-01-08  Bruno Haible  <bruno@clisp.org>
56196
56197         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
56198         convention better.
56199         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
56200         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
56201         Reported by Peter Miller <millerp@canb.auug.org.au>.
56202
56203 2008-01-08  Eric Blake  <ebb9@byu.net>
56204
56205         Rewrite memmem to guarantee linear complexity without malloc.
56206         * lib/memmem.c (memmem): Use Two-Way rather than
56207         Knuth-Morris-Pratt, to allow O(1) space usage.
56208         (critical_factorization, two_way_short_needle)
56209         (two_way_long_needle): New functions.
56210         (knuth_morris_pratt): Delete.
56211         * modules/memmem (Depends-on): No longer need malloca or stdbool.
56212         Add stdint.
56213         * tests/test-memmem.c (main): Add tests for periodic needle and
56214         sublinear performance.
56215         * doc/functions/memmem.texi (memmem): Document other deficiencies
56216         in cygwin and older glibc.
56217
56218 2008-01-08  Bruno Haible  <bruno@clisp.org>
56219
56220         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
56221         augmentation.
56222
56223 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
56224
56225         Add a configure time option: --disable-acl.
56226         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
56227         AC_ARG_ENABLE(acl).
56228
56229 2008-01-06  Simon Josefsson  <simon@josefsson.org>
56230
56231         * tests/test-localename.c: Don't include obsolete "setenv.h".
56232
56233         * modules/localename-tests (Depends-on): Need unsetenv.
56234
56235 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56236
56237         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
56238
56239 2008-01-06  Colin Watson  <cjwatson@debian.org>
56240
56241         * users.txt: Add man-db.
56242
56243 2008-01-07  Bruno Haible  <bruno@clisp.org>
56244
56245         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
56246         previous section name.
56247
56248 2008-01-07  Bruno Haible  <bruno@clisp.org>
56249
56250         * lib/progname.c (set_program_name): Don't strip off a leading
56251         "lt-" prefix outside a .libs directory.
56252         Suggested by Paul Eggert.
56253
56254 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
56255             Bruno Haible  <bruno@clisp.org>
56256
56257         Improve memory cleanup in 'relocatable' module.
56258         * lib/relocatable.h (compute_curr_prefix): Change return type to
56259         'char *'.
56260         * lib/relocatable.c (compute_curr_prefix): Change return type to
56261         'char *'. Free curr_installdir after use.
56262         (relocate): Free curr_prefix_better after use.
56263         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
56264
56265 2008-01-01  Bruno Haible  <bruno@clisp.org>
56266
56267         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
56268         failure on older glibc systems.
56269         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56270
56271 2008-01-05  Eric Blake  <ebb9@byu.net>
56272
56273         Avoid quadratic system memmem.
56274         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
56275         Reported by Ralf Wildenhues.
56276
56277         Fix memmem test for mingw.
56278         * modules/memmem-tests (configure.ac): Check for alarm.
56279         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
56280         it.
56281         * doc/functions/memmem.texi: New file.
56282         * doc/gnulib.texi (Function Substitutes): Add memmem.
56283         Reported by Bruno Haible.
56284
56285 2008-01-04  Bruno Haible  <bruno@clisp.org>
56286
56287         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
56288         Require gl_HEADER_STRINGS_H_DEFAULTS, not
56289         gl_HEADER_STRING_H_DEFAULTS.
56290
56291 2008-01-04  Eric Blake  <ebb9@byu.net>
56292
56293         Shorten duration of memmem test.
56294         * tests/test-memmem.c (main): Use alarm to declare failure if test
56295         is taking too long.
56296         Reported by Ralf Wildenhues.
56297
56298 2007-12-21  Simon Josefsson  <simon@josefsson.org>
56299
56300         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
56301         string, needed by strerror.
56302
56303 2008-01-03  Colin Watson  <cjwatson@debian.org>
56304             Bruno Haible  <bruno@clisp.org>
56305
56306         * doc/gnulib-tool.texi (Localization): New section.
56307
56308 2008-01-02  Bruno Haible  <bruno@clisp.org>
56309
56310         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
56311         variables to 'unsigned char *' type.
56312         Reported by Paul Eggert.
56313
56314 2008-01-02  Jim Meyering  <jim@meyering.net>
56315
56316         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
56317
56318 2007-12-31  Jim Meyering  <jim@meyering.net>
56319
56320         Avoid use of private FTS type name.
56321         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
56322
56323 2007-12-30  Karl Berry  <karl@gnu.org>
56324
56325         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
56326         work around defect in Texinfo and/or the standalone Info browser.
56327
56328 2007-12-30  Bruno Haible  <bruno@clisp.org>
56329
56330         Unify 5 copies of the KMP code.
56331         * lib/str-kmp.h: New file.
56332         * lib/c-strcasestr.c: Include str-kmp.h.
56333         (knuth_morris_pratt): Remove function.
56334         (c_strcasestr): Update.
56335         * lib/c-strstr.c: Include str-kmp.h.
56336         (knuth_morris_pratt): Remove function.
56337         (c_strcasestr): Update.
56338         * lib/mbscasestr.c: Include str-kmp.h.
56339         (knuth_morris_pratt_unibyte): Remove function.
56340         * lib/mbsstr.c: Include str-kmp.h.
56341         (knuth_morris_pratt_unibyte): Remove function.
56342         * lib/strcasestr.c: Include str-kmp.h.
56343         (knuth_morris_pratt): Remove function.
56344         (strcasestr): Update.
56345         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
56346         * modules/c-strstr (Files): Likewise.
56347         * modules/mbscasestr (Files): Likewise.
56348         * modules/mbsstr (Files): Likewise.
56349         * modules/strcasestr (Files): Likewise.
56350         Suggested by Paul Eggert.
56351
56352 2007-12-30  Bruno Haible  <bruno@clisp.org>
56353
56354         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
56355         defined.
56356
56357 2007-12-30  Bruno Haible  <bruno@clisp.org>
56358
56359         * lib/xmalloca.h: Include xalloc.h.
56360         (xnmalloca): New macro.
56361
56362 2007-12-30  Bruno Haible  <bruno@clisp.org>
56363
56364         * lib/malloca.h (nmalloca): New macro.
56365         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
56366         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
56367         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
56368         knuth_morris_pratt_multibyte): Likewise.
56369         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
56370         knuth_morris_pratt_multibyte): Likewise.
56371         * lib/memmem.c (knuth_morris_pratt): Likewise.
56372         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
56373
56374 2007-12-25  Bruno Haible  <bruno@clisp.org>
56375
56376         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
56377         * lib/glob.c: Don't include openat.h.
56378         (link_exists2_p): Add back the code that deals with the
56379         !GLOB_ALTDIRFUNC case.
56380         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
56381         let it do the filename concatenation.
56382         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
56383         * modules/glob (Depends-on): Remove openat.
56384
56385 2007-12-31  Bruno Haible  <bruno@clisp.org>
56386
56387         * modules/dirfd (License): Change to LGPLv2+.
56388         Approved by Jim Meyering.
56389
56390 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56391
56392         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
56393         when multiplying M by sizeof (size_t).
56394
56395 2007-12-10  Martin Lambers  <marlam@marlam.de>
56396
56397         Override getpagesize on mingw.
56398         * lib/getpagesize.c: New file.
56399         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
56400         * modules/getpagesize (Files): Add lib/getpagesize.c.
56401         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
56402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56403         REPLACE_GETPAGESIZE.
56404         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
56405
56406 2007-12-25  Bruno Haible  <bruno@clisp.org>
56407
56408         * modules/localcharset (Notice): New field.
56409         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
56410         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56411
56412 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56413             Bruno Haible  <bruno@clisp.org>
56414
56415         Avoid using the syntax symbol() in formatted documentation.
56416         * MODULES.html.sh (func_module): When replacing symbol() with a
56417         hyperlink, remove the parentheses. Show an error if some remain.
56418         Recognize and render the '...' syntax.
56419         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
56420         Rework. Add paragraph about GCC's inlining.
56421         * doc/alloca.texi: Likewise.
56422         * doc/error.texi: Remove parentheses from symbol reference.
56423         * doc/gnulib-intro.texi: Likewise.
56424         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
56425         * modules/fnmatch (Description): Reword to say "the ... function".
56426         * modules/full-read (Description): Likewise.
56427         * modules/full-write (Description): Likewise.
56428         * modules/safe-read (Description): Likewise.
56429         * modules/safe-write (Description): Likewise.
56430         * modules/strchrnul (Description): Likewise.
56431         * modules/trim (Description): Likewise.
56432         * modules/error (Description): Remove parentheses from symbol
56433         references.
56434         * modules/verror (Description): Likewise.
56435         Reported by Karl Berry.
56436
56437 2007-12-25  Bruno Haible  <bruno@clisp.org>
56438
56439         Fixup after 2007-10-16 commit.
56440         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
56441
56442 2007-12-24  Bruno Haible  <bruno@clisp.org>
56443
56444         Make --enable-relocatable work with DESTDIR.
56445         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
56446         to compute installdir from destprog.
56447         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
56448         also set the RELOC_DESTDIR variable.
56449         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56450
56451 2007-12-24  Bruno Haible  <bruno@clisp.org>
56452
56453         Fix link error due to xalloc_die().
56454         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
56455         of xreadlink.
56456         * lib/relocwrapper.c: Update comments.
56457         * build-aux/install-reloc: Remove xreadlink.c from file list.
56458         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
56459         xreadlink.c.
56460         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56461
56462 2007-12-24  Bruno Haible  <bruno@clisp.org>
56463
56464         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
56465         * lib/setenv.h: Remove file.
56466         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
56467         lib/setenv.h.
56468         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
56469         (Depends-on): Add stdlib.
56470         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
56471         gl_FUNC_UNSETENV.
56472         (Include): Replace setenv.h with <stdlib.h>.
56473         * modules/unsetenv: New file.
56474         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
56475         * lib/unsetenv.c: Include <stdlib.h> first.
56476         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
56477         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
56478         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
56479         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
56480         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
56481         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
56483         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56484         * doc/functions/unsetenv.texi: Update.
56485         * modules/xsetenv (Depends-on): Add unsetenv.
56486         * modules/getdate (Depends-on): Likewise.
56487         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
56488         * lib/xsetenv.c: Don't include setenv.h.
56489         * lib/getdate.y: Likewise.
56490         * lib/relocwrapper.c: Likewise.
56491         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
56492         (Depends-on): Add stdlib.
56493         * NEWS: Mention the changes.
56494         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56495
56496 2007-12-23  Bruno Haible  <bruno@clisp.org>
56497
56498         * lib/memmem.c (memmem): Use lowercase variable names. Tab
56499         indentation.
56500
56501 2007-12-23  Bruno Haible  <bruno@clisp.org>
56502
56503         * lib/c-strcasestr.c: Add more comments.
56504         * lib/c-strstr.c: Likewise.
56505         * lib/mbscasestr.c: Likewise.
56506         * lib/mbsstr.c: Likewise.
56507         * lib/strcasestr.c: Likewise.
56508         * lib/memmem.c: Likewise.
56509
56510 2007-12-23  Bruno Haible  <bruno@clisp.org>
56511
56512         * tests/test-memmem.c: Include <string.h> first.
56513
56514 2007-12-22  Bruno Haible  <bruno@clisp.org>
56515
56516         * gnulib-tool (func_create_testdir): Change $auxdir while generating
56517         the contents of $testsbase.
56518         Reported by Ralf Wildenhues.
56519
56520 2007-12-22  Bruno Haible  <bruno@clisp.org>
56521
56522         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
56523         two variables local_ldadd_before, local_ldadd_last.
56524
56525 2007-12-20  Eric Blake  <ebb9@byu.net>
56526
56527         Work around circular library issue when cross-compiling.
56528         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
56529         that progname.o does not need to pull in rpl_memcmp.
56530
56531 2007-12-19  Eric Blake  <ebb9@byu.net>
56532
56533         Fix memmem to avoid O(n^2) worst-case complexity.
56534         * lib/memmem.c (knuth_morris_pratt): New function.
56535         (memmem): Use it if first few naive iterations fail.
56536         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
56537         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
56538         * modules/memchr (License): Likewise.
56539         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
56540         malloca.
56541         * tests/test-memmem.c: Rewrite, borrowing ideas from
56542         test-mbsstr1.c; the old version wouldn't even compile!
56543         * modules/memmem-tests: New file.
56544         * lib/string.in.h (rpl_memmem): Add declaration.
56545         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
56546         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
56547         REPLACE_MEMMEM.
56548
56549 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56550
56551         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
56552         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
56553         before any system include files, and undef after them all.  This
56554         should fix a problem on VMS reported by John E. Malmberg in
56555         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
56556
56557 2007-12-17  Eric Blake  <ebb9@byu.net>
56558
56559         Revert addition of verify, for BSD/OS.
56560         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
56561         can't handle large files, for the sake of obsolete platforms.
56562         * modules/fseeko (Depends-on): Remove verify.
56563         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
56564         * doc/functions/ftello.texi (ftello): Likewise.
56565         * doc/functions/fgetpos.texi (fgetpos): Likewise.
56566         Reported by Larry Jones.
56567
56568 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
56569
56570         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
56571         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
56572
56573 2007-12-17  Jim Meyering  <meyering@redhat.com>
56574
56575         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
56576         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
56577         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
56578         * modules/getcwd (Depends-on): Add openat.
56579         Reported by Petr Salinger.
56580
56581 2007-12-17  Bruno Haible  <bruno@clisp.org>
56582
56583         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
56584         avoid a segmentation fault of the configure test on x86_64 systems.
56585
56586 2007-12-15  Jim Meyering  <meyering@redhat.com>
56587
56588         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
56589
56590 2007-12-13  Eric Blake  <ebb9@byu.net>
56591
56592         Another fseek test.
56593         * tests/test-fseek.c (main): Also test ungetc handling.
56594         * tests/test-fseeko.c (main): Likewise.
56595         * modules/fseeko (Depends-on): Add verify.
56596         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
56597         large.
56598         Reported by Larry Jones.
56599
56600         Fix fseeko on mingw.
56601         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
56602         seek.
56603
56604         Beef up fseek tests.
56605         * tests/test-fseek.c (main): Also test eof handling.
56606         * tests/test-fseeko.c (main): Likewise.
56607         Reported by Larry Jones.
56608
56609 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
56610
56611         Fix fseeko on BSD-based platforms.
56612         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
56613         successful seek.
56614
56615 2007-12-12  Eric Blake  <ebb9@byu.net>
56616
56617         Allow circular dependency of separate libtests.a
56618         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
56619         when use_libtests.
56620
56621 2007-12-11  Eric Blake  <ebb9@byu.net>
56622
56623         Fix bug with -0.0L in previous patch.
56624         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
56625         * tests/test-isnan.c (main): Also test on zeroes.
56626         * tests/test-isnanf.c (main): Likewise.
56627         * tests/test-isnanl.h (main): Likewise.
56628
56629         Detect pseudo-denormals on x86 even when cross-compiling.
56630         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
56631         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
56632         invalid bit patterns that happen to satisfy ==.
56633
56634         Avoid link failures with separate libtests.a.
56635         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
56636         last, to satisfy circular dependencies.
56637
56638 2007-12-11  Eric Blake  <ebb9@byu.net>
56639         and Bruno Haible  <bruno@clisp.org>
56640
56641         Fix OpenBSD 4.0 <float.h> handling of long double.
56642         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
56643         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
56644         * doc/headers/float.texi (float.h): Document OpenBSD bug.
56645
56646 2007-12-11  Jim Meyering  <meyering@redhat.com>
56647
56648         * users.txt: Add libvirt.
56649
56650         Support versions of autoconf prior to 2.59c.
56651         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
56652         if it is not already defined.
56653
56654 2007-12-09  Bruno Haible  <bruno@clisp.org>
56655
56656         Let 'gnulib-tool --import' collect sources needed for the tests in
56657         tests/ rather than in lib/.
56658         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
56659         argument. If true, add rules to generate libtests.a, and put libtests.a
56660         into $(LDADD). Consider source files in subdirectories and set
56661         uses_subdirs.
56662         (func_emit_initmacro_start, func_emit_initmacro_end,
56663         func_emit_initmacro_done): Pass all arguments explicitly.
56664         (func_import): Determine two module lists main_modules,
56665         testsrelated_modules. Determine use_libtests. Determine two variables
56666         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
56667         instead of just sed_transform_lib_file. Determine two variables
56668         main_files and testsrelated_files. Compute 'files' as the union of
56669         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
56670         func_add_or_update. In the generated gnulib-comp.m4, collect the
56671         object files for tests/ in different variables than those for lib/.
56672         Substitute LIBTESTS_LIBDEPS.
56673         (func_create_testdir): Combine the uses_subdirs results from
56674         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
56675
56676 2007-12-09  Bruno Haible  <bruno@clisp.org>
56677
56678         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
56679         the build-aux directory.
56680
56681 2007-12-09  Bruno Haible  <bruno@clisp.org>
56682
56683         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
56684         introduced on 2006-09-09.
56685
56686 2007-12-07  Jim Meyering  <meyering@redhat.com>
56687
56688         Let these macros work also with autoconf-2.59.
56689         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
56690         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
56691         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56692
56693 2007-12-06  Jim Meyering  <meyering@redhat.com>
56694
56695         Avoid a configure-time syntax error in gl_FUNC_ACL.
56696         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
56697         function in each branch, before testing the cache variable.
56698
56699 2007-12-04  Eric Blake  <ebb9@byu.net>
56700
56701         Make scripts executable.
56702         * build-aux/config.guess: Add execute permissions.
56703         * build-aux/config.sub: Likewise.
56704         * build-aux/gendocs.sh: Likewise.
56705
56706         Fix frexp on mingw.
56707         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
56708         cross-compiling.
56709         * doc/functions/frexp.texi (frexp): Document the bug.
56710
56711         Make cygwin fseeko check more reliable.
56712         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
56713         version numbers, rather than unrelated feature check.
56714         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
56715         * doc/functions/ftello.texi (ftello): Likewise.
56716         Reported by Bruno Haible.
56717
56718         * m4/strerror.m4: Bump version number.
56719
56720 2007-12-03  Bruno Haible  <bruno@clisp.org>
56721
56722         * doc/functions/mprotect.texi: Mention the mingw problem.
56723
56724 2007-12-03  Eric Blake  <ebb9@byu.net>
56725
56726         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
56727         REPLACE_STRERROR is initialized before this macro.
56728
56729 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56730
56731         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
56732         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
56733         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
56734         put -lsec in even for programs other than 'ls'.  This fixes a problem
56735         for gettext reported by Bruno Haible in
56736         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
56737         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
56738         Add support for Solaris 10.  This isn't efficient, but should get the
56739         job done for now.
56740
56741 2007-12-03  James Youngman  <jay@gnu.org>
56742
56743         * doc/regexprops-generic.texi: change "an close-group" to "a
56744         close-group" and "illegal" to "not allowed".
56745
56746 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56747
56748         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
56749         pr_byname.h. Needed for the rare case when the maintainer has done
56750         "make maintainer-clean" in the source directory and then attempts a
56751         build outside the source directory.
56752         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
56753         scripts_byname.h.
56754
56755 2007-12-02  Martin Lambers <marlam@marlam.de>
56756             Bruno Haible  <bruno@clisp.org>
56757
56758         * lib/getpagesize.h: Remove file.
56759         * lib/unistd.in.h: Include declaration of getpagesize here.
56760         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
56761         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
56762         HAVE_SYS_PARAM_H.
56763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
56764         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56765         * modules/getpagesize (Files): Remove lib/getpagesize.h.
56766         (Depends-on): Add unistd.
56767         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56768         (Include): Use <unistd.h> instead of getpagesize.h.
56769         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
56770         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56771         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
56772         gl_GETPAGESIZE invocation, already handled by module dependency.
56773         * lib/pagealign_alloc.c: Don't include getpagesize.h.
56774
56775 2007-12-02  Bruno Haible  <bruno@clisp.org>
56776
56777         * modules/strings-tests: New file.
56778         * tests/test-strings.c: New file.
56779
56780         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
56781         * lib/strings.in.h: New file.
56782         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
56783         * m4/strings_h.m4: New file.
56784         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
56785         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
56786         * modules/strings: New file.
56787         * modules/string (Makefile.am): Update.
56788         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
56789         Reported by Karl Berry.
56790
56791 2007-12-01  Eric Blake  <ebb9@byu.net>
56792
56793         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
56794         accomodate fix in cygwin 1.5.25.
56795
56796 2007-12-01  Jim Meyering  <meyering@redhat.com>
56797
56798         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
56799         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
56800         that would inhibit utf8-optimization of a regexp containing line-
56801         or buffer-anchors, e.g., `^', `$'.
56802
56803 2007-11-30  Bruno Haible  <bruno@clisp.org>
56804
56805         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
56806         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
56807         glthread_recursive_lock_init.
56808         * lib/lock.c (glthread_recursive_lock_init)
56809         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
56810         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56811
56812 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
56813
56814         New function qset_acl, like set_acl but with syscall semantics.
56815         * lib/acl.h (qset_acl): New decl.
56816         * lib/acl.c (qset_acl): New function.
56817         (set_acl): Use new function.  Use more-consistent diagnostics.
56818
56819 2007-11-28  Jim Meyering  <meyering@redhat.com>
56820
56821         * modules/physmem (License): Change from GPL to LGPLv2+.
56822
56823 2007-11-26  Bruno Haible  <bruno@clisp.org>
56824
56825         * lib/vasnprintf.c (decode_long_double): Don't abort if the
56826         'long double' type has excess precision.
56827         Reported by Jim Meyering in
56828         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
56829
56830 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56831
56832         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
56833         Sync from <http://gnu.org/licenses>.
56834         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
56835         with license text from same location.
56836         * doc/maintain.texi, doc/standards.texi:  Sync from
56837         <http://savannah.gnu.org/projects/gnustandards>.
56838
56839 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
56840         and Jim Meyering  <meyering@redhat.com>
56841
56842         Adjust getdate' grammar to accept a slightly more regular language.
56843         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
56844         Before, the former was rejected.
56845         * lib/getdate.y (digits_to_date_time): New function, factored
56846         out of ...
56847         (number): ...here.  Just call digits_to_date_time.
56848         (hybrid): New non-terminal to handle an <unsigned number,
56849         signed relative offset> sequence consistently.
56850
56851 2007-11-18  Jim Meyering  <meyering@redhat.com>
56852
56853         Pull my changes from coreutils:
56854         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
56855         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
56856         use of $gnulib_tool_option_extras, so that it's separated from the
56857         preceding argument.
56858
56859         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
56860         * build-aux/bootstrap (cp_mark_as_generated): Create any required
56861         parent destination directories before copying a file into place.
56862
56863 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56864
56865         bootstrap: work also with 4-argument variant of AC_INIT
56866         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
56867
56868 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56869
56870         Port test-getaddrinfo to Solaris.
56871         Problem reported by Bruno Haible in
56872         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
56873         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
56874         explanation of setting 'hints'.
56875         Don't reject an implementation merely because it returns EAI_SERVICE.
56876         (EAI_SERVICE): Define to 0 if not defined.
56877
56878 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
56879
56880         The license of gnu-make and posix-shell is now "GPLed build tool".
56881         * modules/gnu-make (License): Likewise.
56882         * modules/posix-shell (License): Likewise.
56883
56884         New module posix-shell, for determining a POSIX shell
56885         or perhaps something that is close enough to a POSIX shell.
56886         * m4/posix-shell.m4: New file.
56887         * modules/posix-shell: New file.
56888
56889         * MODULES.html.sh: Mention new module.
56890
56891         New module gnu-make, for determining whether we're using GNU Make.
56892         * m4/gnu-make.m4: New file.
56893         * modules/gnu-make: New file.
56894         * MODULES.html.sh: Mention new module.
56895
56896 2007-11-14  Jim Meyering  <meyering@redhat.com>
56897
56898         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
56899         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
56900         use this macro to create a function _definition_.
56901         Remove useless "#undef ARGMATCH_DIE".
56902
56903 2007-11-14  Bruno Haible  <bruno@clisp.org>
56904
56905         * lib/config.charset: Update for OpenBSD 4.1.
56906         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
56907
56908 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
56909
56910         Document 64-bit #if problems in stdint.texi.
56911         * doc/headers/stdint.texi (stdint.h): Mention problems with
56912         64-bit-#if, and how to work around them.
56913
56914         Don't insist on 'long long int' support in the preprocessor.  It
56915         breaks too many things.  For example, PRIdMAX still uses a 'long
56916         long int' format with the latest Sun compiler, even though
56917         HAVE_LONG_LONG_INT isn't defined due to that compiler's
56918         preprocessor problem.  This causes the latest coreutils to dump
56919         core on Solaris 10 sparc with the Sun C compiler.
56920         Instead, fix the 2007-10-16 problem in a different way, by evaluating
56921         the troublesome expressions at configure-time, not at #if-time.
56922         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
56923         preprocessor.
56924         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
56925         compile-time C checks, done at 'configure'-time.
56926         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
56927         * modules/inttypes (Makefile): Substitute the new symbols that
56928         gl_INTTYPES_H now generates.
56929         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
56930
56931 2007-11-12  Bruno Haible  <bruno@clisp.org>
56932
56933         Tests for Unicode character classification functions.
56934
56935         * modules/unictype/bidicategory-byname-tests: New file.
56936         * modules/unictype/bidicategory-name-tests: New file.
56937         * modules/unictype/bidicategory-of-tests: New file.
56938         * modules/unictype/bidicategory-test-tests: New file.
56939         * modules/unictype/block-list-tests: New file.
56940         * modules/unictype/block-of-tests: New file.
56941         * modules/unictype/block-test-tests: New file.
56942         * modules/unictype/category-C-tests: New file.
56943         * modules/unictype/category-Cc-tests: New file.
56944         * modules/unictype/category-Cf-tests: New file.
56945         * modules/unictype/category-Cn-tests: New file.
56946         * modules/unictype/category-Co-tests: New file.
56947         * modules/unictype/category-Cs-tests: New file.
56948         * modules/unictype/category-L-tests: New file.
56949         * modules/unictype/category-Ll-tests: New file.
56950         * modules/unictype/category-Lm-tests: New file.
56951         * modules/unictype/category-Lo-tests: New file.
56952         * modules/unictype/category-Lt-tests: New file.
56953         * modules/unictype/category-Lu-tests: New file.
56954         * modules/unictype/category-M-tests: New file.
56955         * modules/unictype/category-Mc-tests: New file.
56956         * modules/unictype/category-Me-tests: New file.
56957         * modules/unictype/category-Mn-tests: New file.
56958         * modules/unictype/category-N-tests: New file.
56959         * modules/unictype/category-Nd-tests: New file.
56960         * modules/unictype/category-Nl-tests: New file.
56961         * modules/unictype/category-No-tests: New file.
56962         * modules/unictype/category-P-tests: New file.
56963         * modules/unictype/category-Pc-tests: New file.
56964         * modules/unictype/category-Pd-tests: New file.
56965         * modules/unictype/category-Pe-tests: New file.
56966         * modules/unictype/category-Pf-tests: New file.
56967         * modules/unictype/category-Pi-tests: New file.
56968         * modules/unictype/category-Po-tests: New file.
56969         * modules/unictype/category-Ps-tests: New file.
56970         * modules/unictype/category-S-tests: New file.
56971         * modules/unictype/category-Sc-tests: New file.
56972         * modules/unictype/category-Sk-tests: New file.
56973         * modules/unictype/category-Sm-tests: New file.
56974         * modules/unictype/category-So-tests: New file.
56975         * modules/unictype/category-Z-tests: New file.
56976         * modules/unictype/category-Zl-tests: New file.
56977         * modules/unictype/category-Zp-tests: New file.
56978         * modules/unictype/category-Zs-tests: New file.
56979         * modules/unictype/category-and-not-tests: New file.
56980         * modules/unictype/category-and-tests: New file.
56981         * modules/unictype/category-byname-tests: New file.
56982         * modules/unictype/category-name-tests: New file.
56983         * modules/unictype/category-none-tests: New file.
56984         * modules/unictype/category-of-tests: New file.
56985         * modules/unictype/category-or-tests: New file.
56986         * modules/unictype/category-test-withtable-tests: New file.
56987         * modules/unictype/combining-class-tests: New file.
56988         * modules/unictype/ctype-alnum-tests: New file.
56989         * modules/unictype/ctype-alpha-tests: New file.
56990         * modules/unictype/ctype-blank-tests: New file.
56991         * modules/unictype/ctype-cntrl-tests: New file.
56992         * modules/unictype/ctype-digit-tests: New file.
56993         * modules/unictype/ctype-graph-tests: New file.
56994         * modules/unictype/ctype-lower-tests: New file.
56995         * modules/unictype/ctype-print-tests: New file.
56996         * modules/unictype/ctype-punct-tests: New file.
56997         * modules/unictype/ctype-space-tests: New file.
56998         * modules/unictype/ctype-upper-tests: New file.
56999         * modules/unictype/ctype-xdigit-tests: New file.
57000         * modules/unictype/decimal-digit-tests: New file.
57001         * modules/unictype/digit-tests: New file.
57002         * modules/unictype/mirror-tests: New file.
57003         * modules/unictype/numeric-tests: New file.
57004         * modules/unictype/property-alphabetic-tests: New file.
57005         * modules/unictype/property-ascii-hex-digit-tests: New file.
57006         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57007         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57008         * modules/unictype/property-bidi-block-separator-tests: New file.
57009         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57010         * modules/unictype/property-bidi-common-separator-tests: New file.
57011         * modules/unictype/property-bidi-control-tests: New file.
57012         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57013         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57014         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57015         * modules/unictype/property-bidi-european-digit-tests: New file.
57016         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57017         * modules/unictype/property-bidi-left-to-right-tests: New file.
57018         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57019         * modules/unictype/property-bidi-other-neutral-tests: New file.
57020         * modules/unictype/property-bidi-pdf-tests: New file.
57021         * modules/unictype/property-bidi-segment-separator-tests: New file.
57022         * modules/unictype/property-bidi-whitespace-tests: New file.
57023         * modules/unictype/property-byname-tests: New file.
57024         * modules/unictype/property-combining-tests: New file.
57025         * modules/unictype/property-composite-tests: New file.
57026         * modules/unictype/property-currency-symbol-tests: New file.
57027         * modules/unictype/property-dash-tests: New file.
57028         * modules/unictype/property-decimal-digit-tests: New file.
57029         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57030         * modules/unictype/property-deprecated-tests: New file.
57031         * modules/unictype/property-diacritic-tests: New file.
57032         * modules/unictype/property-extender-tests: New file.
57033         * modules/unictype/property-format-control-tests: New file.
57034         * modules/unictype/property-grapheme-base-tests: New file.
57035         * modules/unictype/property-grapheme-extend-tests: New file.
57036         * modules/unictype/property-grapheme-link-tests: New file.
57037         * modules/unictype/property-hex-digit-tests: New file.
57038         * modules/unictype/property-hyphen-tests: New file.
57039         * modules/unictype/property-id-continue-tests: New file.
57040         * modules/unictype/property-id-start-tests: New file.
57041         * modules/unictype/property-ideographic-tests: New file.
57042         * modules/unictype/property-ids-binary-operator-tests: New file.
57043         * modules/unictype/property-ids-trinary-operator-tests: New file.
57044         * modules/unictype/property-ignorable-control-tests: New file.
57045         * modules/unictype/property-iso-control-tests: New file.
57046         * modules/unictype/property-join-control-tests: New file.
57047         * modules/unictype/property-left-of-pair-tests: New file.
57048         * modules/unictype/property-line-separator-tests: New file.
57049         * modules/unictype/property-logical-order-exception-tests: New file.
57050         * modules/unictype/property-lowercase-tests: New file.
57051         * modules/unictype/property-math-tests: New file.
57052         * modules/unictype/property-non-break-tests: New file.
57053         * modules/unictype/property-not-a-character-tests: New file.
57054         * modules/unictype/property-numeric-tests: New file.
57055         * modules/unictype/property-other-alphabetic-tests: New file.
57056         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57057         * modules/unictype/property-other-grapheme-extend-tests: New file.
57058         * modules/unictype/property-other-id-continue-tests: New file.
57059         * modules/unictype/property-other-id-start-tests: New file.
57060         * modules/unictype/property-other-lowercase-tests: New file.
57061         * modules/unictype/property-other-math-tests: New file.
57062         * modules/unictype/property-other-uppercase-tests: New file.
57063         * modules/unictype/property-paired-punctuation-tests: New file.
57064         * modules/unictype/property-paragraph-separator-tests: New file.
57065         * modules/unictype/property-pattern-syntax-tests: New file.
57066         * modules/unictype/property-pattern-white-space-tests: New file.
57067         * modules/unictype/property-private-use-tests: New file.
57068         * modules/unictype/property-punctuation-tests: New file.
57069         * modules/unictype/property-quotation-mark-tests: New file.
57070         * modules/unictype/property-radical-tests: New file.
57071         * modules/unictype/property-sentence-terminal-tests: New file.
57072         * modules/unictype/property-soft-dotted-tests: New file.
57073         * modules/unictype/property-space-tests: New file.
57074         * modules/unictype/property-terminal-punctuation-tests: New file.
57075         * modules/unictype/property-test-tests: New file.
57076         * modules/unictype/property-titlecase-tests: New file.
57077         * modules/unictype/property-unassigned-code-value-tests: New file.
57078         * modules/unictype/property-unified-ideograph-tests: New file.
57079         * modules/unictype/property-uppercase-tests: New file.
57080         * modules/unictype/property-variation-selector-tests: New file.
57081         * modules/unictype/property-white-space-tests: New file.
57082         * modules/unictype/property-xid-continue-tests: New file.
57083         * modules/unictype/property-xid-start-tests: New file.
57084         * modules/unictype/property-zero-width-tests: New file.
57085         * modules/unictype/scripts-tests: New file.
57086         * modules/unictype/syntax-c-ident-tests: New file.
57087         * modules/unictype/syntax-c-whitespace-tests: New file.
57088         * modules/unictype/syntax-java-ident-tests: New file.
57089         * modules/unictype/syntax-java-whitespace-tests: New file.
57090         * tests/unictype/test-bidi_byname.c: New file.
57091         * tests/unictype/test-bidi_name.c: New file.
57092         * tests/unictype/test-bidi_of.c: New file.
57093         * tests/unictype/test-bidi_test.c: New file.
57094         * tests/unictype/test-block_list.c: New file.
57095         * tests/unictype/test-block_of.c: New file.
57096         * tests/unictype/test-block_test.c: New file.
57097         * tests/unictype/test-categ_and.c: New file.
57098         * tests/unictype/test-categ_and_not.c: New file.
57099         * tests/unictype/test-categ_byname.c: New file.
57100         * tests/unictype/test-categ_name.c: New file.
57101         * tests/unictype/test-categ_none.c: New file.
57102         * tests/unictype/test-categ_of.c: New file.
57103         * tests/unictype/test-categ_or.c: New file.
57104         * tests/unictype/test-categ_test_withtable.c: New file.
57105         * tests/unictype/test-combining.c: New file.
57106         * tests/unictype/test-decdigit.c: New file.
57107         * tests/unictype/test-digit.c: New file.
57108         * tests/unictype/test-mirror.c: New file.
57109         * tests/unictype/test-numeric.c: New file.
57110         * tests/unictype/test-pr_byname.c: New file.
57111         * tests/unictype/test-pr_test.c: New file.
57112         * tests/unictype/test-predicate-part1.h: New file.
57113         * tests/unictype/test-predicate-part2.h: New file.
57114         * tests/unictype/test-scripts.c: New file.
57115         * tests/unictype/test-sy_c_ident.c: New file.
57116         * tests/unictype/test-sy_java_ident.c: New file.
57117
57118         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57119         for Unicode 5.0.0.
57120         * tests/unictype/test-categ_Cc.c: Likewise.
57121         * tests/unictype/test-categ_Cf.c: Likewise.
57122         * tests/unictype/test-categ_Cn.c: Likewise.
57123         * tests/unictype/test-categ_Co.c: Likewise.
57124         * tests/unictype/test-categ_Cs.c: Likewise.
57125         * tests/unictype/test-categ_L.c: Likewise.
57126         * tests/unictype/test-categ_Ll.c: Likewise.
57127         * tests/unictype/test-categ_Lm.c: Likewise.
57128         * tests/unictype/test-categ_Lo.c: Likewise.
57129         * tests/unictype/test-categ_Lt.c: Likewise.
57130         * tests/unictype/test-categ_Lu.c: Likewise.
57131         * tests/unictype/test-categ_M.c: Likewise.
57132         * tests/unictype/test-categ_Mc.c: Likewise.
57133         * tests/unictype/test-categ_Me.c: Likewise.
57134         * tests/unictype/test-categ_Mn.c: Likewise.
57135         * tests/unictype/test-categ_N.c: Likewise.
57136         * tests/unictype/test-categ_Nd.c: Likewise.
57137         * tests/unictype/test-categ_Nl.c: Likewise.
57138         * tests/unictype/test-categ_No.c: Likewise.
57139         * tests/unictype/test-categ_P.c: Likewise.
57140         * tests/unictype/test-categ_Pc.c: Likewise.
57141         * tests/unictype/test-categ_Pd.c: Likewise.
57142         * tests/unictype/test-categ_Pe.c: Likewise.
57143         * tests/unictype/test-categ_Pf.c: Likewise.
57144         * tests/unictype/test-categ_Pi.c: Likewise.
57145         * tests/unictype/test-categ_Po.c: Likewise.
57146         * tests/unictype/test-categ_Ps.c: Likewise.
57147         * tests/unictype/test-categ_S.c: Likewise.
57148         * tests/unictype/test-categ_Sc.c: Likewise.
57149         * tests/unictype/test-categ_Sk.c: Likewise.
57150         * tests/unictype/test-categ_Sm.c: Likewise.
57151         * tests/unictype/test-categ_So.c: Likewise.
57152         * tests/unictype/test-categ_Z.c: Likewise.
57153         * tests/unictype/test-categ_Zl.c: Likewise.
57154         * tests/unictype/test-categ_Zp.c: Likewise.
57155         * tests/unictype/test-categ_Zs.c: Likewise.
57156         * tests/unictype/test-ctype_alnum.c: Likewise.
57157         * tests/unictype/test-ctype_alpha.c: Likewise.
57158         * tests/unictype/test-ctype_blank.c: Likewise.
57159         * tests/unictype/test-ctype_cntrl.c: Likewise.
57160         * tests/unictype/test-ctype_digit.c: Likewise.
57161         * tests/unictype/test-ctype_graph.c: Likewise.
57162         * tests/unictype/test-ctype_lower.c: Likewise.
57163         * tests/unictype/test-ctype_print.c: Likewise.
57164         * tests/unictype/test-ctype_punct.c: Likewise.
57165         * tests/unictype/test-ctype_space.c: Likewise.
57166         * tests/unictype/test-ctype_upper.c: Likewise.
57167         * tests/unictype/test-ctype_xdigit.c: Likewise.
57168         * tests/unictype/test-decdigit.h: Likewise.
57169         * tests/unictype/test-digit.h: Likewise.
57170         * tests/unictype/test-numeric.h: Likewise.
57171         * tests/unictype/test-pr_alphabetic.c: Likewise.
57172         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57173         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57174         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57175         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57176         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57177         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57178         * tests/unictype/test-pr_bidi_control.c: Likewise.
57179         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57180         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57181         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57182         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57183         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57184         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57185         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57186         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57187         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
57188         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
57189         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
57190         * tests/unictype/test-pr_combining.c: Likewise.
57191         * tests/unictype/test-pr_composite.c: Likewise.
57192         * tests/unictype/test-pr_currency_symbol.c: Likewise.
57193         * tests/unictype/test-pr_dash.c: Likewise.
57194         * tests/unictype/test-pr_decimal_digit.c: Likewise.
57195         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
57196         * tests/unictype/test-pr_deprecated.c: Likewise.
57197         * tests/unictype/test-pr_diacritic.c: Likewise.
57198         * tests/unictype/test-pr_extender.c: Likewise.
57199         * tests/unictype/test-pr_format_control.c: Likewise.
57200         * tests/unictype/test-pr_grapheme_base.c: Likewise.
57201         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
57202         * tests/unictype/test-pr_grapheme_link.c: Likewise.
57203         * tests/unictype/test-pr_hex_digit.c: Likewise.
57204         * tests/unictype/test-pr_hyphen.c: Likewise.
57205         * tests/unictype/test-pr_id_continue.c: Likewise.
57206         * tests/unictype/test-pr_id_start.c: Likewise.
57207         * tests/unictype/test-pr_ideographic.c: Likewise.
57208         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
57209         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
57210         * tests/unictype/test-pr_ignorable_control.c: Likewise.
57211         * tests/unictype/test-pr_iso_control.c: Likewise.
57212         * tests/unictype/test-pr_join_control.c: Likewise.
57213         * tests/unictype/test-pr_left_of_pair.c: Likewise.
57214         * tests/unictype/test-pr_line_separator.c: Likewise.
57215         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
57216         * tests/unictype/test-pr_lowercase.c: Likewise.
57217         * tests/unictype/test-pr_math.c: Likewise.
57218         * tests/unictype/test-pr_non_break.c: Likewise.
57219         * tests/unictype/test-pr_not_a_character.c: Likewise.
57220         * tests/unictype/test-pr_numeric.c: Likewise.
57221         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
57222         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
57223         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
57224         * tests/unictype/test-pr_other_id_continue.c: Likewise.
57225         * tests/unictype/test-pr_other_id_start.c: Likewise.
57226         * tests/unictype/test-pr_other_lowercase.c: Likewise.
57227         * tests/unictype/test-pr_other_math.c: Likewise.
57228         * tests/unictype/test-pr_other_uppercase.c: Likewise.
57229         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
57230         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
57231         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
57232         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
57233         * tests/unictype/test-pr_private_use.c: Likewise.
57234         * tests/unictype/test-pr_punctuation.c: Likewise.
57235         * tests/unictype/test-pr_quotation_mark.c: Likewise.
57236         * tests/unictype/test-pr_radical.c: Likewise.
57237         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
57238         * tests/unictype/test-pr_soft_dotted.c: Likewise.
57239         * tests/unictype/test-pr_space.c: Likewise.
57240         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
57241         * tests/unictype/test-pr_titlecase.c: Likewise.
57242         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
57243         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
57244         * tests/unictype/test-pr_uppercase.c: Likewise.
57245         * tests/unictype/test-pr_variation_selector.c: Likewise.
57246         * tests/unictype/test-pr_white_space.c: Likewise.
57247         * tests/unictype/test-pr_xid_continue.c: Likewise.
57248         * tests/unictype/test-pr_xid_start.c: Likewise.
57249         * tests/unictype/test-pr_zero_width.c: Likewise.
57250         * tests/unictype/test-sy_c_whitespace.c: Likewise.
57251         * tests/unictype/test-sy_java_whitespace.c: Likewise.
57252
57253 2007-11-12  Bruno Haible  <bruno@clisp.org>
57254
57255         Unicode character classification functions.
57256         * lib/unictype.h: New file.
57257         * modules/unictype/base: New file.
57258         * modules/unictype/category-L: New file.
57259         * modules/unictype/category-Lu: New file.
57260         * modules/unictype/category-Ll: New file.
57261         * modules/unictype/category-Lt: New file.
57262         * modules/unictype/category-Lm: New file.
57263         * modules/unictype/category-Lo: New file.
57264         * modules/unictype/category-M: New file.
57265         * modules/unictype/category-Mn: New file.
57266         * modules/unictype/category-Mc: New file.
57267         * modules/unictype/category-Me: New file.
57268         * modules/unictype/category-N: New file.
57269         * modules/unictype/category-Nd: New file.
57270         * modules/unictype/category-Nl: New file.
57271         * modules/unictype/category-No: New file.
57272         * modules/unictype/category-P: New file.
57273         * modules/unictype/category-Pc: New file.
57274         * modules/unictype/category-Pd: New file.
57275         * modules/unictype/category-Ps: New file.
57276         * modules/unictype/category-Pe: New file.
57277         * modules/unictype/category-Pi: New file.
57278         * modules/unictype/category-Pf: New file.
57279         * modules/unictype/category-Po: New file.
57280         * modules/unictype/category-S: New file.
57281         * modules/unictype/category-Sm: New file.
57282         * modules/unictype/category-Sc: New file.
57283         * modules/unictype/category-Sk: New file.
57284         * modules/unictype/category-So: New file.
57285         * modules/unictype/category-Z: New file.
57286         * modules/unictype/category-Zs: New file.
57287         * modules/unictype/category-Zl: New file.
57288         * modules/unictype/category-Zp: New file.
57289         * modules/unictype/category-C: New file.
57290         * modules/unictype/category-Cc: New file.
57291         * modules/unictype/category-Cf: New file.
57292         * modules/unictype/category-Cs: New file.
57293         * modules/unictype/category-Co: New file.
57294         * modules/unictype/category-Cn: New file.
57295         * modules/unictype/category-or: New file.
57296         * modules/unictype/category-of: New file.
57297         * modules/unictype/category-test: New file.
57298         * modules/unictype/category-test-withtable: New file.
57299         * modules/unictype/category-byname: New file.
57300         * modules/unictype/category-none: New file.
57301         * modules/unictype/category-and: New file.
57302         * modules/unictype/category-and-not: New file.
57303         * modules/unictype/category-name: New file.
57304         * modules/unictype/combining-class: New file.
57305         * modules/unictype/category-all: New file.
57306         * modules/unictype/bidicategory-all: New file.
57307         * modules/unictype/bidicategory-byname: New file.
57308         * modules/unictype/bidicategory-name: New file.
57309         * modules/unictype/bidicategory-of: New file.
57310         * modules/unictype/bidicategory-test: New file.
57311         * modules/unictype/decimal-digit: New file.
57312         * modules/unictype/digit: New file.
57313         * modules/unictype/numeric: New file.
57314         * modules/unictype/mirror: New file.
57315         * modules/unictype/property-white-space: New file.
57316         * modules/unictype/property-alphabetic: New file.
57317         * modules/unictype/property-other-alphabetic: New file.
57318         * modules/unictype/property-not-a-character: New file.
57319         * modules/unictype/property-default-ignorable-code-point: New file.
57320         * modules/unictype/property-other-default-ignorable-code-point: New
57321         file.
57322         * modules/unictype/property-deprecated: New file.
57323         * modules/unictype/property-logical-order-exception: New file.
57324         * modules/unictype/property-variation-selector: New file.
57325         * modules/unictype/property-private-use: New file.
57326         * modules/unictype/property-unassigned-code-value: New file.
57327         * modules/unictype/property-uppercase: New file.
57328         * modules/unictype/property-other-uppercase: New file.
57329         * modules/unictype/property-lowercase: New file.
57330         * modules/unictype/property-other-lowercase: New file.
57331         * modules/unictype/property-titlecase: New file.
57332         * modules/unictype/property-soft-dotted: New file.
57333         * modules/unictype/property-id-start: New file.
57334         * modules/unictype/property-other-id-start: New file.
57335         * modules/unictype/property-id-continue: New file.
57336         * modules/unictype/property-other-id-continue: New file.
57337         * modules/unictype/property-xid-start: New file.
57338         * modules/unictype/property-xid-continue: New file.
57339         * modules/unictype/property-pattern-white-space: New file.
57340         * modules/unictype/property-pattern-syntax: New file.
57341         * modules/unictype/property-join-control: New file.
57342         * modules/unictype/property-grapheme-base: New file.
57343         * modules/unictype/property-grapheme-extend: New file.
57344         * modules/unictype/property-other-grapheme-extend: New file.
57345         * modules/unictype/property-grapheme-link: New file.
57346         * modules/unictype/property-bidi-control: New file.
57347         * modules/unictype/property-bidi-left-to-right: New file.
57348         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
57349         * modules/unictype/property-bidi-arabic-right-to-left: New file.
57350         * modules/unictype/property-bidi-european-digit: New file.
57351         * modules/unictype/property-bidi-eur-num-separator: New file.
57352         * modules/unictype/property-bidi-eur-num-terminator: New file.
57353         * modules/unictype/property-bidi-arabic-digit: New file.
57354         * modules/unictype/property-bidi-common-separator: New file.
57355         * modules/unictype/property-bidi-block-separator: New file.
57356         * modules/unictype/property-bidi-segment-separator: New file.
57357         * modules/unictype/property-bidi-whitespace: New file.
57358         * modules/unictype/property-bidi-non-spacing-mark: New file.
57359         * modules/unictype/property-bidi-boundary-neutral: New file.
57360         * modules/unictype/property-bidi-pdf: New file.
57361         * modules/unictype/property-bidi-embedding-or-override: New file.
57362         * modules/unictype/property-bidi-other-neutral: New file.
57363         * modules/unictype/property-hex-digit: New file.
57364         * modules/unictype/property-ascii-hex-digit: New file.
57365         * modules/unictype/property-ideographic: New file.
57366         * modules/unictype/property-unified-ideograph: New file.
57367         * modules/unictype/property-radical: New file.
57368         * modules/unictype/property-ids-binary-operator: New file.
57369         * modules/unictype/property-ids-trinary-operator: New file.
57370         * modules/unictype/property-zero-width: New file.
57371         * modules/unictype/property-space: New file.
57372         * modules/unictype/property-non-break: New file.
57373         * modules/unictype/property-iso-control: New file.
57374         * modules/unictype/property-format-control: New file.
57375         * modules/unictype/property-dash: New file.
57376         * modules/unictype/property-hyphen: New file.
57377         * modules/unictype/property-punctuation: New file.
57378         * modules/unictype/property-line-separator: New file.
57379         * modules/unictype/property-paragraph-separator: New file.
57380         * modules/unictype/property-quotation-mark: New file.
57381         * modules/unictype/property-sentence-terminal: New file.
57382         * modules/unictype/property-terminal-punctuation: New file.
57383         * modules/unictype/property-currency-symbol: New file.
57384         * modules/unictype/property-math: New file.
57385         * modules/unictype/property-other-math: New file.
57386         * modules/unictype/property-paired-punctuation: New file.
57387         * modules/unictype/property-left-of-pair: New file.
57388         * modules/unictype/property-combining: New file.
57389         * modules/unictype/property-composite: New file.
57390         * modules/unictype/property-decimal-digit: New file.
57391         * modules/unictype/property-numeric: New file.
57392         * modules/unictype/property-diacritic: New file.
57393         * modules/unictype/property-extender: New file.
57394         * modules/unictype/property-ignorable-control: New file.
57395         * modules/unictype/property-test: New file.
57396         * modules/unictype/property-byname: New file.
57397         * modules/unictype/property-all: New file.
57398         * modules/unictype/scripts: New file.
57399         * modules/unictype/scripts-all: New file.
57400         * modules/unictype/block-of: New file.
57401         * modules/unictype/block-test: New file.
57402         * modules/unictype/block-list: New file.
57403         * modules/unictype/block-all: New file.
57404         * modules/unictype/syntax-c-whitespace: New file.
57405         * modules/unictype/syntax-java-whitespace: New file.
57406         * modules/unictype/syntax-c-ident: New file.
57407         * modules/unictype/syntax-java-ident: New file.
57408         * modules/unictype/ctype-alnum: New file.
57409         * modules/unictype/ctype-alpha: New file.
57410         * modules/unictype/ctype-cntrl: New file.
57411         * modules/unictype/ctype-digit: New file.
57412         * modules/unictype/ctype-graph: New file.
57413         * modules/unictype/ctype-lower: New file.
57414         * modules/unictype/ctype-print: New file.
57415         * modules/unictype/ctype-punct: New file.
57416         * modules/unictype/ctype-space: New file.
57417         * modules/unictype/ctype-upper: New file.
57418         * modules/unictype/ctype-xdigit: New file.
57419         * modules/unictype/ctype-blank: New file.
57420         * lib/unictype/bidi_byname.c: New file.
57421         * lib/unictype/bidi_name.c: New file.
57422         * lib/unictype/bidi_of.c: New file.
57423         * lib/unictype/bidi_test.c: New file.
57424         * lib/unictype/bitmap.h: New file.
57425         * lib/unictype/block_test.c: New file.
57426         * lib/unictype/blocks.c: New file.
57427         * lib/unictype/categ_C.c: New file.
57428         * lib/unictype/categ_Cc.c: New file.
57429         * lib/unictype/categ_Cf.c: New file.
57430         * lib/unictype/categ_Cn.c: New file.
57431         * lib/unictype/categ_Co.c: New file.
57432         * lib/unictype/categ_Cs.c: New file.
57433         * lib/unictype/categ_L.c: New file.
57434         * lib/unictype/categ_Ll.c: New file.
57435         * lib/unictype/categ_Lm.c: New file.
57436         * lib/unictype/categ_Lo.c: New file.
57437         * lib/unictype/categ_Lt.c: New file.
57438         * lib/unictype/categ_Lu.c: New file.
57439         * lib/unictype/categ_M.c: New file.
57440         * lib/unictype/categ_Mc.c: New file.
57441         * lib/unictype/categ_Me.c: New file.
57442         * lib/unictype/categ_Mn.c: New file.
57443         * lib/unictype/categ_N.c: New file.
57444         * lib/unictype/categ_Nd.c: New file.
57445         * lib/unictype/categ_Nl.c: New file.
57446         * lib/unictype/categ_No.c: New file.
57447         * lib/unictype/categ_P.c: New file.
57448         * lib/unictype/categ_Pc.c: New file.
57449         * lib/unictype/categ_Pd.c: New file.
57450         * lib/unictype/categ_Pe.c: New file.
57451         * lib/unictype/categ_Pf.c: New file.
57452         * lib/unictype/categ_Pi.c: New file.
57453         * lib/unictype/categ_Po.c: New file.
57454         * lib/unictype/categ_Ps.c: New file.
57455         * lib/unictype/categ_S.c: New file.
57456         * lib/unictype/categ_Sc.c: New file.
57457         * lib/unictype/categ_Sk.c: New file.
57458         * lib/unictype/categ_Sm.c: New file.
57459         * lib/unictype/categ_So.c: New file.
57460         * lib/unictype/categ_Z.c: New file.
57461         * lib/unictype/categ_Zl.c: New file.
57462         * lib/unictype/categ_Zp.c: New file.
57463         * lib/unictype/categ_Zs.c: New file.
57464         * lib/unictype/categ_and.c: New file.
57465         * lib/unictype/categ_and_not.c: New file.
57466         * lib/unictype/categ_byname.c: New file.
57467         * lib/unictype/categ_name.c: New file.
57468         * lib/unictype/categ_none.c: New file.
57469         * lib/unictype/categ_of.c: New file.
57470         * lib/unictype/categ_or.c: New file.
57471         * lib/unictype/categ_test.c: New file.
57472         * lib/unictype/combining.c: New file.
57473         * lib/unictype/ctype_alnum.c: New file.
57474         * lib/unictype/ctype_alpha.c: New file.
57475         * lib/unictype/ctype_blank.c: New file.
57476         * lib/unictype/ctype_cntrl.c: New file.
57477         * lib/unictype/ctype_digit.c: New file.
57478         * lib/unictype/ctype_graph.c: New file.
57479         * lib/unictype/ctype_lower.c: New file.
57480         * lib/unictype/ctype_print.c: New file.
57481         * lib/unictype/ctype_punct.c: New file.
57482         * lib/unictype/ctype_space.c: New file.
57483         * lib/unictype/ctype_upper.c: New file.
57484         * lib/unictype/ctype_xdigit.c: New file.
57485         * lib/unictype/decdigit.c: New file.
57486         * lib/unictype/digit.c: New file.
57487         * lib/unictype/identsyntaxmap.h: New file.
57488         * lib/unictype/mirror.c: New file.
57489         * lib/unictype/numeric.c: New file.
57490         * lib/unictype/pr_alphabetic.c: New file.
57491         * lib/unictype/pr_ascii_hex_digit.c: New file.
57492         * lib/unictype/pr_bidi_arabic_digit.c: New file.
57493         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
57494         * lib/unictype/pr_bidi_block_separator.c: New file.
57495         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
57496         * lib/unictype/pr_bidi_common_separator.c: New file.
57497         * lib/unictype/pr_bidi_control.c: New file.
57498         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
57499         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
57500         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
57501         * lib/unictype/pr_bidi_european_digit.c: New file.
57502         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
57503         * lib/unictype/pr_bidi_left_to_right.c: New file.
57504         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
57505         * lib/unictype/pr_bidi_other_neutral.c: New file.
57506         * lib/unictype/pr_bidi_pdf.c: New file.
57507         * lib/unictype/pr_bidi_segment_separator.c: New file.
57508         * lib/unictype/pr_bidi_whitespace.c: New file.
57509         * lib/unictype/pr_byname.c: New file.
57510         * lib/unictype/pr_byname.gperf: New file.
57511         * lib/unictype/pr_combining.c: New file.
57512         * lib/unictype/pr_composite.c: New file.
57513         * lib/unictype/pr_currency_symbol.c: New file.
57514         * lib/unictype/pr_dash.c: New file.
57515         * lib/unictype/pr_decimal_digit.c: New file.
57516         * lib/unictype/pr_default_ignorable_code_point.c: New file.
57517         * lib/unictype/pr_deprecated.c: New file.
57518         * lib/unictype/pr_diacritic.c: New file.
57519         * lib/unictype/pr_extender.c: New file.
57520         * lib/unictype/pr_format_control.c: New file.
57521         * lib/unictype/pr_grapheme_base.c: New file.
57522         * lib/unictype/pr_grapheme_extend.c: New file.
57523         * lib/unictype/pr_grapheme_link.c: New file.
57524         * lib/unictype/pr_hex_digit.c: New file.
57525         * lib/unictype/pr_hyphen.c: New file.
57526         * lib/unictype/pr_id_continue.c: New file.
57527         * lib/unictype/pr_id_start.c: New file.
57528         * lib/unictype/pr_ideographic.c: New file.
57529         * lib/unictype/pr_ids_binary_operator.c: New file.
57530         * lib/unictype/pr_ids_trinary_operator.c: New file.
57531         * lib/unictype/pr_ignorable_control.c: New file.
57532         * lib/unictype/pr_iso_control.c: New file.
57533         * lib/unictype/pr_join_control.c: New file.
57534         * lib/unictype/pr_left_of_pair.c: New file.
57535         * lib/unictype/pr_line_separator.c: New file.
57536         * lib/unictype/pr_logical_order_exception.c: New file.
57537         * lib/unictype/pr_lowercase.c: New file.
57538         * lib/unictype/pr_math.c: New file.
57539         * lib/unictype/pr_non_break.c: New file.
57540         * lib/unictype/pr_not_a_character.c: New file.
57541         * lib/unictype/pr_numeric.c: New file.
57542         * lib/unictype/pr_other_alphabetic.c: New file.
57543         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
57544         * lib/unictype/pr_other_grapheme_extend.c: New file.
57545         * lib/unictype/pr_other_id_continue.c: New file.
57546         * lib/unictype/pr_other_id_start.c: New file.
57547         * lib/unictype/pr_other_lowercase.c: New file.
57548         * lib/unictype/pr_other_math.c: New file.
57549         * lib/unictype/pr_other_uppercase.c: New file.
57550         * lib/unictype/pr_paired_punctuation.c: New file.
57551         * lib/unictype/pr_paragraph_separator.c: New file.
57552         * lib/unictype/pr_pattern_syntax.c: New file.
57553         * lib/unictype/pr_pattern_white_space.c: New file.
57554         * lib/unictype/pr_private_use.c: New file.
57555         * lib/unictype/pr_punctuation.c: New file.
57556         * lib/unictype/pr_quotation_mark.c: New file.
57557         * lib/unictype/pr_radical.c: New file.
57558         * lib/unictype/pr_sentence_terminal.c: New file.
57559         * lib/unictype/pr_soft_dotted.c: New file.
57560         * lib/unictype/pr_space.c: New file.
57561         * lib/unictype/pr_terminal_punctuation.c: New file.
57562         * lib/unictype/pr_test.c: New file.
57563         * lib/unictype/pr_titlecase.c: New file.
57564         * lib/unictype/pr_unassigned_code_value.c: New file.
57565         * lib/unictype/pr_unified_ideograph.c: New file.
57566         * lib/unictype/pr_uppercase.c: New file.
57567         * lib/unictype/pr_variation_selector.c: New file.
57568         * lib/unictype/pr_white_space.c: New file.
57569         * lib/unictype/pr_xid_continue.c: New file.
57570         * lib/unictype/pr_xid_start.c: New file.
57571         * lib/unictype/pr_zero_width.c: New file.
57572         * lib/unictype/scripts.c: New file.
57573         * lib/unictype/sy_c_ident.c: New file.
57574         * lib/unictype/sy_c_whitespace.c: New file.
57575         * lib/unictype/sy_java_ident.c: New file.
57576         * lib/unictype/sy_java_whitespace.c: New file.
57577
57578         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
57579         Unicode 5.0.0.
57580         * lib/unictype/blocks.h: Likewise.
57581         * lib/unictype/categ_C.h: Likewise.
57582         * lib/unictype/categ_Cc.h: Likewise.
57583         * lib/unictype/categ_Cf.h: Likewise.
57584         * lib/unictype/categ_Cn.h: Likewise.
57585         * lib/unictype/categ_Co.h: Likewise.
57586         * lib/unictype/categ_Cs.h: Likewise.
57587         * lib/unictype/categ_L.h: Likewise.
57588         * lib/unictype/categ_Ll.h: Likewise.
57589         * lib/unictype/categ_Lm.h: Likewise.
57590         * lib/unictype/categ_Lo.h: Likewise.
57591         * lib/unictype/categ_Lt.h: Likewise.
57592         * lib/unictype/categ_Lu.h: Likewise.
57593         * lib/unictype/categ_M.h: Likewise.
57594         * lib/unictype/categ_Mc.h: Likewise.
57595         * lib/unictype/categ_Me.h: Likewise.
57596         * lib/unictype/categ_Mn.h: Likewise.
57597         * lib/unictype/categ_N.h: Likewise.
57598         * lib/unictype/categ_Nd.h: Likewise.
57599         * lib/unictype/categ_Nl.h: Likewise.
57600         * lib/unictype/categ_No.h: Likewise.
57601         * lib/unictype/categ_P.h: Likewise.
57602         * lib/unictype/categ_Pc.h: Likewise.
57603         * lib/unictype/categ_Pd.h: Likewise.
57604         * lib/unictype/categ_Pe.h: Likewise.
57605         * lib/unictype/categ_Pf.h: Likewise.
57606         * lib/unictype/categ_Pi.h: Likewise.
57607         * lib/unictype/categ_Po.h: Likewise.
57608         * lib/unictype/categ_Ps.h: Likewise.
57609         * lib/unictype/categ_S.h: Likewise.
57610         * lib/unictype/categ_Sc.h: Likewise.
57611         * lib/unictype/categ_Sk.h: Likewise.
57612         * lib/unictype/categ_Sm.h: Likewise.
57613         * lib/unictype/categ_So.h: Likewise.
57614         * lib/unictype/categ_Z.h: Likewise.
57615         * lib/unictype/categ_Zl.h: Likewise.
57616         * lib/unictype/categ_Zp.h: Likewise.
57617         * lib/unictype/categ_Zs.h: Likewise.
57618         * lib/unictype/categ_of.h: Likewise.
57619         * lib/unictype/combining.h: Likewise.
57620         * lib/unictype/ctype_alnum.h: Likewise.
57621         * lib/unictype/ctype_alpha.h: Likewise.
57622         * lib/unictype/ctype_blank.h: Likewise.
57623         * lib/unictype/ctype_cntrl.h: Likewise.
57624         * lib/unictype/ctype_digit.h: Likewise.
57625         * lib/unictype/ctype_graph.h: Likewise.
57626         * lib/unictype/ctype_lower.h: Likewise.
57627         * lib/unictype/ctype_print.h: Likewise.
57628         * lib/unictype/ctype_punct.h: Likewise.
57629         * lib/unictype/ctype_space.h: Likewise.
57630         * lib/unictype/ctype_upper.h: Likewise.
57631         * lib/unictype/ctype_xdigit.h: Likewise.
57632         * lib/unictype/decdigit.h: Likewise.
57633         * lib/unictype/digit.h: Likewise.
57634         * lib/unictype/mirror.h: Likewise.
57635         * lib/unictype/numeric.h: Likewise.
57636         * lib/unictype/pr_alphabetic.h: Likewise.
57637         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
57638         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
57639         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
57640         * lib/unictype/pr_bidi_block_separator.h: Likewise.
57641         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
57642         * lib/unictype/pr_bidi_common_separator.h: Likewise.
57643         * lib/unictype/pr_bidi_control.h: Likewise.
57644         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
57645         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
57646         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
57647         * lib/unictype/pr_bidi_european_digit.h: Likewise.
57648         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
57649         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
57650         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
57651         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
57652         * lib/unictype/pr_bidi_pdf.h: Likewise.
57653         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
57654         * lib/unictype/pr_bidi_whitespace.h: Likewise.
57655         * lib/unictype/pr_combining.h: Likewise.
57656         * lib/unictype/pr_composite.h: Likewise.
57657         * lib/unictype/pr_currency_symbol.h: Likewise.
57658         * lib/unictype/pr_dash.h: Likewise.
57659         * lib/unictype/pr_decimal_digit.h: Likewise.
57660         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
57661         * lib/unictype/pr_deprecated.h: Likewise.
57662         * lib/unictype/pr_diacritic.h: Likewise.
57663         * lib/unictype/pr_extender.h: Likewise.
57664         * lib/unictype/pr_format_control.h: Likewise.
57665         * lib/unictype/pr_grapheme_base.h: Likewise.
57666         * lib/unictype/pr_grapheme_extend.h: Likewise.
57667         * lib/unictype/pr_grapheme_link.h: Likewise.
57668         * lib/unictype/pr_hex_digit.h: Likewise.
57669         * lib/unictype/pr_hyphen.h: Likewise.
57670         * lib/unictype/pr_id_continue.h: Likewise.
57671         * lib/unictype/pr_id_start.h: Likewise.
57672         * lib/unictype/pr_ideographic.h: Likewise.
57673         * lib/unictype/pr_ids_binary_operator.h: Likewise.
57674         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
57675         * lib/unictype/pr_ignorable_control.h: Likewise.
57676         * lib/unictype/pr_iso_control.h: Likewise.
57677         * lib/unictype/pr_join_control.h: Likewise.
57678         * lib/unictype/pr_left_of_pair.h: Likewise.
57679         * lib/unictype/pr_line_separator.h: Likewise.
57680         * lib/unictype/pr_logical_order_exception.h: Likewise.
57681         * lib/unictype/pr_lowercase.h: Likewise.
57682         * lib/unictype/pr_math.h: Likewise.
57683         * lib/unictype/pr_non_break.h: Likewise.
57684         * lib/unictype/pr_not_a_character.h: Likewise.
57685         * lib/unictype/pr_numeric.h: Likewise.
57686         * lib/unictype/pr_other_alphabetic.h: Likewise.
57687         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
57688         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
57689         * lib/unictype/pr_other_id_continue.h: Likewise.
57690         * lib/unictype/pr_other_id_start.h: Likewise.
57691         * lib/unictype/pr_other_lowercase.h: Likewise.
57692         * lib/unictype/pr_other_math.h: Likewise.
57693         * lib/unictype/pr_other_uppercase.h: Likewise.
57694         * lib/unictype/pr_paired_punctuation.h: Likewise.
57695         * lib/unictype/pr_paragraph_separator.h: Likewise.
57696         * lib/unictype/pr_pattern_syntax.h: Likewise.
57697         * lib/unictype/pr_pattern_white_space.h: Likewise.
57698         * lib/unictype/pr_private_use.h: Likewise.
57699         * lib/unictype/pr_punctuation.h: Likewise.
57700         * lib/unictype/pr_quotation_mark.h: Likewise.
57701         * lib/unictype/pr_radical.h: Likewise.
57702         * lib/unictype/pr_sentence_terminal.h: Likewise.
57703         * lib/unictype/pr_soft_dotted.h: Likewise.
57704         * lib/unictype/pr_space.h: Likewise.
57705         * lib/unictype/pr_terminal_punctuation.h: Likewise.
57706         * lib/unictype/pr_titlecase.h: Likewise.
57707         * lib/unictype/pr_unassigned_code_value.h: Likewise.
57708         * lib/unictype/pr_unified_ideograph.h: Likewise.
57709         * lib/unictype/pr_uppercase.h: Likewise.
57710         * lib/unictype/pr_variation_selector.h: Likewise.
57711         * lib/unictype/pr_white_space.h: Likewise.
57712         * lib/unictype/pr_xid_continue.h: Likewise.
57713         * lib/unictype/pr_xid_start.h: Likewise.
57714         * lib/unictype/pr_zero_width.h: Likewise.
57715         * lib/unictype/scripts.h: Likewise.
57716         * lib/unictype/scripts_byname.gperf: Likewise.
57717         * lib/unictype/sy_c_ident.h: Likewise.
57718         * lib/unictype/sy_c_whitespace.h: Likewise.
57719         * lib/unictype/sy_java_ident.h: Likewise.
57720         * lib/unictype/sy_java_whitespace.h: Likewise.
57721
57722         * lib/unictype/Makefile: New file.
57723         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
57724         glibc.
57725         * lib/unictype/3level.h: New file, copied from glibc.
57726         * lib/unictype/3levelbit.h: New file.
57727
57728 2007-11-11  Bruno Haible  <bruno@clisp.org>
57729
57730         * modules/gperf: New file.
57731         * modules/iconv_open (Depends-on): Add it.
57732         (Makefile.am): Remove the GPERF definition.
57733
57734 2007-11-11  Bruno Haible  <bruno@clisp.org>
57735
57736         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
57737         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
57738
57739 2007-11-11  Bruno Haible  <bruno@clisp.org>
57740
57741         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
57742         (usage): Remove function.
57743
57744 2007-11-11  Bruno Haible  <bruno@clisp.org>
57745
57746         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
57747         gl_FUNC_CEILF_LIBS.
57748         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
57749         gl_FUNC_CEIL_LIBS.
57750         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
57751         gl_FUNC_CEILL_LIBS.
57752         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
57753         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
57754         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
57755
57756 2007-11-11  Bruno Haible  <bruno@clisp.org>
57757
57758         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
57759         roundf were declared but do not exist on functions.
57760         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
57761         roundl were declared but do not exist on functions.
57762         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
57763         HAVE_FLOORL_AND_CEILL, respectively.
57764         Needed for Sun C on Solaris 10.
57765
57766 2007-11-11  Bruno Haible  <bruno@clisp.org>
57767
57768         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
57769         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
57770         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
57771         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
57772         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
57773         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
57774         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
57775         HAVE_DECL_ROUNDF.
57776         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
57777         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
57778         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
57779         of HAVE_DECL_ROUND*.
57780         * modules/math (Makefile.am): Update.
57781
57782 2007-11-10  Bruno Haible  <bruno@clisp.org>
57783
57784         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
57785         ptrdiff_t as m4/intl.m4.
57786
57787 2007-11-10  Jim Meyering  <meyering@redhat.com>
57788
57789         Avoid link failure for the argmatch test.
57790         * tests/test-argmatch.c (usage): Define function to avoid a link
57791         failure: argmatch_die requires a usage function.
57792
57793 2007-11-09  Bruno Haible  <bruno@clisp.org>
57794
57795         * doc/functions/snprintf.texi: Mention BeOS deficiency.
57796         * doc/functions/vsnprintf.texi: Likewise.
57797         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
57798         with a size argument < 2.
57799
57800 2007-11-09  Bruno Haible  <bruno@clisp.org>
57801
57802         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
57803         buffer. Fixes an inefficiency introduced on 2007-11-03.
57804
57805 2007-11-09  Bruno Haible  <bruno@clisp.org>
57806
57807         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
57808         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
57809
57810 2007-11-08  Jim Meyering  <meyering@redhat.com>
57811
57812         Change cache variable name prefix "jm_" to "gl_" everywhere.
57813         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
57814         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
57815         * m4/uptime.m4: s/gl_/jm_/
57816
57817 2007-11-07  Bruno Haible  <bruno@clisp.org>
57818
57819         Update to GNU gettext 0.17.
57820         * m4/intl.m4: Update to GNU gettext 0.17.
57821         * m4/po.m4: Likewise.
57822         * modules/gettext (Files): Remove m4/ulonglong.m4.
57823         (configure.ac): Require gettext infrastructure from version 0.17.
57824
57825 2007-11-06  Bruno Haible  <bruno@clisp.org>
57826
57827         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
57828         symbolic values are not defined in a public header.
57829         * lib/freadable.c (freadable) [QNX]: Likewise.
57830         * lib/freadahead.c (freadahead) [QNX]: Likewise.
57831         * lib/freading.c (freading) [QNX]: Likewise.
57832         * lib/fseterr.c (fseterr) [QNX]: Likewise.
57833         * lib/fwritable.c (fwritable) [QNX]: Likewise.
57834         * lib/fwriting.c (fwriting) [QNX]: Likewise.
57835         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
57836         Reported by Alain Magloire.
57837
57838         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
57839
57840 2007-11-05  Bruno Haible  <bruno@clisp.org>
57841
57842         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
57843         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
57844         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
57845         Reported by Eric Blake.
57846
57847 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57848             Bruno Haible  <bruno@clisp.org>
57849
57850         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
57851         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
57852         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
57853         (malloc): Undefine also before including <stdlib.h>.
57854         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
57855         Needed on OSF/1 4.0.
57856
57857 2007-11-05  Jim Meyering  <meyering@redhat.com>
57858
57859         git-version-gen: sync from coreutils.
57860         * build-aux/git-version-gen: Add comments.
57861         Change the first '-' to '.' in the snapshot version string,
57862         e.g., 6.9-377-08144 -> 6.9.377-08144
57863         Remove first parameter.
57864         Don't declare a version "-dirty" merely because a time
57865         stamp has changed.
57866
57867 2007-11-04  Bruno Haible  <bruno@clisp.org>
57868
57869         * lib/lock.h: Protect all macro definitions containing an 'if'
57870         statement through a "do { ... } while (0)".
57871         * lib/tls.h: Likewise.
57872
57873 2007-11-04  Bruno Haible  <bruno@clisp.org>
57874
57875         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
57876
57877 2007-11-04  Bruno Haible  <bruno@clisp.org>
57878
57879         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
57880         * modules/fprintf-posix (Depends-on): Add nocrash.
57881         * modules/snprintf-posix (Depends-on): Likewise.
57882         * modules/sprintf-posix (Depends-on): Likewise.
57883         * modules/vasnprintf-posix (Depends-on): Likewise.
57884         * modules/vasprintf-posix (Depends-on): Likewise.
57885         * modules/vfprintf-posix (Depends-on): Likewise.
57886         * modules/vsnprintf-posix (Depends-on): Likewise.
57887         * modules/vsprintf-posix (Depends-on): Likewise.
57888         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57889         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57890         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57891         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57892         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57893         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57894         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57895
57896 2007-11-04  Bruno Haible  <bruno@clisp.org>
57897
57898         * modules/nocrash: New file.
57899         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
57900         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
57901
57902 2007-11-04  Bruno Haible  <bruno@clisp.org>
57903
57904         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
57905         precision handling.
57906         * tests/test-vasprintf-posix.c (test_function): Likewise.
57907         * tests/test-snprintf-posix.h (test_function): Likewise.
57908         * tests/test-sprintf-posix.h (test_function): Likewise.
57909
57910         Fix *printf behaviour for large precisions on mingw and BeOS.
57911         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
57912         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
57913         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
57914         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57915         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57916         gl_PRINTF_PRECISION and test its result. Invoke
57917         gl_PREREQ_VASNPRINTF_PRECISION.
57918         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57919         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57920         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57921         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57922         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57923         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57924         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57925         * doc/functions/fprintf.texi: Update.
57926         * doc/functions/printf.texi: Update.
57927         * doc/functions/snprintf.texi: Update.
57928         * doc/functions/sprintf.texi: Update.
57929         * doc/functions/vfprintf.texi: Update.
57930         * doc/functions/vprintf.texi: Update.
57931         * doc/functions/vsnprintf.texi: Update.
57932         * doc/functions/vsprintf.texi: Update.
57933
57934 2007-11-04  Bruno Haible  <bruno@clisp.org>
57935
57936         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
57937
57938 2007-11-04  Bruno Haible  <bruno@clisp.org>
57939
57940         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
57941         Reported by Sylvain Beucler <beuc@gnu.org>.
57942
57943 2007-11-03  Bruno Haible  <bruno@clisp.org>
57944
57945         * tests/test-fprintf-posix2.sh: New file.
57946         * tests/test-fprintf-posix2.c: New file.
57947         * modules/fprintf-posix-tests (Files): Add them.
57948         (TESTS): Add test-fprintf-posix2.sh.
57949         (configure.ac): Check for getrlimit and setrlimit.
57950         (check_PROGRAMS): Add test-fprintf-posix2.
57951
57952         * tests/test-printf-posix2.sh: New file.
57953         * tests/test-printf-posix2.c: New file.
57954         * modules/printf-posix-tests (Files): Add them.
57955         (TESTS): Add test-printf-posix2.sh.
57956         (configure.ac): Check for getrlimit and setrlimit.
57957         (check_PROGRAMS): Add test-printf-posix2.
57958
57959         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
57960         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
57961         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
57962         (decode_double): New function, copied from decode_long_double.
57963         (scale10_round_decimal_decoded): New function, extracted from
57964         scale10_round_decimal_long_double.
57965         (scale10_round_decimal_long_double): Use it.
57966         (scale10_round_decimal_double): New function.
57967         (floorlog10): New function.
57968         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
57969         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
57970         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57971         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57972         gl_PRINTF_ENOMEM and test its result. Invoke
57973         gl_PREREQ_VASNPRINTF_ENOMEM.
57974         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57975         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57976         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57977         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57978         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57979         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57980         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57981         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
57982         * modules/snprintf-posix (Depends-on): Likewise.
57983         * modules/sprintf-posix (Depends-on): Likewise.
57984         * modules/vasnprintf-posix (Depends-on): Likewise.
57985         * modules/vasprintf-posix (Depends-on): Likewise.
57986         * modules/vfprintf-posix (Depends-on): Likewise.
57987         * modules/vsnprintf-posix (Depends-on): Likewise.
57988         * modules/vsprintf-posix (Depends-on): Likewise.
57989         * doc/functions/fprintf.texi: Update.
57990         * doc/functions/printf.texi: Update.
57991         * doc/functions/snprintf.texi: Update.
57992         * doc/functions/sprintf.texi: Update.
57993         * doc/functions/vfprintf.texi: Update.
57994         * doc/functions/vprintf.texi: Update.
57995         * doc/functions/vsnprintf.texi: Update.
57996         * doc/functions/vsprintf.texi: Update.
57997
57998 2007-11-03  Bruno Haible  <bruno@clisp.org>
57999
58000         * modules/frexp-nolibm-tests: New file.
58001
58002         * modules/frexp-nolibm: New file.
58003         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58004
58005 2007-11-03  Bruno Haible  <bruno@clisp.org>
58006
58007         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58008         value is C99 compliant.
58009         Needed for OSF/1 5.1.
58010
58011 2007-11-03  Bruno Haible  <bruno@clisp.org>
58012
58013         Fix out-of-memory handling of vasnprintf.
58014         * lib/printf-parse.c: Include <errno.h>.
58015         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58016         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58017         is already set.
58018
58019 2007-11-02  Eric Blake  <ebb9@byu.net>
58020
58021         Fix tests on cygwin.
58022         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58023
58024 2007-11-01  Bruno Haible  <bruno@clisp.org>
58025
58026         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58027         warning.
58028         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58029         needed for POSIX compatibility.
58030
58031 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58032
58033         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58034         for compatibility with GNU.
58035
58036 2007-11-01  Bruno Haible  <bruno@clisp.org>
58037
58038         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58039         (putenv): Renamed from rpl_putenv. Change argument type from
58040         'const char *' to 'char *'.
58041         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58042         of defining putenv in config.h, just set REPLACE_PUTENV.
58043         * modules/putenv (Depends-on): Add stdlib.
58044         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58045         (Include): Use <stdlib.h>.
58046         * lib/stdlib.in.h (putenv): New declaration.
58047         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58048         REPLACE_PUTENV.
58049         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58050         REPLACE_PUTENV.
58051         Needed for MacOS X 10.5.0.
58052         Reported by Peter O'Gorman <peter@pogma.com>.
58053
58054 2007-11-01  Jim Meyering  <meyering@redhat.com>
58055
58056         Treat an empty date string exactly like "0".
58057         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58058         if the remaining date string (to be parsed) is empty, use "0".
58059         Reported by Mischa Molhoek and discussed in this thread:
58060         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58061
58062 2007-10-31  Bruno Haible  <bruno@clisp.org>
58063
58064         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58065         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58066         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58067         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58068         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58069         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58070
58071 2007-10-31  Bruno Haible  <bruno@clisp.org>
58072
58073         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58074         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58075         (AC_TYPE_LONG_LONG_INT): Use it.
58076         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58077         it as well.
58078         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58079         to m4/longlong.m4.
58080         * modules/stdint (Files): Remove m4/ulonglong.m4.
58081         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58082         m4/ulonglong.m4.
58083         * modules/strtoumax (Files): Likewise.
58084
58085 2007-10-30  Bruno Haible  <bruno@clisp.org>
58086
58087         * modules/xvasprintf-posix: New file.
58088         Suggested by Eric Blake.
58089
58090 2007-10-30  Bruno Haible  <bruno@clisp.org>
58091
58092         * modules/xprintf-posix-tests: New file.
58093         * tests/test-xprintf-posix.sh: New file.
58094         * tests/test-xprintf-posix.c: New file.
58095         * tests/test-xfprintf-posix.c: New file.
58096
58097         * modules/xprintf-posix: New file.
58098
58099 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58100
58101         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58102         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58103         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58104
58105 2007-10-29  Bruno Haible  <bruno@clisp.org>
58106
58107         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58108         contain the special marker '_cv_'.
58109         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58110         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58111         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58112         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58113         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58114         Reported by Ralf Wildenhues.
58115
58116 2007-10-29  Bruno Haible  <bruno@clisp.org>
58117
58118         * gnulib-tool (func_import): When --lgpl is not specified, set
58119         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58120         GPLv3.
58121         Reported by Simon Josefsson.
58122
58123 2007-10-28  Bruno Haible  <bruno@clisp.org>
58124
58125         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58126         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58127         HAVE_DECL_ISFINITE.
58128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58129         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58130         HAVE_DECL_ISFINITE.
58131
58132 2007-10-28  Bruno Haible  <bruno@clisp.org>
58133
58134         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58135         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58136
58137 2007-10-28  Bruno Haible  <bruno@clisp.org>
58138
58139         Fix link errors with Sun C 5.0 on Solaris 10.
58140         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58141         function is declared but not present in the compiler's libm.
58142         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58143         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58144         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58145         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58146         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58147         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58148         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58149         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58150         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58151         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58152         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58153         HAVE_DECL_FLOORL.
58154
58155 2007-10-28  Bruno Haible  <bruno@clisp.org>
58156
58157         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
58158         gl_FUNC_FLOORL. Cache the result.
58159         (gl_FUNC_FLOORL): Use it.
58160         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
58161         gl_FUNC_CEILL. Cache the result.
58162         (gl_FUNC_CEILL): Use it.
58163
58164         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
58165         gl_FUNC_FLOOR. Cache the result.
58166         (gl_FUNC_FLOOR): Use it.
58167         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
58168         gl_FUNC_CEIL. Cache the result.
58169         (gl_FUNC_CEIL): Use it.
58170
58171         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58172         gl_FUNC_FLOORF. Cache the result.
58173         (gl_FUNC_FLOORF): Use it.
58174         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58175         gl_FUNC_CEILF. Cache the result.
58176         (gl_FUNC_CEILF): Use it.
58177
58178 2007-10-28  Bruno Haible  <bruno@clisp.org>
58179
58180         * gnulib-tool: Allow specifying the LGPL version number through
58181         --lgpl=2 or --lgpl=3.
58182         (func_usage): Document --lgpl with argument.
58183         Handle --lgpl=... arguments.
58184         (func_import): Recognize also gl_LGPL calls with an argument. When
58185         --lgpl=2 is used and the module's license is just LGPL, report an
58186         error. Set sed_transform_lib_file according to the lgpl variable. In
58187         the generated files, use --lgpl or gl_LGPL invocations with argument,
58188         if necessary.
58189         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
58190         an LGPv2+ license.
58191         * doc/gnulib-tool.texi (Modified imports): Update explanation of
58192         gl_LGPL macro.
58193
58194 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58195             Bruno Haible  <bruno@clisp.org>
58196
58197         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
58198         (u16_uctomb_aux): Likewise.
58199         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
58200         !HAVE_INLINE.
58201         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
58202
58203 2007-10-28  Bruno Haible  <bruno@clisp.org>
58204
58205         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
58206         Invoke AM_GETTEXT_OPTION if it exists.
58207         * modules/vasprintf: Likewise.
58208         * modules/verror: Likewise.
58209         * modules/xprintf: Likewise.
58210         * modules/xvasprintf: Likewise.
58211
58212 2007-10-27  Ben Pfaff  <blp@gnu.org>
58213
58214         * lib/math.in.h: Define isfinite macro and prototypes for
58215         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
58216         implementations.
58217         * m4/math_h.m4: New substitutions for isfinite module.
58218         * lib/isfinite.c: New file.
58219         * m4/isfinite.m4: New file.
58220         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
58221         * modules/isfinite: New file.
58222         * modules/isfinite-tests: New file.
58223         * tests/tests-isfinite.c: New file.
58224         * doc/functions/isfinite.texi: Mention isfinite module.
58225         * MODULES.html.sh: Mention new module.
58226
58227 2007-10-27  Ben Pfaff  <blp@gnu.org>
58228
58229         Ralf Wildenhues reported that Tru64 4.0D declares the round
58230         functions but does not have definitions.
58231         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
58232         cannot be found in any library, set the output variable to
58233         "missing" instead of "".
58234         * m4/round.m4: Also use our substitute if we cannot find round in
58235         any library, even if it is declared.
58236         * m4/roundf.m4: Likewise for roundf.
58237         * m4/roundl.m4: Likewise for roundl.
58238         * lib/math.in.h: Undefine roundf, round, roundl before defining
58239         their replacements, to allow for hypothetical systems where these
58240         may be defined as macros but not available in libraries.
58241
58242 2007-10-27  Bruno Haible  <bruno@clisp.org>
58243
58244         * doc/gnulib.texi: Invoke @firstparagraphindent.
58245         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
58246         changes in gnulib.
58247         (Source changes): New section.
58248
58249 2007-10-26  Bruno Haible  <bruno@clisp.org>
58250
58251         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
58252         borrowed from autoconf.
58253
58254 2007-10-26  Bruno Haible  <bruno@clisp.org>
58255
58256         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
58257         strerror returned the empty string. Needed on HP-UX 11.00.
58258
58259 2007-10-24  Micah Cowan  <micah@cowan.name>
58260
58261         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
58262         * build-aux/bootstrap: Remove support for now-unnecessary option,
58263         --cvs-user, and envvars CVS_USER, CVS_RSH.
58264
58265 2007-10-24  Jim Meyering  <meyering@redhat.com>
58266
58267         Avoid diagnostics from sha1sum when there is no cached checksum.
58268         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
58269         if the po.s1 file hasn't been created yet.
58270
58271         * build-aux/bootstrap: Sync from coreutils:
58272         2007-10-24  Jim Meyering  <meyering@redhat.com>
58273         Get gnulib from the git repository, not from an obsolete cvs one.
58274         * build-aux/bootstrap: Suggestion from Micah Cowan.
58275         2007-10-04  Jim Meyering  <jim@meyering.net>
58276         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
58277         (update_po_files): Work also when there are no .po files in po/.
58278
58279 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58280
58281         * README: Append ".git" to git and cg examples.
58282         Problem reported by Benoit Sigoure.
58283
58284 2007-10-23  Micah Cowan  <micah@cowan.name>
58285
58286         * users.txt: Add wget.
58287
58288 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58289
58290         Fix linking of some unistdio tests on FreeBSD.
58291         * modules/unistdio/u16-vsnprintf-tests
58292         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
58293         * modules/unistdio/u16-vsprintf-tests
58294         (test_u16_vsnprintf1_LDADD): Likewise.
58295         * modules/unistdio/u32-vsnprintf-tests
58296         (test_u32_vsnprintf1_LDADD): Likewise.
58297         * modules/unistdio/u32-vsprintf-tests
58298         (test_u32_vsprintf1_LDADD): Likewise.
58299         * modules/unistdio/u8-vsnprintf-tests
58300         (test_u8_vsnprintf1_LDADD): Likewise.
58301         * modules/unistdio/u8-vsprintf-tests
58302         (test_u8_vsprintf1_LDADD): Likewise.
58303         * modules/unistdio/ulc-vsnprintf-tests
58304         (test_ulc_vsnprintf1_LDADD): Likewise.
58305         * modules/unistdio/ulc-vsprintf-tests
58306         (test_ulc_vsprintf1_LDADD): Likewise.
58307
58308         Fix linking of some uniconv tests on FreeBSD.
58309         * modules/uniconv/u16-conv-from-enc-tests
58310         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
58311         * modules/uniconv/u16-conv-to-enc-tests
58312         (test_u16_conv_to_enc_LDADD): Likewise.
58313         * modules/uniconv/u16-strconv-from-enc-tests
58314         (test_u16_strconv_from_enc_LDADD): Likewise.
58315         * modules/uniconv/u16-strconv-to-enc-tests
58316         (test_u16_strconv_to_enc_LDADD): Likewise.
58317         * modules/uniconv/u32-conv-from-enc-tests
58318         (test_u32_conv_from_enc_LDADD): Likewise.
58319         * modules/uniconv/u32-conv-to-enc-tests
58320         (test_u32_conv_to_enc_LDADD): Likewise.
58321         * modules/uniconv/u32-strconv-from-enc-tests
58322         (test_u32_strconv_from_enc_LDADD): Likewise.
58323         * modules/uniconv/u32-strconv-to-enc-tests
58324         (test_u32_strconv_to_enc_LDADD): Likewise.
58325         * modules/uniconv/u8-conv-from-enc-tests
58326         (test_u8_conv_from_enc_LDADD): Likewise.
58327         * modules/uniconv/u8-conv-to-enc-tests
58328         (test_u8_conv_to_enc_LDADD): Likewise.
58329         * modules/uniconv/u8-strconv-from-enc-tests
58330         (test_u8_strconv_from_enc_LDADD): Likewise.
58331         * modules/uniconv/u8-strconv-to-enc-tests
58332         (test_u8_strconv_to_enc_LDADD): Likewise.
58333
58334 2007-10-22  Bruno Haible  <bruno@clisp.org>
58335
58336         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
58337         size.
58338
58339 2007-10-22  Eric Blake  <ebb9@byu.net>
58340
58341         Tweak x*printf documentation.
58342         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
58343         variable name and comments.
58344         Suggested by Bruno Haible.
58345
58346 2007-10-22  Bruno Haible  <bruno@clisp.org>
58347
58348         * lib/acl.c (copy_acl): Fix file name in comment.
58349
58350 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58351
58352         Fix Tru64 problem with stdbool.h.
58353         * lib/stdbool.in.h (false, true):
58354         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
58355         Don't declare as an enum in this situation; it runs afoul of Tru64.
58356         Problem reported by Steven M. Schweda in
58357         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
58358
58359 2007-10-22  Eric Blake  <ebb9@byu.net>
58360
58361         Also wrap vf?printf.
58362         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
58363         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
58364         (xvprintf, xvfprintf): New functions.
58365
58366 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58367
58368         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
58369         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
58370
58371         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
58372         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
58373
58374 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58375
58376         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
58377         by Bruno Haible.
58378
58379 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58380
58381         * lib/getloadavg.c
58382         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
58383         Undef `sys' after including sys/table.h, for Tru64 4.0D.
58384
58385         * tests/test-i-ring.c: Work for C89.
58386
58387 2007-10-22  Bruno Haible  <bruno@clisp.org>
58388
58389         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
58390         -1u, in preprocessor expression, so that we don't test for the bug
58391         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
58392         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
58393
58394 2007-10-22  Eric Blake  <ebb9@byu.net>
58395
58396         * tests/test-yesno.sh: Silence stderr during test.
58397
58398 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58399
58400         * modules/crypto/gc-camellia: New file.
58401
58402         * m4/gc-camellia.m4: New file.
58403
58404         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
58405
58406         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
58407
58408 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58409
58410         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
58411         --help to stdout.  Reported by sms@antinode.org (Steven
58412         M. Schweda).
58413
58414 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58415
58416         * users.txt: Fix link to libksba.
58417
58418 2007-10-21  Ben Pfaff  <blp@gnu.org>
58419
58420         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
58421         round.c roundf implementation that depends on floorf and ceilf to
58422         be tested unconditionally.
58423
58424 2007-10-21  Ben Pfaff  <blp@gnu.org>
58425
58426         * m4/check-libm-func.m4: Removed.
58427         * m4/check-math-lib.m4: New file.
58428         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
58429         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
58430         definition and lack of AC_LIBOBJ([roundf]).
58431         * m4/roundl.m4: Ditto, and similarly for roundl.
58432         * modules/round: Reference new m4 file.
58433         * modules/roundf: Ditto.
58434         * modules/roundl: Ditto.
58435         * tests/test-round2.c (main): Use ROUND instead of round.
58436         Bug report from Bruno Haible.
58437
58438 2007-10-21  Bruno Haible  <bruno@clisp.org>
58439
58440         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
58441         context.
58442
58443 2007-10-21  Bruno Haible  <bruno@clisp.org>
58444
58445         * tests/test-wcwidth.c (main): Allow negative result for some control
58446         characters.
58447
58448         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
58449         Needed on OSF/1 5.1.
58450
58451 2007-10-21  Bruno Haible  <bruno@clisp.org>
58452
58453         * tests/test-floorf1.c: Include isnanf.h.
58454         (main): Use isnanf() instead of isnan().
58455         * tests/test-ceilf1.c: Include isnanf.h.
58456         (main): Use isnanf() instead of isnan().
58457         * tests/test-truncf1.c: Include isnanf.h.
58458         (main): Use isnanf() instead of isnan().
58459         * tests/test-roundf1.c: Include isnanf.h.
58460         (main): Use isnanf() instead of isnan().
58461
58462 2007-10-21  Eric Blake  <ebb9@byu.net>
58463
58464         * users.txt: Update URL for m4.
58465
58466 2007-10-21  Bruno Haible  <bruno@clisp.org>
58467
58468         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
58469
58470 2007-10-21  Bruno Haible  <bruno@clisp.org>
58471
58472         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
58473         Git's management files if the CVS files are not present.
58474
58475 2007-10-20  Bruno Haible  <bruno@clisp.org>
58476
58477         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
58478         gcc-3.4.x.
58479
58480 2007-10-20  Ben Pfaff  <blp@gnu.org>
58481
58482         * lib/math.in.h: Declare round, roundf, roundl if we are providing
58483         implementations.
58484         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
58485         * lib/round.c: New file.
58486         * lib/roundf.c: New file.
58487         * lib/roundl.c: New file.
58488         * m4/round.m4: New file.
58489         * m4/roundf.m4: New file.
58490         * m4/roundl.m4: New file.
58491         * m4/check-libm-func-m4: New file.
58492         * modules/math: Replace round, roundf, roundl related @VARS@ in
58493         math.in.h.
58494         * modules/round: New file.
58495         * modules/round-tests: New file.
58496         * modules/roundf: New file.
58497         * modules/roundf-tests: New file.
58498         * modules/roundl: New file.
58499         * modules/roundl-tests: New file.
58500         * tests/test-round1.c: New file.
58501         * tests/test-round2.c: New file.
58502         * tests/test-roundf1.c: New file.
58503         * tests/test-roundf2.c: New file.
58504         * tests/test-roundl.c: New file.
58505         * doc/functions/round.texi: Mention round module.
58506         * doc/functions/roundf.texi: Mention roundf module.
58507         * doc/functions/roundl.texi: Mention roundl module.
58508         * MODULES.html.sh: Mention new modules.
58509         Thanks to Bruno Haible for suggestions.
58510
58511 2007-10-20  Jim Meyering  <meyering@redhat.com>
58512
58513         * lib/xprintf.c: Include <config.h> unconditionally.
58514
58515         Change xprintf's license to GPL.
58516         * modules/xprintf (License): s/LGPL/GPL/, since this module
58517         depends on modules (exit and exitfail) which are GPL.
58518         Suggestion from Bruno Haible.
58519
58520         xprintf fixes.
58521         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
58522         Use a clearer diagnostic.
58523         Patch from Bruno Haible.
58524
58525 2007-10-20  Bruno Haible  <bruno@clisp.org>
58526
58527         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
58528         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
58529         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58530
58531 2007-10-20  Bruno Haible  <bruno@clisp.org>
58532
58533         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
58534         precision in the comparison result > x - 1 or similar.
58535         * tests/test-ceilf2.c (correct_result_p): Likewise.
58536         * tests/test-truncf2.c (correct_result_p): Likewise.
58537         * tests/test-trunc2.c (correct_result_p): Likewise.
58538         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58539
58540 2007-10-20  Bruno Haible  <bruno@clisp.org>
58541
58542         * modules/ceil: New file.
58543         * m4/ceil.m4: New file.
58544         * doc/functions/ceil.texi: Mention the 'ceil' module.
58545
58546 2007-10-20  Bruno Haible  <bruno@clisp.org>
58547
58548         * modules/floor: New file.
58549         * m4/floor.m4: New file.
58550         * doc/functions/floor.texi: Mention the 'floor' module.
58551
58552 2007-10-20  Bruno Haible  <bruno@clisp.org>
58553
58554         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
58555         of %a.
58556         * modules/floorf-tests (Depends-on): Likewise.
58557         * modules/truncf-tests (Depends-on): Likewise.
58558         * modules/trunc-tests (Depends-on): Likewise.
58559         Reported by Ben Pfaff.
58560
58561 2007-10-19  Jim Meyering  <meyering@redhat.com>
58562
58563         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
58564         Don't bother testing specific errno values.  Just test ferror.
58565
58566         New module: xprintf
58567         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
58568
58569 2007-10-19  Bruno Haible  <bruno@clisp.org>
58570
58571         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
58572         syntax.
58573         * modules/javaexec (Makefile.am): Likewise.
58574         * modules/relocatable-prog (Makefile.am): Likewise.
58575         Suggested by Jim Meyering.
58576
58577 2007-10-18  Bruno Haible  <bruno@clisp.org>
58578
58579         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
58580         Reported by Jim Meyering.
58581
58582 2007-10-18  Eric Blake  <ebb9@byu.net>
58583
58584         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
58585
58586 2007-10-18  Bruno Haible  <bruno@clisp.org>
58587
58588         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
58589         the format string into writable memory. Needed in Fortify conditions.
58590
58591 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
58592             Bruno Haible  <bruno@clisp.org>
58593
58594         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
58595         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
58596         * modules/trim (Depends-on): Add mbchar.
58597         (configure.ac): Add gl_FUNC_MBRTOWC.
58598         (Makefile.am): Augment lib_SOURCES.
58599
58600 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58601
58602         Modify glob.c to use fstatat and dirfd, to simplify it.
58603         Suggested by Eric Blake.
58604         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
58605         Don't include <stdbool.h>; not used.
58606         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
58607         (link_exists_p): Simplify implementation, since we can now assume
58608         dirfd and fstatat.
58609         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
58610
58611 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58612
58613         * gnulib-tool (func_get_dependencies): Fix sed script to
58614         match only tests.
58615
58616 2007-10-17  Bruno Haible  <bruno@clisp.org>
58617
58618         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
58619         allow locale names without encoding suffix.
58620         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58621         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58622
58623 2007-10-16  Bruno Haible  <bruno@clisp.org>
58624
58625         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
58626         * lib/getgroups.c (getgroups): Likewise.
58627         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
58628
58629 2007-10-16  Bruno Haible  <bruno@clisp.org>
58630
58631         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
58632         * modules/malloc-posix (License): Likewise.
58633         * modules/realloc-posix (License): Likewise.
58634         * modules/calloc-posix (License): Likewise.
58635         * modules/intprops (License): Change from GPL to LGPL, with
58636         Paul Eggert's approval.
58637
58638 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58639
58640         Merge glibc changes into lib/glob.c.
58641
58642         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
58643         2007-10-15 04:59:03 UTC.  Here are the changes:
58644
58645         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
58646
58647         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
58648
58649         * lib/glob.c: Add some branch prediction throughout.
58650
58651         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
58652
58653         [BZ #5103]
58654         * lib/glob.c (glob): Recognize patterns starting \/.
58655
58656         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
58657
58658         [BZ #3996]
58659         * lib/glob.c (attribute_hidden): Define if not defined.
58660         (glob): Unescape dirname, filename or username when needed and not
58661         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
58662         is NULL.  Handle unescaped [ in pattern without closing ].
58663         Don't pass GLOB_CHECK down to recursive glob for directories.
58664         (__glob_pattern_type): New function.
58665         (__glob_pattern_p): Implement using __glob_pattern_type.
58666         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
58667         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
58668         Remove unreachable code.
58669
58670         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
58671
58672         * lib/glob.c (glob_in_dir): Add some comments and asserts to
58673         explain why there are no leaks.
58674
58675         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
58676
58677         [BZ #3253]
58678         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
58679         time, rather allocate increasingly bigger arrays of pointers, if
58680         possible with alloca, if too large with malloc.
58681
58682 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58683
58684         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
58685         Problem reported by H.Merijn Brand in
58686         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
58687         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
58688         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
58689
58690 2007-10-15  Bruno Haible  <bruno@clisp.org>
58691
58692         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
58693         with explicit rpl_ prefix.
58694         * lib/fopen.c (fopen): Likewise.
58695         * lib/freopen.c (freopen): Likewise.
58696         * lib/iconv.c (iconv): Likewise.
58697         * lib/iconv_close.c (iconv_close): Likewise.
58698
58699 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58700
58701         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
58702
58703 2007-10-15  Bruno Haible  <bruno@clisp.org>
58704
58705         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
58706         <stddef.h> instead of <stdlib.h> since we only need NULL.
58707         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58708
58709 2007-10-15  Bruno Haible  <bruno@clisp.org>
58710
58711         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
58712         Replace paragraph talking about LIBOBJS.
58713         Reported by Colin Watson <cjwatson@debian.org>.
58714
58715 2007-10-15  Bruno Haible  <bruno@clisp.org>
58716
58717         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
58718         <stdlib.h> before using NULL.
58719
58720 2007-10-15  Simon Josefsson  <simon@josefsson.org>
58721
58722         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
58723         Reported by Albert Chin <china@thewrittenword.com>.
58724
58725 2007-10-14  Bruno Haible  <bruno@clisp.org>
58726
58727         * modules/iconv_open-utf-tests: New file.
58728         * tests/test-iconv-utf.c: New file.
58729
58730         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
58731         * modules/iconv_open-utf: New file.
58732         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
58733         (iconv, iconv_close): New declarations.
58734         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
58735         be defined.
58736         (iconv_open): Add special handling of conversion between UTF-8 and
58737         UTF-{16,32}{BE,LE}.
58738         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
58739         * lib/iconv_close.c: New file.
58740         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
58741         gl_FUNC_ICONV_OPEN.
58742         (gl_FUNC_ICONV_OPEN): Use it.
58743         (gl_FUNC_ICONV_OPEN_UTF): New macro.
58744         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
58745         and REPLACE_ICONV_UTF.
58746         * modules/iconv_open (Depends-on): Add c-strcase.
58747         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
58748         ICONV_CONST.
58749         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
58750
58751 2007-10-13  Albert Chin  <china@thewrittenword.com>
58752             Bruno Haible  <bruno@clisp.org>
58753
58754         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
58755         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
58756
58757 2007-10-13  Bruno Haible  <bruno@clisp.org>
58758
58759         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
58760         defined, use the ISO C99 inline semantics.
58761         * lib/argp.h (ARGP_EI): Likewise.
58762
58763 2007-10-13  Bruno Haible  <bruno@clisp.org>
58764
58765         Handle 'inline' change in gcc 4.3.0.
58766         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
58767         argp_fmtstream_write, argp_fmtstream_set_lmargin,
58768         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
58769         argp_fmtstream_point): Disable 'extern' declaration if the function
58770         definition is going to be provided inline.
58771         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
58772         semantics, not the ISO C99 inline semantics.
58773         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
58774         'extern' declaration if the function definition is going to be provided
58775         inline.
58776         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
58777         the GNU C inline semantics, not the ISO C99 inline semantics. With
58778         GCC 4.2, avoid a warning.
58779
58780 2007-10-13  Bruno Haible  <bruno@clisp.org>
58781
58782         * lib/freading.h (freading): Enable the use of __freading for
58783         glibc >= 2.7.
58784         * lib/freading.c (freading): Likewise.
58785
58786 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58787
58788         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
58789         "warning: C99 inline functions are not supported; using GNU89".
58790
58791 2007-10-12  Bruno Haible  <bruno@clisp.org>
58792
58793         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
58794         of 2.
58795         * tests/test-ceilf2.c: New file.
58796         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
58797
58798         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
58799         * modules/ceilf-tests: Update.
58800
58801 2007-10-12  Bruno Haible  <bruno@clisp.org>
58802
58803         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
58804         of 2.
58805         * tests/test-floorf2.c: New file.
58806         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
58807
58808         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
58809         * modules/floorf-tests: Update.
58810
58811 2007-10-12  Bruno Haible  <bruno@clisp.org>
58812
58813         * tests/test-trunc2.c: New file.
58814         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
58815
58816         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
58817         * modules/trunc-tests: Update.
58818
58819 2007-10-12  Bruno Haible  <bruno@clisp.org>
58820
58821         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
58822         of 2.
58823         * tests/test-truncf2.c: New file.
58824         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
58825
58826         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
58827         * modules/truncf-tests: Update.
58828
58829 2007-10-11  Eric Blake  <ebb9@byu.net>
58830
58831         Don't claim strerror is broken on Interix.
58832         * doc/functions/strerror.texi (strerror): Known broken systems are
58833         now Solaris 8, and not Interix.
58834         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
58835         Interix on cross-compile.
58836         Reported by Martin Koeppe in
58837         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
58838
58839 2007-10-11  Bruno Haible  <bruno@clisp.org>
58840
58841         * modules/i-ring-tests: New file.
58842         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
58843         instead of assert.
58844
58845 2007-10-11  Bruno Haible  <bruno@clisp.org>
58846
58847         * modules/filenamecat-tests: New file.
58848         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
58849         * lib/filenamecat.c: Remove test code.
58850
58851 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58852
58853         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
58854
58855         * lib/strerror.c: Include <string.h> always, to test interface,
58856         and to remove the need for the dummy.
58857         Include intprops.h to compute width instead of doing it ourselves
58858         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
58859         (strerror): Define it to return NULL if there's no system strerror.
58860         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
58861         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
58862         ancient pre-strerror Unix systems well any more.  Saying "unknown
58863         system error" is enough.
58864         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
58865         simpler strerror.c implementation.
58866         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
58867         Simplify the tests to reflect the simpler strerror implementation.
58868         * modules/strerror (Depends-on): Add intprops.
58869
58870 2007-10-09  Eric Blake  <ebb9@byu.net>
58871
58872         Silence test-fpending.
58873         * modules/fpending-tests (Files): Add wrapper script.
58874         * tests/test-fpending.sh: New file.
58875
58876 2007-10-09  Bruno Haible  <bruno@clisp.org>
58877
58878         * MODULES.html.sh (func_module): Don't create a hyperlink for
58879         function names like 'printf_frexp'.
58880         (Misc): Add crc, memxor.
58881         (Characteristics of floating types): New section.
58882         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
58883         isnanf-nolibm, signbit, trunc, truncf, truncl.
58884         (Enhancements for ISO C 99 functions): New subsection Input/output.
58885         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
58886         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
58887         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
58888         (Compatibility checks for POSIX:2001 functions): Add clock-time.
58889         (Enhancements for POSIX:2001 functions): Add chdir-long.
58890         (File system functions): Add areadlink, chdir-safer, read-file.
58891         Remove cycle-check.
58892         (File system as inode set): New section.
58893         (Date and time): Add gethrxtime.
58894         (Multithreading): Add openmp.
58895         (Internationalization functions): Add localename.
58896         (Unicode string functions): Add unistr/u*-mbsnlen.
58897         (Support for maintaining and releasing projects): Add git-version-gen.
58898         (Lone files): Remove directories.
58899
58900 2007-10-08  Ben Pfaff  <blp@gnu.org>
58901
58902         * lib/xmalloca.h: Fix typo in comment.
58903
58904 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58905
58906         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
58907         when avoiding problems with integer overflow.  Use a portable test
58908         instead.
58909
58910 2007-10-08  Simon Josefsson  <simon@josefsson.org>
58911
58912         * modules/dummy (License): Change to LGPLv2+.
58913         * modules/float (License): Likewise
58914         * modules/realloc (License): Likewise
58915         * modules/stdlib (License): Likewise
58916
58917 2007-10-07  Bruno Haible  <bruno@clisp.org>
58918
58919         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
58920         * floor.c (TWO_MANT_DIG): Likewise.
58921         * ceil.c (TWO_MANT_DIG): Likewise.
58922         Reported by Ben Pfaff.
58923
58924 2007-10-07  Bruno Haible  <bruno@clisp.org>
58925
58926         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
58927         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
58928         * lib/frexp.c (FUNC): Likewise.
58929         * lib/printf-frexp.h (printf_frexp): Likewise.
58930         * lib/printf-frexpl.h (printf_frexpl): Likewise.
58931         * lib/printf-frexp.c (FUNC): Likewise.
58932         Suggested by Jim Meyering.
58933
58934 2007-10-07  Jim Meyering  <meyering@redhat.com>
58935
58936         Make xnanosleep's integer overflow test more robust.
58937         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
58938         so that gcc-4.3.0 doesn't optimize away this test for overflow.
58939
58940 2007-10-07  Bruno Haible  <bruno@clisp.org>
58941
58942         * NEWS: Mention the license change.
58943
58944         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
58945         abbreviations in the modules files.
58946
58947         Change copyright notice from GPLv2+ to GPLv3+.
58948         * README: Change copyright notice.
58949         * MODULES.html.sh: Likewise.
58950         * build-aux/bootstrap.conf: Likewise.
58951         * build-aux/config.libpath: Likewise.
58952         * build-aux/csharpcomp.sh.in: Likewise.
58953         * build-aux/csharpexec.sh.in: Likewise.
58954         * build-aux/install-reloc: Likewise.
58955         * build-aux/javacomp.sh.in: Likewise.
58956         * build-aux/javaexec.sh.in: Likewise.
58957         * build-aux/ldd.sh.in: Likewise.
58958         * build-aux/reloc-ldflags: Likewise.
58959         * build-aux/relocatable.sh.in: Likewise.
58960         * build-aux/x-to-1.in: Likewise.
58961         * check-module: Likewise.
58962         * config/srclistvars.sh: Likewise.
58963         * gnulib-tool: Likewise.
58964         * lib/acl-internal.h: Likewise.
58965         * lib/acl.c: Likewise.
58966         * lib/acl.h: Likewise.
58967         * lib/acl_entries.c: Likewise.
58968         * lib/areadlink-with-size.c: Likewise.
58969         * lib/areadlink.c: Likewise.
58970         * lib/areadlink.h: Likewise.
58971         * lib/argmatch.c: Likewise.
58972         * lib/argmatch.h: Likewise.
58973         * lib/argp-ba.c: Likewise.
58974         * lib/argp-eexst.c: Likewise.
58975         * lib/argp-fmtstream.c: Likewise.
58976         * lib/argp-fmtstream.h: Likewise.
58977         * lib/argp-fs-xinl.c: Likewise.
58978         * lib/argp-help.c: Likewise.
58979         * lib/argp-namefrob.h: Likewise.
58980         * lib/argp-parse.c: Likewise.
58981         * lib/argp-pin.c: Likewise.
58982         * lib/argp-pv.c: Likewise.
58983         * lib/argp-pvh.c: Likewise.
58984         * lib/argp-xinl.c: Likewise.
58985         * lib/argp.h: Likewise.
58986         * lib/at-func.c: Likewise.
58987         * lib/atanl.c: Likewise.
58988         * lib/backupfile.c: Likewise.
58989         * lib/backupfile.h: Likewise.
58990         * lib/basename.c: Likewise.
58991         * lib/binary-io.h: Likewise.
58992         * lib/byteswap.in.h: Likewise.
58993         * lib/c-stack.c: Likewise.
58994         * lib/c-stack.h: Likewise.
58995         * lib/c-strcasestr.c: Likewise.
58996         * lib/c-strcasestr.h: Likewise.
58997         * lib/c-strstr.c: Likewise.
58998         * lib/c-strstr.h: Likewise.
58999         * lib/c-strtod.c: Likewise.
59000         * lib/calloc.c: Likewise.
59001         * lib/canon-host.c: Likewise.
59002         * lib/canon-host.h: Likewise.
59003         * lib/canonicalize-lgpl.c: Likewise.
59004         * lib/canonicalize.c: Likewise.
59005         * lib/canonicalize.h: Likewise.
59006         * lib/ceil.c: Likewise.
59007         * lib/ceilf.c: Likewise.
59008         * lib/ceill.c: Likewise.
59009         * lib/chdir-long.c: Likewise.
59010         * lib/chdir-long.h: Likewise.
59011         * lib/chdir-safer.c: Likewise.
59012         * lib/chdir-safer.h: Likewise.
59013         * lib/chown.c: Likewise.
59014         * lib/classpath.c: Likewise.
59015         * lib/classpath.h: Likewise.
59016         * lib/clean-temp.c: Likewise.
59017         * lib/clean-temp.h: Likewise.
59018         * lib/cloexec.c: Likewise.
59019         * lib/close-stream.c: Likewise.
59020         * lib/closein.c: Likewise.
59021         * lib/closein.h: Likewise.
59022         * lib/closeout.c: Likewise.
59023         * lib/closeout.h: Likewise.
59024         * lib/concat-filename.c: Likewise.
59025         * lib/copy-file.c: Likewise.
59026         * lib/copy-file.h: Likewise.
59027         * lib/count-one-bits.h: Likewise.
59028         * lib/crc.c: Likewise.
59029         * lib/crc.h: Likewise.
59030         * lib/creat-safer.c: Likewise.
59031         * lib/csharpcomp.c: Likewise.
59032         * lib/csharpcomp.h: Likewise.
59033         * lib/csharpexec.c: Likewise.
59034         * lib/csharpexec.h: Likewise.
59035         * lib/cycle-check.c: Likewise.
59036         * lib/cycle-check.h: Likewise.
59037         * lib/diacrit.c: Likewise.
59038         * lib/diacrit.h: Likewise.
59039         * lib/diffseq.h: Likewise.
59040         * lib/dirchownmod.c: Likewise.
59041         * lib/dirent.in.h: Likewise.
59042         * lib/dirfd.c: Likewise.
59043         * lib/dirfd.h: Likewise.
59044         * lib/dirname.c: Likewise.
59045         * lib/dirname.h: Likewise.
59046         * lib/dummy.c: Likewise.
59047         * lib/dup-safer.c: Likewise.
59048         * lib/dup2.c: Likewise.
59049         * lib/eealloc.h: Likewise.
59050         * lib/error.c: Likewise.
59051         * lib/error.h: Likewise.
59052         * lib/euidaccess.c: Likewise.
59053         * lib/exclude.c: Likewise.
59054         * lib/exclude.h: Likewise.
59055         * lib/execute.c: Likewise.
59056         * lib/execute.h: Likewise.
59057         * lib/exitfail.c: Likewise.
59058         * lib/exitfail.h: Likewise.
59059         * lib/expl.c: Likewise.
59060         * lib/fatal-signal.c: Likewise.
59061         * lib/fatal-signal.h: Likewise.
59062         * lib/fbufmode.c: Likewise.
59063         * lib/fbufmode.h: Likewise.
59064         * lib/fchdir.c: Likewise.
59065         * lib/fchmodat.c: Likewise.
59066         * lib/fchownat.c: Likewise.
59067         * lib/fcntl--.h: Likewise.
59068         * lib/fcntl-safer.h: Likewise.
59069         * lib/fcntl.in.h: Likewise.
59070         * lib/fd-safer.c: Likewise.
59071         * lib/fflush.c: Likewise.
59072         * lib/file-has-acl.c: Likewise.
59073         * lib/file-set.c: Likewise.
59074         * lib/file-type.c: Likewise.
59075         * lib/file-type.h: Likewise.
59076         * lib/fileblocks.c: Likewise.
59077         * lib/filemode.c: Likewise.
59078         * lib/filemode.h: Likewise.
59079         * lib/filename.h: Likewise.
59080         * lib/filenamecat.c: Likewise.
59081         * lib/filenamecat.h: Likewise.
59082         * lib/findprog.c: Likewise.
59083         * lib/findprog.h: Likewise.
59084         * lib/float.in.h: Likewise.
59085         * lib/floor.c: Likewise.
59086         * lib/floorf.c: Likewise.
59087         * lib/floorl.c: Likewise.
59088         * lib/fopen-safer.c: Likewise.
59089         * lib/fopen.c: Likewise.
59090         * lib/fpending.c: Likewise.
59091         * lib/fpending.h: Likewise.
59092         * lib/fprintf.c: Likewise.
59093         * lib/fprintftime.h: Likewise.
59094         * lib/fpucw.h: Likewise.
59095         * lib/fpurge.c: Likewise.
59096         * lib/fpurge.h: Likewise.
59097         * lib/freadable.c: Likewise.
59098         * lib/freadable.h: Likewise.
59099         * lib/freadahead.c: Likewise.
59100         * lib/freadahead.h: Likewise.
59101         * lib/freading.c: Likewise.
59102         * lib/freading.h: Likewise.
59103         * lib/free.c: Likewise.
59104         * lib/freopen.c: Likewise.
59105         * lib/frexp.c: Likewise.
59106         * lib/frexpl.c: Likewise.
59107         * lib/fseek.c: Likewise.
59108         * lib/fseterr.c: Likewise.
59109         * lib/fseterr.h: Likewise.
59110         * lib/fstatat.c: Likewise.
59111         * lib/fstrcmp.c: Likewise.
59112         * lib/fstrcmp.h: Likewise.
59113         * lib/fsusage.c: Likewise.
59114         * lib/fsusage.h: Likewise.
59115         * lib/ftell.c: Likewise.
59116         * lib/ftello.c: Likewise.
59117         * lib/fts-cycle.c: Likewise.
59118         * lib/fts.c: Likewise.
59119         * lib/fts_.h: Likewise.
59120         * lib/full-read.c: Likewise.
59121         * lib/full-read.h: Likewise.
59122         * lib/full-write.c: Likewise.
59123         * lib/full-write.h: Likewise.
59124         * lib/fwritable.c: Likewise.
59125         * lib/fwritable.h: Likewise.
59126         * lib/fwriteerror.c: Likewise.
59127         * lib/fwriteerror.h: Likewise.
59128         * lib/fwriting.c: Likewise.
59129         * lib/fwriting.h: Likewise.
59130         * lib/gcd.c: Likewise.
59131         * lib/gcd.h: Likewise.
59132         * lib/getcwd.c: Likewise.
59133         * lib/getdate.h: Likewise.
59134         * lib/getdate.y: Likewise.
59135         * lib/getdomainname.c: Likewise.
59136         * lib/getdomainname.h: Likewise.
59137         * lib/getgroups.c: Likewise.
59138         * lib/gethostname.c: Likewise.
59139         * lib/gethrxtime.c: Likewise.
59140         * lib/gethrxtime.h: Likewise.
59141         * lib/getloadavg.c: Likewise.
59142         * lib/getndelim2.c: Likewise.
59143         * lib/getndelim2.h: Likewise.
59144         * lib/getnline.c: Likewise.
59145         * lib/getnline.h: Likewise.
59146         * lib/getopt.c: Likewise.
59147         * lib/getopt.in.h: Likewise.
59148         * lib/getopt1.c: Likewise.
59149         * lib/getopt_int.h: Likewise.
59150         * lib/getpagesize.h: Likewise.
59151         * lib/getsubopt.c: Likewise.
59152         * lib/gettime.c: Likewise.
59153         * lib/getugroups.c: Likewise.
59154         * lib/getugroups.h: Likewise.
59155         * lib/getusershell.c: Likewise.
59156         * lib/gl_anyavltree_list1.h: Likewise.
59157         * lib/gl_anyavltree_list2.h: Likewise.
59158         * lib/gl_anyhash_list1.h: Likewise.
59159         * lib/gl_anyhash_list2.h: Likewise.
59160         * lib/gl_anylinked_list1.h: Likewise.
59161         * lib/gl_anylinked_list2.h: Likewise.
59162         * lib/gl_anyrbtree_list1.h: Likewise.
59163         * lib/gl_anyrbtree_list2.h: Likewise.
59164         * lib/gl_anytree_list1.h: Likewise.
59165         * lib/gl_anytree_list2.h: Likewise.
59166         * lib/gl_anytree_oset.h: Likewise.
59167         * lib/gl_anytreehash_list1.h: Likewise.
59168         * lib/gl_anytreehash_list2.h: Likewise.
59169         * lib/gl_array_list.c: Likewise.
59170         * lib/gl_array_list.h: Likewise.
59171         * lib/gl_array_oset.c: Likewise.
59172         * lib/gl_array_oset.h: Likewise.
59173         * lib/gl_avltree_list.c: Likewise.
59174         * lib/gl_avltree_list.h: Likewise.
59175         * lib/gl_avltree_oset.c: Likewise.
59176         * lib/gl_avltree_oset.h: Likewise.
59177         * lib/gl_avltreehash_list.c: Likewise.
59178         * lib/gl_avltreehash_list.h: Likewise.
59179         * lib/gl_carray_list.c: Likewise.
59180         * lib/gl_carray_list.h: Likewise.
59181         * lib/gl_linked_list.c: Likewise.
59182         * lib/gl_linked_list.h: Likewise.
59183         * lib/gl_linkedhash_list.c: Likewise.
59184         * lib/gl_linkedhash_list.h: Likewise.
59185         * lib/gl_list.c: Likewise.
59186         * lib/gl_list.h: Likewise.
59187         * lib/gl_oset.c: Likewise.
59188         * lib/gl_oset.h: Likewise.
59189         * lib/gl_rbtree_list.c: Likewise.
59190         * lib/gl_rbtree_list.h: Likewise.
59191         * lib/gl_rbtree_oset.c: Likewise.
59192         * lib/gl_rbtree_oset.h: Likewise.
59193         * lib/gl_rbtreehash_list.c: Likewise.
59194         * lib/gl_rbtreehash_list.h: Likewise.
59195         * lib/gl_sublist.c: Likewise.
59196         * lib/gl_sublist.h: Likewise.
59197         * lib/group-member.c: Likewise.
59198         * lib/group-member.h: Likewise.
59199         * lib/hard-locale.c: Likewise.
59200         * lib/hard-locale.h: Likewise.
59201         * lib/hash-pjw.c: Likewise.
59202         * lib/hash-pjw.h: Likewise.
59203         * lib/hash-triple.c: Likewise.
59204         * lib/hash.c: Likewise.
59205         * lib/hash.h: Likewise.
59206         * lib/human.c: Likewise.
59207         * lib/human.h: Likewise.
59208         * lib/i-ring.c: Likewise.
59209         * lib/i-ring.h: Likewise.
59210         * lib/idcache.c: Likewise.
59211         * lib/imaxabs.c: Likewise.
59212         * lib/imaxdiv.c: Likewise.
59213         * lib/inet_pton.c: Likewise.
59214         * lib/inet_pton.h: Likewise.
59215         * lib/intprops.h: Likewise.
59216         * lib/inttostr.c: Likewise.
59217         * lib/inttostr.h: Likewise.
59218         * lib/inttypes.in.h: Likewise.
59219         * lib/isapipe.c: Likewise.
59220         * lib/isdir.c: Likewise.
59221         * lib/isnan.c: Likewise.
59222         * lib/isnan.h: Likewise.
59223         * lib/isnanf.c: Likewise.
59224         * lib/isnanf.h: Likewise.
59225         * lib/isnanl-nolibm.h: Likewise.
59226         * lib/isnanl.c: Likewise.
59227         * lib/isnanl.h: Likewise.
59228         * lib/javacomp.c: Likewise.
59229         * lib/javacomp.h: Likewise.
59230         * lib/javaexec.c: Likewise.
59231         * lib/javaexec.h: Likewise.
59232         * lib/javaversion.c: Likewise.
59233         * lib/javaversion.h: Likewise.
59234         * lib/javaversion.java: Likewise.
59235         * lib/lbrkprop.h: Likewise.
59236         * lib/lchmod.h: Likewise.
59237         * lib/lchown.c: Likewise.
59238         * lib/ldexpl.c: Likewise.
59239         * lib/linebreak.c: Likewise.
59240         * lib/linebreak.h: Likewise.
59241         * lib/linebuffer.c: Likewise.
59242         * lib/linebuffer.h: Likewise.
59243         * lib/locale.in.h: Likewise.
59244         * lib/logl.c: Likewise.
59245         * lib/long-options.c: Likewise.
59246         * lib/long-options.h: Likewise.
59247         * lib/lstat.c: Likewise.
59248         * lib/lstat.h: Likewise.
59249         * lib/math.in.h: Likewise.
59250         * lib/mbchar.c: Likewise.
59251         * lib/mbchar.h: Likewise.
59252         * lib/mbfile.h: Likewise.
59253         * lib/mbiter.h: Likewise.
59254         * lib/mbscasecmp.c: Likewise.
59255         * lib/mbscasestr.c: Likewise.
59256         * lib/mbschr.c: Likewise.
59257         * lib/mbscspn.c: Likewise.
59258         * lib/mbslen.c: Likewise.
59259         * lib/mbsncasecmp.c: Likewise.
59260         * lib/mbsnlen.c: Likewise.
59261         * lib/mbspbrk.c: Likewise.
59262         * lib/mbspcasecmp.c: Likewise.
59263         * lib/mbsrchr.c: Likewise.
59264         * lib/mbssep.c: Likewise.
59265         * lib/mbsspn.c: Likewise.
59266         * lib/mbsstr.c: Likewise.
59267         * lib/mbstok_r.c: Likewise.
59268         * lib/mbswidth.c: Likewise.
59269         * lib/mbswidth.h: Likewise.
59270         * lib/mbuiter.h: Likewise.
59271         * lib/memcasecmp.c: Likewise.
59272         * lib/memcasecmp.h: Likewise.
59273         * lib/memchr.c: Likewise.
59274         * lib/memcmp.c: Likewise.
59275         * lib/memcoll.c: Likewise.
59276         * lib/memcoll.h: Likewise.
59277         * lib/memcpy.c: Likewise.
59278         * lib/memrchr.c: Likewise.
59279         * lib/mkancesdirs.c: Likewise.
59280         * lib/mkdir-p.c: Likewise.
59281         * lib/mkdir-p.h: Likewise.
59282         * lib/mkdir.c: Likewise.
59283         * lib/mkdirat.c: Likewise.
59284         * lib/mkdtemp.c: Likewise.
59285         * lib/mkstemp-safer.c: Likewise.
59286         * lib/mkstemp.c: Likewise.
59287         * lib/modechange.c: Likewise.
59288         * lib/modechange.h: Likewise.
59289         * lib/mountlist.c: Likewise.
59290         * lib/mountlist.h: Likewise.
59291         * lib/mpsort.c: Likewise.
59292         * lib/nanosleep.c: Likewise.
59293         * lib/obstack.c: Likewise.
59294         * lib/obstack.h: Likewise.
59295         * lib/open-safer.c: Likewise.
59296         * lib/open.c: Likewise.
59297         * lib/openat-die.c: Likewise.
59298         * lib/openat-priv.h: Likewise.
59299         * lib/openat-proc.c: Likewise.
59300         * lib/openat.c: Likewise.
59301         * lib/openat.h: Likewise.
59302         * lib/pagealign_alloc.c: Likewise.
59303         * lib/pagealign_alloc.h: Likewise.
59304         * lib/physmem.c: Likewise.
59305         * lib/physmem.h: Likewise.
59306         * lib/pipe-safer.c: Likewise.
59307         * lib/pipe.c: Likewise.
59308         * lib/pipe.h: Likewise.
59309         * lib/posixtm.c: Likewise.
59310         * lib/posixtm.h: Likewise.
59311         * lib/posixver.c: Likewise.
59312         * lib/printf-frexp.c: Likewise.
59313         * lib/printf-frexp.h: Likewise.
59314         * lib/printf-frexpl.c: Likewise.
59315         * lib/printf-frexpl.h: Likewise.
59316         * lib/printf.c: Likewise.
59317         * lib/progname.c: Likewise.
59318         * lib/progname.h: Likewise.
59319         * lib/progreloc.c: Likewise.
59320         * lib/putenv.c: Likewise.
59321         * lib/quote.c: Likewise.
59322         * lib/quote.h: Likewise.
59323         * lib/quotearg.c: Likewise.
59324         * lib/quotearg.h: Likewise.
59325         * lib/raise.c: Likewise.
59326         * lib/readline.c: Likewise.
59327         * lib/readline.h: Likewise.
59328         * lib/readlink.c: Likewise.
59329         * lib/readtokens.c: Likewise.
59330         * lib/readtokens.h: Likewise.
59331         * lib/readtokens0.c: Likewise.
59332         * lib/readtokens0.h: Likewise.
59333         * lib/readutmp.c: Likewise.
59334         * lib/readutmp.h: Likewise.
59335         * lib/realloc.c: Likewise.
59336         * lib/relocwrapper.c: Likewise.
59337         * lib/rename-dest-slash.c: Likewise.
59338         * lib/rename.c: Likewise.
59339         * lib/rmdir.c: Likewise.
59340         * lib/rpmatch.c: Likewise.
59341         * lib/safe-read.c: Likewise.
59342         * lib/safe-read.h: Likewise.
59343         * lib/safe-write.c: Likewise.
59344         * lib/safe-write.h: Likewise.
59345         * lib/same-inode.h: Likewise.
59346         * lib/same.c: Likewise.
59347         * lib/same.h: Likewise.
59348         * lib/save-cwd.c: Likewise.
59349         * lib/save-cwd.h: Likewise.
59350         * lib/savedir.c: Likewise.
59351         * lib/savedir.h: Likewise.
59352         * lib/savewd.c: Likewise.
59353         * lib/savewd.h: Likewise.
59354         * lib/search.in.h: Likewise.
59355         * lib/setenv.c: Likewise.
59356         * lib/setenv.h: Likewise.
59357         * lib/settime.c: Likewise.
59358         * lib/sh-quote.c: Likewise.
59359         * lib/sh-quote.h: Likewise.
59360         * lib/sig2str.c: Likewise.
59361         * lib/sig2str.h: Likewise.
59362         * lib/signal.in.h: Likewise.
59363         * lib/signbitd.c: Likewise.
59364         * lib/signbitf.c: Likewise.
59365         * lib/signbitl.c: Likewise.
59366         * lib/sigprocmask.c: Likewise.
59367         * lib/sincosl.c: Likewise.
59368         * lib/sleep.c: Likewise.
59369         * lib/sprintf.c: Likewise.
59370         * lib/sqrtl.c: Likewise.
59371         * lib/stat-time.h: Likewise.
59372         * lib/stdio--.h: Likewise.
59373         * lib/stdio-safer.h: Likewise.
59374         * lib/stdlib--.h: Likewise.
59375         * lib/stdlib-safer.h: Likewise.
59376         * lib/stdlib.in.h: Likewise.
59377         * lib/stpcpy.c: Likewise.
59378         * lib/stpncpy.c: Likewise.
59379         * lib/strchrnul.c: Likewise.
59380         * lib/strcspn.c: Likewise.
59381         * lib/strerror.c: Likewise.
59382         * lib/strftime.c: Likewise.
59383         * lib/strftime.h: Likewise.
59384         * lib/striconveh.c: Likewise.
59385         * lib/striconveh.h: Likewise.
59386         * lib/striconveha.c: Likewise.
59387         * lib/striconveha.h: Likewise.
59388         * lib/stripslash.c: Likewise.
59389         * lib/strnlen1.c: Likewise.
59390         * lib/strnlen1.h: Likewise.
59391         * lib/strtod.c: Likewise.
59392         * lib/strtoimax.c: Likewise.
59393         * lib/strtok_r.c: Likewise.
59394         * lib/strtol.c: Likewise.
59395         * lib/strtoll.c: Likewise.
59396         * lib/strtoul.c: Likewise.
59397         * lib/strtoull.c: Likewise.
59398         * lib/sysexits.in.h: Likewise.
59399         * lib/tempname.c: Likewise.
59400         * lib/tempname.h: Likewise.
59401         * lib/timespec.h: Likewise.
59402         * lib/tls.c: Likewise.
59403         * lib/tls.h: Likewise.
59404         * lib/tmpdir.c: Likewise.
59405         * lib/tmpdir.h: Likewise.
59406         * lib/tmpfile-safer.c: Likewise.
59407         * lib/tmpfile.c: Likewise.
59408         * lib/trigl.c: Likewise.
59409         * lib/trigl.h: Likewise.
59410         * lib/trim.c: Likewise.
59411         * lib/trim.h: Likewise.
59412         * lib/trunc.c: Likewise.
59413         * lib/truncf.c: Likewise.
59414         * lib/truncl.c: Likewise.
59415         * lib/tsearch.c: Likewise.
59416         * lib/unicodeio.c: Likewise.
59417         * lib/unicodeio.h: Likewise.
59418         * lib/unistd--.h: Likewise.
59419         * lib/unistd-safer.h: Likewise.
59420         * lib/unistdio/ulc-fprintf.c: Likewise.
59421         * lib/unistdio/ulc-vfprintf.c: Likewise.
59422         * lib/unlinkdir.c: Likewise.
59423         * lib/unlinkdir.h: Likewise.
59424         * lib/unlocked-io.h: Likewise.
59425         * lib/unsetenv.c: Likewise.
59426         * lib/userspec.c: Likewise.
59427         * lib/utime.c: Likewise.
59428         * lib/utimecmp.c: Likewise.
59429         * lib/utimecmp.h: Likewise.
59430         * lib/utimens.c: Likewise.
59431         * lib/verify.h: Likewise.
59432         * lib/verror.c: Likewise.
59433         * lib/verror.h: Likewise.
59434         * lib/version-etc-fsf.c: Likewise.
59435         * lib/version-etc.c: Likewise.
59436         * lib/version-etc.h: Likewise.
59437         * lib/vfprintf.c: Likewise.
59438         * lib/vprintf.c: Likewise.
59439         * lib/vsprintf.c: Likewise.
59440         * lib/w32spawn.h: Likewise.
59441         * lib/wait-process.c: Likewise.
59442         * lib/wait-process.h: Likewise.
59443         * lib/wcwidth.c: Likewise.
59444         * lib/write-any-file.c: Likewise.
59445         * lib/xalloc-die.c: Likewise.
59446         * lib/xalloc.h: Likewise.
59447         * lib/xasprintf.c: Likewise.
59448         * lib/xgetcwd.c: Likewise.
59449         * lib/xgetcwd.h: Likewise.
59450         * lib/xgetdomainname.c: Likewise.
59451         * lib/xgetdomainname.h: Likewise.
59452         * lib/xgethostname.c: Likewise.
59453         * lib/xmalloc.c: Likewise.
59454         * lib/xmalloca.c: Likewise.
59455         * lib/xmalloca.h: Likewise.
59456         * lib/xmemcoll.c: Likewise.
59457         * lib/xnanosleep.c: Likewise.
59458         * lib/xreadlink.c: Likewise.
59459         * lib/xreadlink.h: Likewise.
59460         * lib/xsetenv.c: Likewise.
59461         * lib/xsetenv.h: Likewise.
59462         * lib/xstriconv.c: Likewise.
59463         * lib/xstriconv.h: Likewise.
59464         * lib/xstrndup.c: Likewise.
59465         * lib/xstrndup.h: Likewise.
59466         * lib/xstrtod.c: Likewise.
59467         * lib/xstrtod.h: Likewise.
59468         * lib/xstrtol-error.c: Likewise.
59469         * lib/xstrtol.c: Likewise.
59470         * lib/xstrtol.h: Likewise.
59471         * lib/xtime.h: Likewise.
59472         * lib/xvasprintf.c: Likewise.
59473         * lib/xvasprintf.h: Likewise.
59474         * lib/yesno.c: Likewise.
59475         * lib/yesno.h: Likewise.
59476         * posix-modules: Likewise.
59477         * tests/test-alloca-opt.c: Likewise.
59478         * tests/test-arcfour.c: Likewise.
59479         * tests/test-arctwo.c: Likewise.
59480         * tests/test-argmatch.c: Likewise.
59481         * tests/test-argp-2.sh: Likewise.
59482         * tests/test-argp.c: Likewise.
59483         * tests/test-arpa_inet.c: Likewise.
59484         * tests/test-array_list.c: Likewise.
59485         * tests/test-array_oset.c: Likewise.
59486         * tests/test-atexit.c: Likewise.
59487         * tests/test-avltree_list.c: Likewise.
59488         * tests/test-avltree_oset.c: Likewise.
59489         * tests/test-avltreehash_list.c: Likewise.
59490         * tests/test-base64.c: Likewise.
59491         * tests/test-binary-io.c: Likewise.
59492         * tests/test-byteswap.c: Likewise.
59493         * tests/test-c-ctype.c: Likewise.
59494         * tests/test-c-strcasecmp.c: Likewise.
59495         * tests/test-c-strcasestr.c: Likewise.
59496         * tests/test-c-strncasecmp.c: Likewise.
59497         * tests/test-c-strstr.c: Likewise.
59498         * tests/test-canonicalize-lgpl.c: Likewise.
59499         * tests/test-canonicalize.c: Likewise.
59500         * tests/test-carray_list.c: Likewise.
59501         * tests/test-ceilf.c: Likewise.
59502         * tests/test-ceill.c: Likewise.
59503         * tests/test-count-one-bits.c: Likewise.
59504         * tests/test-crc.c: Likewise.
59505         * tests/test-dirname.c: Likewise.
59506         * tests/test-fbufmode.c: Likewise.
59507         * tests/test-fcntl.c: Likewise.
59508         * tests/test-fflush.c: Likewise.
59509         * tests/test-floorf.c: Likewise.
59510         * tests/test-floorl.c: Likewise.
59511         * tests/test-fopen.c: Likewise.
59512         * tests/test-fprintf-posix.c: Likewise.
59513         * tests/test-fprintf-posix.h: Likewise.
59514         * tests/test-fpurge.c: Likewise.
59515         * tests/test-freadable.c: Likewise.
59516         * tests/test-freadahead.c: Likewise.
59517         * tests/test-freading.c: Likewise.
59518         * tests/test-freopen.c: Likewise.
59519         * tests/test-frexp.c: Likewise.
59520         * tests/test-frexpl.c: Likewise.
59521         * tests/test-fseek.c: Likewise.
59522         * tests/test-fseeko.c: Likewise.
59523         * tests/test-fseterr.c: Likewise.
59524         * tests/test-fstrcmp.c: Likewise.
59525         * tests/test-ftell.c: Likewise.
59526         * tests/test-ftello.c: Likewise.
59527         * tests/test-fwritable.c: Likewise.
59528         * tests/test-fwriting.c: Likewise.
59529         * tests/test-getaddrinfo.c: Likewise.
59530         * tests/test-getpass.c: Likewise.
59531         * tests/test-gettimeofday.c: Likewise.
59532         * tests/test-hmac-md5.c: Likewise.
59533         * tests/test-hmac-sha1.c: Likewise.
59534         * tests/test-iconv.c: Likewise.
59535         * tests/test-iconvme.c: Likewise.
59536         * tests/test-inttypes.c: Likewise.
59537         * tests/test-isnan.c: Likewise.
59538         * tests/test-isnanf.c: Likewise.
59539         * tests/test-isnanl-nolibm.c: Likewise.
59540         * tests/test-isnanl.c: Likewise.
59541         * tests/test-isnanl.h: Likewise.
59542         * tests/test-ldexpl.c: Likewise.
59543         * tests/test-linked_list.c: Likewise.
59544         * tests/test-linkedhash_list.c: Likewise.
59545         * tests/test-locale.c: Likewise.
59546         * tests/test-localename.c: Likewise.
59547         * tests/test-lock.c: Likewise.
59548         * tests/test-lseek.c: Likewise.
59549         * tests/test-malloca.c: Likewise.
59550         * tests/test-math.c: Likewise.
59551         * tests/test-mbscasecmp.c: Likewise.
59552         * tests/test-mbscasestr1.c: Likewise.
59553         * tests/test-mbscasestr2.c: Likewise.
59554         * tests/test-mbscasestr3.c: Likewise.
59555         * tests/test-mbscasestr4.c: Likewise.
59556         * tests/test-mbschr.c: Likewise.
59557         * tests/test-mbscspn.c: Likewise.
59558         * tests/test-mbsncasecmp.c: Likewise.
59559         * tests/test-mbspbrk.c: Likewise.
59560         * tests/test-mbspcasecmp.c: Likewise.
59561         * tests/test-mbsrchr.c: Likewise.
59562         * tests/test-mbsspn.c: Likewise.
59563         * tests/test-mbsstr1.c: Likewise.
59564         * tests/test-mbsstr2.c: Likewise.
59565         * tests/test-mbsstr3.c: Likewise.
59566         * tests/test-md5.c: Likewise.
59567         * tests/test-memmem.c: Likewise.
59568         * tests/test-netinet_in.c: Likewise.
59569         * tests/test-open.c: Likewise.
59570         * tests/test-printf-frexp.c: Likewise.
59571         * tests/test-printf-frexpl.c: Likewise.
59572         * tests/test-printf-posix.c: Likewise.
59573         * tests/test-printf-posix.h: Likewise.
59574         * tests/test-rbtree_list.c: Likewise.
59575         * tests/test-rbtree_oset.c: Likewise.
59576         * tests/test-rbtreehash_list.c: Likewise.
59577         * tests/test-read-file.c: Likewise.
59578         * tests/test-rijndael.c: Likewise.
59579         * tests/test-search.c: Likewise.
59580         * tests/test-signbit.c: Likewise.
59581         * tests/test-sleep.c: Likewise.
59582         * tests/test-snprintf-posix.c: Likewise.
59583         * tests/test-snprintf-posix.h: Likewise.
59584         * tests/test-snprintf.c: Likewise.
59585         * tests/test-sprintf-posix.c: Likewise.
59586         * tests/test-sprintf-posix.h: Likewise.
59587         * tests/test-stat-time.c: Likewise.
59588         * tests/test-stdbool.c: Likewise.
59589         * tests/test-stdint.c: Likewise.
59590         * tests/test-stdio.c: Likewise.
59591         * tests/test-stdlib.c: Likewise.
59592         * tests/test-stpncpy.c: Likewise.
59593         * tests/test-strcasestr.c: Likewise.
59594         * tests/test-striconv.c: Likewise.
59595         * tests/test-striconveh.c: Likewise.
59596         * tests/test-striconveha.c: Likewise.
59597         * tests/test-string.c: Likewise.
59598         * tests/test-sys_select.c: Likewise.
59599         * tests/test-sys_socket.c: Likewise.
59600         * tests/test-sys_stat.c: Likewise.
59601         * tests/test-sys_time.c: Likewise.
59602         * tests/test-sysexits.c: Likewise.
59603         * tests/test-time.c: Likewise.
59604         * tests/test-tls.c: Likewise.
59605         * tests/test-trunc.c: Likewise.
59606         * tests/test-truncf.c: Likewise.
59607         * tests/test-truncl.c: Likewise.
59608         * tests/test-unistd.c: Likewise.
59609         * tests/test-vasnprintf-posix.c: Likewise.
59610         * tests/test-vasnprintf-posix2.c: Likewise.
59611         * tests/test-vasnprintf.c: Likewise.
59612         * tests/test-vasprintf-posix.c: Likewise.
59613         * tests/test-vasprintf.c: Likewise.
59614         * tests/test-verify.c: Likewise.
59615         * tests/test-vfprintf-posix.c: Likewise.
59616         * tests/test-vprintf-posix.c: Likewise.
59617         * tests/test-vsnprintf-posix.c: Likewise.
59618         * tests/test-vsnprintf.c: Likewise.
59619         * tests/test-vsprintf-posix.c: Likewise.
59620         * tests/test-wchar.c: Likewise.
59621         * tests/test-wctype.c: Likewise.
59622         * tests/test-wcwidth.c: Likewise.
59623         * tests/test-xstrtol.c: Likewise.
59624         * tests/test-xvasprintf.c: Likewise.
59625         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
59626         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
59627         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
59628         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
59629         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
59630         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
59631         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
59632         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
59633         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
59634         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
59635         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
59636         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
59637         * tests/uniname/test-uninames.c: Likewise.
59638         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
59639         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
59640         * tests/unistdio/test-u16-printf1.h: Likewise.
59641         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
59642         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
59643         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
59644         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
59645         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
59646         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
59647         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
59648         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
59649         * tests/unistdio/test-u32-printf1.h: Likewise.
59650         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
59651         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
59652         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
59653         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
59654         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
59655         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
59656         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
59657         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
59658         * tests/unistdio/test-u8-printf1.h: Likewise.
59659         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
59660         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
59661         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
59662         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
59663         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
59664         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
59665         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
59666         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
59667         * tests/unistdio/test-ulc-printf1.h: Likewise.
59668         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
59669         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
59670         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
59671         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
59672         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
59673         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
59674         * tests/uniwidth/test-u16-strwidth.c: Likewise.
59675         * tests/uniwidth/test-u16-width.c: Likewise.
59676         * tests/uniwidth/test-u32-strwidth.c: Likewise.
59677         * tests/uniwidth/test-u32-width.c: Likewise.
59678         * tests/uniwidth/test-u8-strwidth.c: Likewise.
59679         * tests/uniwidth/test-u8-width.c: Likewise.
59680         * tests/uniwidth/test-uc_width.c: Likewise.
59681         * config/srclist-update: Likewise.
59682         (fixlicense): Update to GPLv3+.
59683
59684         Change copyright notice from LGPLv2.1+ to LGPLv3+.
59685         * tests/test-tsearch.c: Change copyright notice.
59686
59687         Change copyright notice from LGPLv2.0+ to LGPLv3+.
59688         * lib/c-strcaseeq.h: Change copyright notice.
59689         * lib/streq.h: Likewise.
59690         * lib/uniconv.h: Likewise.
59691         * lib/uniconv/u-conv-from-enc.h: Likewise.
59692         * lib/uniconv/u-conv-to-enc.h: Likewise.
59693         * lib/uniconv/u-strconv-from-enc.h: Likewise.
59694         * lib/uniconv/u-strconv-to-enc.h: Likewise.
59695         * lib/uniconv/u16-conv-from-enc.c: Likewise.
59696         * lib/uniconv/u16-conv-to-enc.c: Likewise.
59697         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
59698         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
59699         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
59700         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
59701         * lib/uniconv/u32-conv-from-enc.c: Likewise.
59702         * lib/uniconv/u32-conv-to-enc.c: Likewise.
59703         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
59704         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
59705         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
59706         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
59707         * lib/uniconv/u8-conv-from-enc.c: Likewise.
59708         * lib/uniconv/u8-conv-to-enc.c: Likewise.
59709         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
59710         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
59711         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
59712         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
59713         * lib/uniname.h: Likewise.
59714         * lib/uniname/uniname.c: Likewise.
59715         * lib/unistdio.h: Likewise.
59716         * lib/unistdio/u-asnprintf.h: Likewise.
59717         * lib/unistdio/u-asprintf.h: Likewise.
59718         * lib/unistdio/u-printf-args.c: Likewise.
59719         * lib/unistdio/u-printf-args.h: Likewise.
59720         * lib/unistdio/u-printf-parse.h: Likewise.
59721         * lib/unistdio/u-snprintf.h: Likewise.
59722         * lib/unistdio/u-sprintf.h: Likewise.
59723         * lib/unistdio/u-vasprintf.h: Likewise.
59724         * lib/unistdio/u-vsnprintf.h: Likewise.
59725         * lib/unistdio/u-vsprintf.h: Likewise.
59726         * lib/unistdio/u16-asnprintf.c: Likewise.
59727         * lib/unistdio/u16-asprintf.c: Likewise.
59728         * lib/unistdio/u16-printf-parse.c: Likewise.
59729         * lib/unistdio/u16-snprintf.c: Likewise.
59730         * lib/unistdio/u16-sprintf.c: Likewise.
59731         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
59732         * lib/unistdio/u16-u16-asprintf.c: Likewise.
59733         * lib/unistdio/u16-u16-snprintf.c: Likewise.
59734         * lib/unistdio/u16-u16-sprintf.c: Likewise.
59735         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
59736         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
59737         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
59738         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
59739         * lib/unistdio/u16-vasnprintf.c: Likewise.
59740         * lib/unistdio/u16-vasprintf.c: Likewise.
59741         * lib/unistdio/u16-vsnprintf.c: Likewise.
59742         * lib/unistdio/u16-vsprintf.c: Likewise.
59743         * lib/unistdio/u32-asnprintf.c: Likewise.
59744         * lib/unistdio/u32-asprintf.c: Likewise.
59745         * lib/unistdio/u32-printf-parse.c: Likewise.
59746         * lib/unistdio/u32-snprintf.c: Likewise.
59747         * lib/unistdio/u32-sprintf.c: Likewise.
59748         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
59749         * lib/unistdio/u32-u32-asprintf.c: Likewise.
59750         * lib/unistdio/u32-u32-snprintf.c: Likewise.
59751         * lib/unistdio/u32-u32-sprintf.c: Likewise.
59752         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
59753         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
59754         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
59755         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
59756         * lib/unistdio/u32-vasnprintf.c: Likewise.
59757         * lib/unistdio/u32-vasprintf.c: Likewise.
59758         * lib/unistdio/u32-vsnprintf.c: Likewise.
59759         * lib/unistdio/u32-vsprintf.c: Likewise.
59760         * lib/unistdio/u8-asnprintf.c: Likewise.
59761         * lib/unistdio/u8-asprintf.c: Likewise.
59762         * lib/unistdio/u8-printf-parse.c: Likewise.
59763         * lib/unistdio/u8-snprintf.c: Likewise.
59764         * lib/unistdio/u8-sprintf.c: Likewise.
59765         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
59766         * lib/unistdio/u8-u8-asprintf.c: Likewise.
59767         * lib/unistdio/u8-u8-snprintf.c: Likewise.
59768         * lib/unistdio/u8-u8-sprintf.c: Likewise.
59769         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
59770         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
59771         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
59772         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
59773         * lib/unistdio/u8-vasnprintf.c: Likewise.
59774         * lib/unistdio/u8-vasprintf.c: Likewise.
59775         * lib/unistdio/u8-vsnprintf.c: Likewise.
59776         * lib/unistdio/u8-vsprintf.c: Likewise.
59777         * lib/unistdio/ulc-asnprintf.c: Likewise.
59778         * lib/unistdio/ulc-asprintf.c: Likewise.
59779         * lib/unistdio/ulc-printf-parse.c: Likewise.
59780         * lib/unistdio/ulc-snprintf.c: Likewise.
59781         * lib/unistdio/ulc-sprintf.c: Likewise.
59782         * lib/unistdio/ulc-vasnprintf.c: Likewise.
59783         * lib/unistdio/ulc-vasprintf.c: Likewise.
59784         * lib/unistdio/ulc-vsnprintf.c: Likewise.
59785         * lib/unistdio/ulc-vsprintf.c: Likewise.
59786         * lib/unistr.h: Likewise.
59787         * lib/unistr/u-cpy-alloc.h: Likewise.
59788         * lib/unistr/u-cpy.h: Likewise.
59789         * lib/unistr/u-endswith.h: Likewise.
59790         * lib/unistr/u-move.h: Likewise.
59791         * lib/unistr/u-set.h: Likewise.
59792         * lib/unistr/u-startswith.h: Likewise.
59793         * lib/unistr/u-stpcpy.h: Likewise.
59794         * lib/unistr/u-stpncpy.h: Likewise.
59795         * lib/unistr/u-strcat.h: Likewise.
59796         * lib/unistr/u-strcpy.h: Likewise.
59797         * lib/unistr/u-strcspn.h: Likewise.
59798         * lib/unistr/u-strdup.h: Likewise.
59799         * lib/unistr/u-strlen.h: Likewise.
59800         * lib/unistr/u-strncat.h: Likewise.
59801         * lib/unistr/u-strncpy.h: Likewise.
59802         * lib/unistr/u-strnlen.h: Likewise.
59803         * lib/unistr/u-strpbrk.h: Likewise.
59804         * lib/unistr/u-strspn.h: Likewise.
59805         * lib/unistr/u-strstr.h: Likewise.
59806         * lib/unistr/u-strtok.h: Likewise.
59807         * lib/unistr/u16-check.c: Likewise.
59808         * lib/unistr/u16-chr.c: Likewise.
59809         * lib/unistr/u16-cmp.c: Likewise.
59810         * lib/unistr/u16-cpy-alloc.c: Likewise.
59811         * lib/unistr/u16-cpy.c: Likewise.
59812         * lib/unistr/u16-endswith.c: Likewise.
59813         * lib/unistr/u16-mblen.c: Likewise.
59814         * lib/unistr/u16-mbsnlen.c: Likewise.
59815         * lib/unistr/u16-mbtouc-aux.c: Likewise.
59816         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
59817         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
59818         * lib/unistr/u16-mbtouc.c: Likewise.
59819         * lib/unistr/u16-mbtoucr.c: Likewise.
59820         * lib/unistr/u16-move.c: Likewise.
59821         * lib/unistr/u16-next.c: Likewise.
59822         * lib/unistr/u16-prev.c: Likewise.
59823         * lib/unistr/u16-set.c: Likewise.
59824         * lib/unistr/u16-startswith.c: Likewise.
59825         * lib/unistr/u16-stpcpy.c: Likewise.
59826         * lib/unistr/u16-stpncpy.c: Likewise.
59827         * lib/unistr/u16-strcat.c: Likewise.
59828         * lib/unistr/u16-strchr.c: Likewise.
59829         * lib/unistr/u16-strcmp.c: Likewise.
59830         * lib/unistr/u16-strcpy.c: Likewise.
59831         * lib/unistr/u16-strcspn.c: Likewise.
59832         * lib/unistr/u16-strdup.c: Likewise.
59833         * lib/unistr/u16-strlen.c: Likewise.
59834         * lib/unistr/u16-strmblen.c: Likewise.
59835         * lib/unistr/u16-strmbtouc.c: Likewise.
59836         * lib/unistr/u16-strncat.c: Likewise.
59837         * lib/unistr/u16-strncmp.c: Likewise.
59838         * lib/unistr/u16-strncpy.c: Likewise.
59839         * lib/unistr/u16-strnlen.c: Likewise.
59840         * lib/unistr/u16-strpbrk.c: Likewise.
59841         * lib/unistr/u16-strrchr.c: Likewise.
59842         * lib/unistr/u16-strspn.c: Likewise.
59843         * lib/unistr/u16-strstr.c: Likewise.
59844         * lib/unistr/u16-strtok.c: Likewise.
59845         * lib/unistr/u16-to-u32.c: Likewise.
59846         * lib/unistr/u16-to-u8.c: Likewise.
59847         * lib/unistr/u16-uctomb-aux.c: Likewise.
59848         * lib/unistr/u16-uctomb.c: Likewise.
59849         * lib/unistr/u32-check.c: Likewise.
59850         * lib/unistr/u32-chr.c: Likewise.
59851         * lib/unistr/u32-cmp.c: Likewise.
59852         * lib/unistr/u32-cpy-alloc.c: Likewise.
59853         * lib/unistr/u32-cpy.c: Likewise.
59854         * lib/unistr/u32-endswith.c: Likewise.
59855         * lib/unistr/u32-mblen.c: Likewise.
59856         * lib/unistr/u32-mbsnlen.c: Likewise.
59857         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
59858         * lib/unistr/u32-mbtouc.c: Likewise.
59859         * lib/unistr/u32-mbtoucr.c: Likewise.
59860         * lib/unistr/u32-move.c: Likewise.
59861         * lib/unistr/u32-next.c: Likewise.
59862         * lib/unistr/u32-prev.c: Likewise.
59863         * lib/unistr/u32-set.c: Likewise.
59864         * lib/unistr/u32-startswith.c: Likewise.
59865         * lib/unistr/u32-stpcpy.c: Likewise.
59866         * lib/unistr/u32-stpncpy.c: Likewise.
59867         * lib/unistr/u32-strcat.c: Likewise.
59868         * lib/unistr/u32-strchr.c: Likewise.
59869         * lib/unistr/u32-strcmp.c: Likewise.
59870         * lib/unistr/u32-strcpy.c: Likewise.
59871         * lib/unistr/u32-strcspn.c: Likewise.
59872         * lib/unistr/u32-strdup.c: Likewise.
59873         * lib/unistr/u32-strlen.c: Likewise.
59874         * lib/unistr/u32-strmblen.c: Likewise.
59875         * lib/unistr/u32-strmbtouc.c: Likewise.
59876         * lib/unistr/u32-strncat.c: Likewise.
59877         * lib/unistr/u32-strncmp.c: Likewise.
59878         * lib/unistr/u32-strncpy.c: Likewise.
59879         * lib/unistr/u32-strnlen.c: Likewise.
59880         * lib/unistr/u32-strpbrk.c: Likewise.
59881         * lib/unistr/u32-strrchr.c: Likewise.
59882         * lib/unistr/u32-strspn.c: Likewise.
59883         * lib/unistr/u32-strstr.c: Likewise.
59884         * lib/unistr/u32-strtok.c: Likewise.
59885         * lib/unistr/u32-to-u16.c: Likewise.
59886         * lib/unistr/u32-to-u8.c: Likewise.
59887         * lib/unistr/u32-uctomb.c: Likewise.
59888         * lib/unistr/u8-check.c: Likewise.
59889         * lib/unistr/u8-chr.c: Likewise.
59890         * lib/unistr/u8-cmp.c: Likewise.
59891         * lib/unistr/u8-cpy-alloc.c: Likewise.
59892         * lib/unistr/u8-cpy.c: Likewise.
59893         * lib/unistr/u8-endswith.c: Likewise.
59894         * lib/unistr/u8-mblen.c: Likewise.
59895         * lib/unistr/u8-mbsnlen.c: Likewise.
59896         * lib/unistr/u8-mbtouc-aux.c: Likewise.
59897         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
59898         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
59899         * lib/unistr/u8-mbtouc.c: Likewise.
59900         * lib/unistr/u8-mbtoucr.c: Likewise.
59901         * lib/unistr/u8-move.c: Likewise.
59902         * lib/unistr/u8-next.c: Likewise.
59903         * lib/unistr/u8-prev.c: Likewise.
59904         * lib/unistr/u8-set.c: Likewise.
59905         * lib/unistr/u8-startswith.c: Likewise.
59906         * lib/unistr/u8-stpcpy.c: Likewise.
59907         * lib/unistr/u8-stpncpy.c: Likewise.
59908         * lib/unistr/u8-strcat.c: Likewise.
59909         * lib/unistr/u8-strchr.c: Likewise.
59910         * lib/unistr/u8-strcmp.c: Likewise.
59911         * lib/unistr/u8-strcpy.c: Likewise.
59912         * lib/unistr/u8-strcspn.c: Likewise.
59913         * lib/unistr/u8-strdup.c: Likewise.
59914         * lib/unistr/u8-strlen.c: Likewise.
59915         * lib/unistr/u8-strmblen.c: Likewise.
59916         * lib/unistr/u8-strmbtouc.c: Likewise.
59917         * lib/unistr/u8-strncat.c: Likewise.
59918         * lib/unistr/u8-strncmp.c: Likewise.
59919         * lib/unistr/u8-strncpy.c: Likewise.
59920         * lib/unistr/u8-strnlen.c: Likewise.
59921         * lib/unistr/u8-strpbrk.c: Likewise.
59922         * lib/unistr/u8-strrchr.c: Likewise.
59923         * lib/unistr/u8-strspn.c: Likewise.
59924         * lib/unistr/u8-strstr.c: Likewise.
59925         * lib/unistr/u8-strtok.c: Likewise.
59926         * lib/unistr/u8-to-u16.c: Likewise.
59927         * lib/unistr/u8-to-u32.c: Likewise.
59928         * lib/unistr/u8-uctomb-aux.c: Likewise.
59929         * lib/unistr/u8-uctomb.c: Likewise.
59930         * lib/unitypes.h: Likewise.
59931         * lib/uniwidth.h: Likewise.
59932         * lib/uniwidth/cjk.h: Likewise.
59933         * lib/uniwidth/u16-strwidth.c: Likewise.
59934         * lib/uniwidth/u16-width.c: Likewise.
59935         * lib/uniwidth/u32-strwidth.c: Likewise.
59936         * lib/uniwidth/u32-width.c: Likewise.
59937         * lib/uniwidth/u8-strwidth.c: Likewise.
59938         * lib/uniwidth/u8-width.c: Likewise.
59939         * lib/uniwidth/width.c: Likewise.
59940
59941 2007-10-07  Bruno Haible  <bruno@clisp.org>
59942
59943         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
59944         The file is still under LGPL (see modules/inttypes).
59945
59946 2007-10-06  Bruno Haible  <bruno@clisp.org>
59947
59948         * modules/trunc (Dependencies): Add 'extensions'.
59949         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
59950         Reported by Ben Pfaff <blp@gnu.org>.
59951
59952 2007-10-06  Bruno Haible  <bruno@clisp.org>
59953
59954         * modules/freopen-tests: New file.
59955         * tests/test-freopen.c: New file.
59956
59957         * modules/fopen-tests: New file.
59958         * tests/test-fopen.c: New file.
59959
59960         * modules/fopen: New file.
59961         * lib/fopen.c: New file.
59962         * m4/fopen.m4: New file.
59963         * modules/freopen: New file.
59964         * lib/freopen.c: New file.
59965         * m4/freopen.m4: New file.
59966         * lib/stdio.in.h (fopen, freopen): New declarations.
59967         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
59968         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59969         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
59970         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59971         * doc/functions/fopen.texi: Mention the 'fopen' module.
59972         * doc/functions/freopen.texi: Mention the 'freopen' module.
59973
59974 2007-10-06  Bruno Haible  <bruno@clisp.org>
59975
59976         * modules/open-tests: New file.
59977         * tests/test-open.c: New file.
59978
59979         * modules/open: New file.
59980         * lib/open.c: New file.
59981         * m4/open.m4: New file.
59982         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
59983         lib/open.c does.
59984         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
59985         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
59986         macros.
59987         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
59988         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
59989         REPLACE_OPEN.
59990         * doc/functions/open.texi: Mention the 'open' module.
59991
59992 2007-10-04  Bruno Haible  <bruno@clisp.org>
59993
59994         * modules/ceill-tests: New file.
59995         * tests/test-ceill.c: New file.
59996
59997         * modules/ceill: New file.
59998         * lib/ceill.c: Replace entire file.
59999         * m4/ceill.m4: New file.
60000         * lib/math.in.h (ceill): Replace declaration.
60001         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60002         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60003         * doc/functions/ceill.texi: Mention the 'ceill' module.
60004         * modules/mathl (Files): Remove lib/ceill.c.
60005         (Depends-on): Add ceill.
60006
60007 2007-10-04  Bruno Haible  <bruno@clisp.org>
60008
60009         * modules/ceilf-tests: New file.
60010         * tests/test-ceilf.c: New file.
60011
60012         * modules/ceilf: New file.
60013         * lib/ceil.c: New file.
60014         * lib/ceilf.c: New file.
60015         * m4/ceilf.m4: New file.
60016         * lib/math.in.h (ceilf): New declaration.
60017         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60018         HAVE_DECL_CEILF.
60019         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60020         HAVE_DECL_CEILF.
60021         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60022
60023 2007-10-04  Bruno Haible  <bruno@clisp.org>
60024
60025         * modules/floorl-tests: New file.
60026         * tests/test-floorl.c: New file.
60027
60028         * modules/floorl: New file.
60029         * lib/floorl.c: Replace entire file.
60030         * m4/floorl.m4: New file.
60031         * lib/math.in.h (floorl): Replace declaration.
60032         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60033         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60034         * doc/functions/floorl.texi: Mention the 'floorl' module.
60035         * modules/mathl (Files): Remove lib/floorl.c.
60036         (Depends-on): Add floorl.
60037
60038 2007-10-04  Bruno Haible  <bruno@clisp.org>
60039
60040         * modules/floorf-tests: New file.
60041         * tests/test-floorf.c: New file.
60042
60043         * modules/floorf: New file.
60044         * lib/floor.c: New file.
60045         * lib/floorf.c: New file.
60046         * m4/floorf.m4: New file.
60047         * lib/math.in.h (floorf): New declaration.
60048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60049         HAVE_DECL_FLOORF.
60050         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60051         HAVE_DECL_FLOORF.
60052         * doc/functions/floorf.texi: Mention the 'floorf' module.
60053
60054 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60055             Bruno Haible  <bruno@clisp.org>
60056
60057         Advertise for the Git server instead of the CVS server.
60058         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60059         repository instead of the CVS one.
60060         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60061         about all VCS systems generically.
60062         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60063
60064 2007-10-04  Bruno Haible  <bruno@clisp.org>
60065
60066         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60067         means.
60068         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60069
60070 2007-10-04  Bruno Haible  <bruno@clisp.org>
60071
60072         * modules/truncl-tests: New file.
60073         * tests/test-truncl.c: New file.
60074
60075         * modules/truncl: New file.
60076         * lib/truncl.c: New file.
60077         * m4/truncl.m4: New file.
60078         * lib/math.in.h (truncl): New declaration.
60079         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60080         HAVE_DECL_TRUNCL.
60081         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60082         HAVE_DECL_TRUNCL.
60083         * doc/functions/truncl.texi: Mention the 'truncl' module.
60084
60085 2007-10-04  Bruno Haible  <bruno@clisp.org>
60086
60087         * modules/truncf-tests: New file.
60088         * tests/test-truncf.c: New file.
60089
60090         * modules/truncf: New file.
60091         * lib/trunc.c: Make paramerizable through USE_* macros.
60092         * lib/truncf.c: New file.
60093         * m4/truncf.m4: New file.
60094         * lib/math.in.h (truncf): New declaration.
60095         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60096         HAVE_DECL_TRUNCF.
60097         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60098         HAVE_DECL_TRUNCF.
60099         * doc/functions/truncf.texi: Mention the 'truncf' module.
60100
60101 2007-10-03  Bruno Haible  <bruno@clisp.org>
60102
60103         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60104         augmentation also for tests modules.
60105         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60106         * modules/atexit-tests (Makefile.am): Likewise.
60107         * modules/binary-io-tests (Makefile.am): Likewise.
60108         * modules/c-strcase-tests (Makefile.am): Likewise.
60109         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60110         * modules/canonicalize-tests (Makefile.am): Likewise.
60111         * modules/closein-tests (Makefile.am): Likewise.
60112         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60113         * modules/freadahead-tests (Makefile.am): Likewise.
60114         * modules/fseek-tests (Makefile.am): Likewise.
60115         * modules/fseeko-tests (Makefile.am): Likewise.
60116         * modules/ftell-tests (Makefile.am): Likewise.
60117         * modules/ftello-tests (Makefile.am): Likewise.
60118         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60119         * modules/isnanl-tests (Makefile.am): Likewise.
60120         * modules/lseek-tests (Makefile.am): Likewise.
60121         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60122         * modules/mbscasestr-tests (Makefile.am): Likewise.
60123         * modules/mbschr-tests (Makefile.am): Likewise.
60124         * modules/mbscspn-tests (Makefile.am): Likewise.
60125         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60126         * modules/mbspbrk-tests (Makefile.am): Likewise.
60127         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60128         * modules/mbsrchr-tests (Makefile.am): Likewise.
60129         * modules/mbsspn-tests (Makefile.am): Likewise.
60130         * modules/mbsstr-tests (Makefile.am): Likewise.
60131         * modules/printf-posix-tests (Makefile.am): Likewise.
60132         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60133         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60134         * modules/tsearch-tests (Makefile.am): Likewise.
60135         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60136         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60137         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60138         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60139         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60140         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60141         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60142         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60143         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60144         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60145         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60146         * modules/xstrtol-tests (Makefile.am): Likewise.
60147         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60148         * modules/yesno-tests (Makefile.am): Likewise.
60149
60150 2007-10-03  Bruno Haible  <bruno@clisp.org>
60151
60152         * modules/trunc-tests: New file.
60153         * tests/test-trunc.c: New file.
60154
60155         * modules/trunc: New file.
60156         * lib/trunc.c: New file.
60157         * m4/trunc.m4: New file.
60158         * lib/math.in.h (trunc): New declaration.
60159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
60160         HAVE_DECL_TRUNC.
60161         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
60162         HAVE_DECL_TRUNC.
60163         * doc/functions/trunc.texi: Mention the 'trunc' module.
60164
60165 2007-10-03  Bruno Haible  <bruno@clisp.org>
60166
60167         * tests/test-fpending.c: New file, mostly copied
60168         from coreutils/lib/t-fpending.c.
60169         * modules/fpending-tests: New file.
60170
60171 2007-10-03  Bruno Haible  <bruno@clisp.org>
60172
60173         Port the stdio extensions to QNX (untested).
60174         * lib/fseterr.c (fseterr): Add support for QNX.
60175         * lib/fbufmode.c (fbufmode): Likewise.
60176         * lib/freadable.c (freadable): Likewise.
60177         * lib/fwritable.c (fwritable): Likewise.
60178         * lib/freading.c (freading): Likewise.
60179         * lib/fwriting.c (fwriting): Likewise.
60180         * lib/freadahead.c (freadahed): Likewise.
60181         * lib/fpurge.c (fpurge): Likewise.
60182         * lib/fseeko.c (rpl_fseeko): Likewise.
60183
60184 2007-10-03  Bruno Haible  <bruno@clisp.org>
60185             Jim Meyering  <jim@meyering.net>
60186             Eric Blake  <ebb9@byu.net>
60187
60188         * doc/relocatable.texi: Use @command instead of @program.
60189
60190 2007-10-02  Jim Meyering  <jim@meyering.net>
60191
60192         Perform one more "_.h" -> ".in.h" substitution.
60193         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
60194         instead of unistd_.h here, too.
60195
60196 2007-10-01  Bruno Haible  <bruno@clisp.org>
60197
60198         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
60199         Needed for the alloca-opt module.
60200
60201 2007-09-30  Bruno Haible  <bruno@clisp.org>
60202
60203         * lib/alloca.in.h: Renamed from lib/alloca_.h.
60204         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
60205         alloca_.h.
60206         * lib/argz.in.h: Renamed from lib/argz_.h.
60207         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
60208         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
60209         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
60210         byteswap_.h.
60211         * lib/dirent.in.h: Renamed from lib/dirent_.h.
60212         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
60213         dirent_.h.
60214         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
60215         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
60216         fcntl_.h.
60217         * lib/float.in.h: Renamed from lib/float_.h.
60218         * modules/float (Files, Makefile.am): Use float.in.h instead of
60219         float_.h.
60220         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
60221         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
60222         fnmatch_.h.
60223         * lib/getopt.in.h: Renamed from lib/getopt_.h.
60224         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
60225         getopt_.h.
60226         * lib/glob.in.h: Renamed from lib/glob_.h.
60227         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
60228         * lib/iconv.in.h: Renamed from lib/iconv_.h.
60229         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
60230         iconv_.h.
60231         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
60232         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
60233         inttypes_.h.
60234         * lib/locale.in.h: Renamed from lib/locale_.h.
60235         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
60236         locale_.h.
60237         * lib/math.in.h: Renamed from lib/math_.h.
60238         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
60239         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
60240         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
60241         of netinet_in_.h. Add dependency.
60242         * lib/poll.in.h: Renamed from lib/poll_.h.
60243         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
60244         * lib/search.in.h: Renamed from lib/search_.h.
60245         * modules/search (Files, Makefile.am): Use search.in.h instead of
60246         search_.h.
60247         * lib/signal.in.h: Renamed from lib/signal_.h.
60248         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
60249         _signal.h.
60250         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
60251         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
60252         stdbool_.h.
60253         * lib/stdint.in.h: Renamed from lib/stdint_.h.
60254         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
60255         stdint_.h.
60256         * lib/stdio.in.h: Renamed from lib/stdio_.h.
60257         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
60258         stdio_.h.
60259         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60260         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
60261         stdlib_.h.
60262         * lib/string.in.h: Renamed from lib/string_.h.
60263         * modules/string (Files, Makefile.am): Use string.in.h instead of
60264         string_.h.
60265         * doc/gnulib-tool.texi (Initial import): Update.
60266         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
60267         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
60268         of sys_select_.h. Add dependency.
60269         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
60270         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
60271         of sys_socket_.h.
60272         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
60273         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
60274         sys_stat_.h.
60275         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
60276         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
60277         sys_time_.h.
60278         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
60279         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
60280         sysexits_.h.
60281         * lib/time.in.h: Renamed from lib/time_.h.
60282         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
60283         * lib/unistd.in.h: Renamed from lib/unistd_.h.
60284         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
60285         unistd_.h.
60286         * lib/wchar.in.h: Renamed from lib/wchar_.h.
60287         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
60288         wchar_.h.
60289         * lib/wctype.in.h: Renamed from lib/wctype_.h.
60290         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
60291         wctype_.h.
60292         * build-aux/bootstrap (slurp): Update.
60293         * lib/.cppi-disable: Update.
60294
60295 2007-09-30  Bruno Haible  <bruno@clisp.org>
60296
60297         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
60298         Needed on BeOS.
60299
60300 2007-09-30  Bruno Haible  <bruno@clisp.org>
60301
60302         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
60303
60304 2007-09-29  Bruno Haible  <bruno@clisp.org>
60305
60306         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
60307
60308 2007-09-29  Bruno Haible  <bruno@clisp.org>
60309
60310         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
60311         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
60312         * build-aux/install-reloc: Compile also areadlink.c.
60313         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
60314
60315 2007-09-29  Bruno Haible  <bruno@clisp.org>
60316
60317         * gnulib-tool (func_emit_initmacro_done): Indentation.
60318
60319 2007-09-29  Bruno Haible  <bruno@clisp.org>
60320
60321         * README: Add CVS checkout update instructions.
60322         Info from Bob Proulx <bob@proulx.com>.
60323
60324 2007-09-28  Eric Blake  <ebb9@byu.net>
60325
60326         Provide move-if-change.
60327         * build-aux/move-if-change: New file, based on best practice
60328         rather than any canonical upstream location.
60329
60330 2007-09-28  Jim Meyering  <jim@meyering.net>
60331
60332         Fix canonicalize loop-detection corner case.
60333         Do not attempt to stat the symlink values stored via seen_triple.
60334         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
60335         on linux-2.6.18, (but not 2.6.22).
60336         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
60337         triple_compare.  The former compares dev,ino,filename, while the latter
60338         would actually stat dirname(filename) when dev and ino were equal.
60339         * lib/hash-triple.c: Install <string.h>.
60340         (STREQ): Define.
60341         (triple_compare_ino_str): New function.
60342         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
60343
60344 2007-09-28  Eric Blake  <ebb9@byu.net>
60345
60346         Enforce that AC_REPLACE_FUNCS files exist.
60347         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
60348         override check for typos.
60349
60350         Fix test-closein on Solaris 10.
60351         * tests/test-closein.c (main): Don't assume stdin can be inherited
60352         closed on all systems.
60353         * tests/test-closein.sh: Likewise.
60354         Reported by Piotr Tarnowski.
60355
60356 2007-09-28  Jim Meyering  <jim@meyering.net>
60357
60358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
60359
60360 2007-09-27  Jim Meyering  <jim@meyering.net>
60361
60362         canonicalize: Avoid a false-positive cycle failure.
60363         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
60364         Sort.  Remove cycle-check.
60365         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
60366         not cycle-check.h.
60367         (seen_triple): New function.
60368         (canonicalize_filename_mode): Use it instead of cycle-check.
60369         * tests/test-canonicalize.c: Add a test for this bug.
60370         * tests/test-canonicalize.sh: Set up and run the test.
60371
60372         New module, file-set, from coreutils.
60373         * modules/file-set: Define it.
60374         * lib/file-set.c, lib/file-set.h: Implement.
60375
60376         New module, hash-triple, from coreutils.
60377         * modules/hash-triple: Define it.
60378         * lib/hash-triple.c, lib/hash-triple.h: Implement.
60379
60380 2007-09-25  Eric Blake  <ebb9@byu.net>
60381
60382         Fix strerror on Interix.
60383         * lib/string_.h (strerror): Declare replacement.
60384         * doc/functions/strerror.texi (strerror): Document the Interix
60385         shortcoming.
60386         * modules/string (Makefile.am): Support new hooks.
60387         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
60388         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
60389         gl_FUNC_STRERROR_SEPARATE.
60390         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
60391         * lib/strerror.c (rpl_strerror): Provide replacement.
60392         * modules/strerror (Depends-on): Add string.
60393         (configure.ac): Detect use of module.
60394         * tests/test-strerror.c: New file.
60395         * modules/strerror-tests: New test module.
60396         * modules/argp (Depends-on): Add strerror.
60397         * modules/error (Depends-on): Likewise.
60398         Reported by Martin Koeppe.
60399
60400 2007-09-24  Bruno Haible  <bruno@clisp.org>
60401
60402         * README: Update git instructions.
60403
60404 2007-09-24  Eric Blake  <ebb9@byu.net>
60405
60406         Revert fpending breakage from 2007-09-08.
60407         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
60408         __fpending.c.
60409
60410 2007-09-24  Jim Meyering  <jim@meyering.net>
60411
60412         filenamecat.c: Add a test.
60413         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
60414         showing how the function works when DIR is the empty string.
60415
60416 2007-09-21  Simon Josefsson  <simon@josefsson.org>
60417
60418         * tests/test-canonicalize.sh: Turn on executable bit.
60419
60420 2007-09-19  Eric Blake  <ebb9@byu.net>
60421
60422         * README: Update CVS instructions.
60423
60424 2007-09-18  Bruno Haible  <bruno@clisp.org>
60425
60426         * modules/areadlink: New file.
60427         * lib/areadlink.h (areadlink): New declaration.
60428         * lib/areadlink.c: New file, based on lib/xreadlink.c.
60429
60430 2007-09-17  Jim Meyering  <jim@meyering.net>
60431
60432         * lib/savewd.c (ESTALE) [!defined]: Define.
60433         Reported to be required on Interix by Martin Koeppe.
60434
60435 2007-09-17  Bruno Haible  <bruno@clisp.org>
60436
60437         * gnulib-tool (func_version): Use $version.
60438
60439 2007-09-16  Bruno Haible  <bruno@clisp.org>
60440
60441         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
60442         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
60443         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
60444         Reported by Greg Schafer <gschafer@zip.com.au>.
60445
60446 2007-09-15  Bruno Haible  <bruno@clisp.org>
60447
60448         * gnulib-tool (sed): Try a little harder to make bash understand the
60449         alias.
60450         Reported by Bruce Korb <bruce.korb@gmail.com>.
60451
60452 2007-09-13  Eric Blake  <ebb9@byu.net>
60453
60454         * ChangeLog: Remove conflict markers.
60455
60456 2007-09-13  Simon Josefsson  <simon@josefsson.org>
60457
60458         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
60459         Reported by Bruno Haible <bruno@clisp.org>.
60460
60461 2007-09-12  Bruno Haible  <bruno@clisp.org>
60462
60463         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
60464         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
60465         is not defined.
60466
60467 2007-09-12  Eric Blake  <ebb9@byu.net>
60468
60469         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
60470         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
60471         Autoconf definition.
60472         * modules/euidaccess (Depends-on): Add extensions, for
60473         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
60474         * modules/fnmatch (Depends-on): Likewise.
60475         * modules/getaddrinfo (Depends-on): Likewise.
60476         * modules/getdelim (Depends-on): Likewise.
60477         * modules/getline (Depends-on): Likewise.
60478         * modules/getsubopt (Depends-on): Likewise.
60479         * modules/gettext (Depends-on): Likewise.
60480         * modules/group-member (Depends-on): Likewise.
60481         * modules/mbchar (Depends-on): Likewise.
60482         * modules/memmem (Depends-on): Likewise.
60483         * modules/mempcpy (Depends-on): Likewise.
60484         * modules/memrchr (Depends-on): Likewise.
60485         * modules/pagealign_alloc (Depends-on): Likewise.
60486         * modules/readutmp (Depends-on): Likewise.
60487         * modules/stpcpy (Depends-on): Likewise.
60488         * modules/stpncpy (Depends-on): Likewise.
60489         * modules/strchrnul (Depends-on): Likewise.
60490         * modules/strndup (Depends-on): Likewise.
60491         * modules/strsep (Depends-on): Likewise.
60492         * modules/strverscmp (Depends-on): Likewise.
60493         * modules/vasprintf (Depends-on): Likewise.
60494         * modules/wcwidth (Depends-on): Likewise.
60495         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
60496         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
60497         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
60498         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
60499         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60500         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60501         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
60502         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60503         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
60504         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
60505         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60506         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
60507         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
60508         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
60509         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
60510         * m4/readutmp.m4 (gl_READUTMP): Likewise.
60511         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60512         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
60513         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60514         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
60515         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60516         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
60517         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
60518         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
60519         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
60520         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60521         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
60522         so that lock.m4 can be used in gettext without extensions module.
60523
60524 2007-09-11  Bruno Haible  <bruno@clisp.org>
60525
60526         * m4/isc-posix.m4: Remove file.
60527         Suggested by Eric Blake.
60528
60529 2007-09-11  Eric Blake  <ebb9@byu.net>
60530
60531         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
60532
60533 2007-09-10  Bruno Haible  <bruno@clisp.org>
60534
60535         * posix-modules: Fix typo in error message.
60536         Reported by Matt <mkraai@beckman.com>.
60537
60538 2007-09-09  Bruno Haible  <bruno@clisp.org>
60539
60540         * doc/functions/getdelim.texi: Update list of platforms lacking the
60541         function.
60542         * doc/functions/getline.texi: Likewise.
60543
60544 2007-09-09  Jim Meyering  <jim@meyering.net>
60545
60546         * lib/hash.c (hash_initialize): Detect calloc failure.
60547         Reported by Bruno Haible.
60548
60549 2007-09-09  Bruno Haible  <bruno@clisp.org>
60550
60551         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
60552         malloc or realloc fails.
60553
60554 2007-09-09  Bruno Haible  <bruno@clisp.org>
60555
60556         * modules/getcwd (Depends-on): Add malloc-posix.
60557         * modules/glob (Depends-on): Likewise.
60558         * modules/putenv (Depends-on): Likewise.
60559         * modules/strdup (Depends-on): Likewise.
60560         * modules/getdelim (Depends-on): Add realloc-posix.
60561         * modules/read-file (Depends-on): Likewise.
60562
60563 2007-09-09  Bruno Haible  <bruno@clisp.org>
60564
60565         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
60566         (gl_FUNC_MALLOC_POSIX): Require it.
60567         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
60568         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
60569         * modules/realloc (Files): Add m4/malloc.m4.
60570         * modules/calloc (Files): Likewise.
60571
60572 2007-09-09  Bruno Haible  <bruno@clisp.org>
60573
60574         * modules/malloc-posix: New file.
60575         * modules/malloc (Depends-on): Add malloc-posix.
60576         * lib/malloc.c: Include errno.h.
60577         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
60578         and a POSIX-compatible malloc into a single function. Set ENOMEM
60579         when returning NULL.
60580         * m4/malloc.m4: New file.
60581         * doc/functions/malloc.texi: Mention the malloc-posix module.
60582         * lib/stdlib_.h (malloc): New declaration.
60583         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60584         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
60585         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
60586         and HAVE_MALLOC_POSIX.
60587
60588 2007-09-09  Bruno Haible  <bruno@clisp.org>
60589
60590         * modules/realloc-posix: New file.
60591         * modules/realloc (Depends-on): Add realloc-posix.
60592         * lib/realloc.c: Include errno.h.
60593         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
60594         and a POSIX-compatible realloc into a single function. Set ENOMEM
60595         when returning NULL.
60596         * m4/realloc.m4: New file.
60597         * doc/functions/realloc.texi: Mention the realloc-posix module.
60598         * lib/stdlib_.h (realloc): New declaration.
60599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60600         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
60601         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
60602         and HAVE_REALLOC_POSIX.
60603
60604 2007-09-09  Bruno Haible  <bruno@clisp.org>
60605
60606         * modules/calloc-posix: New file.
60607         * modules/calloc (Depends-on): Add calloc-posix.
60608         * lib/calloc.c: Include errno.h.
60609         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
60610         and a POSIX-compatible calloc into a single function. Set ENOMEM
60611         when returning NULL.
60612         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
60613         * doc/functions/calloc.texi: Mention the calloc-posix module.
60614         * lib/stdlib_.h (calloc): New declaration.
60615         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60616         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
60617         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
60618         and HAVE_CALLOC_POSIX.
60619
60620 2007-09-09  Bruno Haible  <bruno@clisp.org>
60621
60622         Allow for modules to show an arbitrary notice.
60623         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
60624         * gnulib-tool: New option --extract-notice.
60625         (func_usage): Document it.
60626         (sed_extract_prog): Update.
60627         (func_get_notice): New function.
60628         (func_modules_notice): New function.
60629         (func_import, func_create_testdir): Invoke it.
60630         Suggested by Jim Meyering.
60631
60632 2007-09-09  Bruno Haible  <bruno@clisp.org>
60633
60634         * gnulib-tool: New options --verbose, --quiet.
60635         (func_usage): Document them.
60636         (verbose): New variable.
60637         (func_execute_command): New function.
60638         (func_import): Don't show the module list and the file list if
60639         $verbose < 0.
60640         (func_create_testdir): Likewise. Use func_execute_command.
60641         (func_create_megatestdir): Use func_execute_command.
60642
60643 2007-09-08  Bruno Haible  <bruno@clisp.org>
60644
60645         * gnulib-tool (func_import): Prefer rsync over wget when available,
60646         for fetching the PO files.
60647
60648 2007-09-08  Bruno Haible  <bruno@clisp.org>
60649
60650         * posix-modules: New file. Portions copied from gnulib-tool.
60651         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
60652
60653 2007-09-08  Jim Meyering  <jim@meyering.net>
60654
60655         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
60656         * lib/fpending.h: Rename from __fpending.h.
60657         * lib/fpending.c: Rename from __fpending.c.
60658         Include "fpending.h", not "__fpending.h".
60659         * lib/__fpending.h, lib/__fpending.c: Remove files.
60660         * modules/fpending (Files): Reflect new file names.
60661         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
60662
60663 2007-09-08  Bruno Haible  <bruno@clisp.org>
60664
60665         * m4/inttypes-h.m4: Remove stub file.
60666
60667 2007-09-07  Simon Josefsson  <simon@josefsson.org>
60668
60669         * doc/headers/stdint.texi: Discuss #include_next issue.
60670
60671 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60672
60673         * build-aux/bootstrap: Remove obsolete comment about wget --help.
60674
60675 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60676
60677         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
60678         in variable name.
60679
60680 2007-09-03  Jim Meyering  <jim@meyering.net>
60681
60682         New module: git-version-gen.
60683         * modules/git-version-gen: New file.
60684
60685         Import changes from coreutils for bootstrap script.
60686
60687         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
60688
60689         bootstrap: uses rsync to download the .po files
60690         * build-aux/bootstrap (po_download_command_format): New global.
60691         (download_po_files): Use rsync.
60692         (update_po_files): Don't remove .po files after download,
60693         so future rsync runs can take advantage of the copies.
60694
60695         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
60696
60697         Solve the unnecessary-.po-file-regeneration problem once and for all.
60698         * build-aux/bootstrap (download_po_files): New function, renamed from
60699         get_translations.  Now, downloads, but doesn't update LINGUAS.
60700         (update_po_files): New function.
60701
60702         bootstrap: Ignore more.
60703         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
60704         uniwidth to e.g., lib/.gitignore.
60705         (slurp): Handle the sys_stat_.h -> sys mapping, too.
60706
60707         * build-aux/bootstrap: New setting: vc_ignore.
60708         (insert_sorted_if_absent): Create $file if absent.
60709         Adapt to new, possibly empty, list: $vc_ignore.
60710
60711         bootstrap: generate more ignorable names
60712         * build-aux/bootstrap (slurp): When generating ignorable names,
60713         also map .sin to .sed, .gperf to .c, and .y to .c.
60714
60715 2007-09-03  Jim Meyering  <jim@meyering.net>
60716
60717         * build-aux/git-version-gen: New file, from coreutils.  For details, see
60718         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
60719
60720 2007-09-02  Bruno Haible  <bruno@clisp.org>
60721
60722         Fix mis-recognition of 'mcs' on QNX 6.
60723         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
60724         output contains the string "Mono".
60725         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
60726         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
60727
60728 2007-09-01  Bruno Haible  <bruno@clisp.org>
60729
60730         Fix collision between uniwidth/* and linebreak modules.
60731         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
60732         u32_width): Remove declarations.
60733         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
60734         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
60735         streq3, streq2, streq1, streq0): Remove functions.
60736         (STREQ): Remove macro.
60737         (is_cjk_encoding): Remove function.
60738         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
60739         (uc_width, u8_width, u16_width, u32_width): Remove functions.
60740         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
60741         * NEWS: Document the change.
60742
60743 2007-09-01  Bruno Haible  <bruno@clisp.org>
60744
60745         * lib/streq.h: Add double-inclusion guard.
60746
60747 2007-09-01  Karl Berry  <karl@gnu.org>
60748
60749         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
60750
60751 2007-08-28  Jim Meyering  <jim@meyering.net>
60752
60753         Rename mreadlink_with_size to areadlink_with_size.
60754         * NEWS: Document the change.
60755         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
60756         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
60757         * lib/mreadlink.h: Rename this to...
60758         * lib/areadlink.h: ...this.
60759         * modules/mreadlink-with-size: Rename this to...
60760         * modules/areadlink-with-size: ...this.
60761         * lib/canonicalize.c: Reflect the renaming.
60762         * modules/canonicalize: Likewise.
60763
60764 2007-08-26  Bruno Haible  <bruno@clisp.org>
60765
60766         * gnulib-tool (func_import): When deciding which files to remove,
60767         consider also dangling symbolic links.
60768         Reported by Eric Blake.
60769
60770 2007-08-26  Bruno Haible  <bruno@clisp.org>
60771
60772         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
60773
60774 2007-08-23  Simon Josefsson  <simon@josefsson.org>
60775
60776         * lib/readline.c: Don't include getline.h, the prototype is now
60777         found in stdio.h.
60778
60779 2007-08-23  Jim Meyering  <jim@meyering.net>
60780
60781         Getdelim touchup.
60782         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
60783         around the funlockfile call, since funlockfile never sets errno.
60784         Don't set errno upon failed realloc.
60785
60786 2007-08-22  Eric Blake  <ebb9@byu.net>
60787
60788         Getline touchups.
60789         * lib/getdelim.c (getdelim): Revert regression that required *n to
60790         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
60791         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
60792         getdelim, rather than whether implementation is missing.
60793         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
60794         * lib/stdio_.h (getline): Also declare if replacement is
60795         required.
60796         * doc/functions/getdelim.texi: New file.
60797         * doc/functions/getline.texi: Likewise.
60798         * doc/gnulib.texi (Function Substitutes): Add new files.
60799         Reported by Bruno Haible.
60800
60801 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
60802
60803         * users.txt: Add Guile.
60804
60805 2007-08-22  Eric Blake  <ebb9@byu.net>
60806
60807         * tests/test-getdelim.c (main): Use remove, not unlink.
60808         * tests/test-getline.c (main): Likewise.
60809
60810         Move getline and getdelim into stdio.h, per POSIX 200x.
60811         * modules/getline (Files): Remove getline.h.
60812         (Depends-on): Add stdio.
60813         (configure.ac): Add module indicator.
60814         * modules/getdelim (Files): Remove getdelim.h.
60815         (Depends-on): Add stdio.
60816         (configure.ac): Add module indicator.
60817         * modules/stdio (Makefile.am): Work with new indicators.
60818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
60819         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
60820         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60821         * lib/getdelim.h: Delete.
60822         * lib/getline.h: Delete.
60823         * lib/stdio_.h (getdelim, getline): Declare.
60824         * modules/getdelim-tests: New module.
60825         * modules/getline-tests: Likewise.
60826         * tests/test-getdelim.c: New file.
60827         * tests/test-getline.c: Likewise.
60828         * NEWS: Document the change.
60829         * lib/getline.c: Update choice of header.
60830         * lib/csharpcomp.c: Likewise.
60831         * lib/getpass.c: Likewise.
60832         * lib/javacomp.c: Likewise.
60833         * lib/javaversion.c: Likewise.
60834         * lib/yesno.c: Likewise.
60835         * lib/getdelim.c: Likewise.
60836         (getdelim): Set errno on failure, and avoid memory leak.
60837
60838 2007-08-19  Bruno Haible  <bruno@clisp.org>
60839
60840         * modules/closein (Depends-on): Add freadahead.
60841         * lib/closein.c: Include freadahead.h.
60842         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
60843         is zero.
60844
60845 2007-08-19  Bruno Haible  <bruno@clisp.org>
60846
60847         * modules/freadahead-tests: New file.
60848         * tests/test-freadahead.sh: New file.
60849         * tests/test-freadahead.c: New file.
60850
60851         * modules/freadahead: New file.
60852         * lib/freadahead.h: New file.
60853         * lib/freadahead.c: New file.
60854         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
60855         fbufmode, fpurge, freadable, fwritable.
60856
60857 2007-08-19  Eric Blake  <ebb9@byu.net>
60858
60859         Test yesno in combination with closein.
60860         * lib/yesno.c (yesno): Document use of stdin.
60861         * modules/yesno-tests (Files): New module.
60862         * tests/test-yesno.c (main): New file.
60863         * tests/test-yesno.sh: Likewise.
60864
60865 2007-08-19  Bruno Haible  <bruno@clisp.org>
60866
60867         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
60868         * lib/fseeko.c (rpl_fseeko): Likewise.
60869         * lib/fseterr.c (fseterr): Likewise.
60870
60871 2007-08-19  Bruno Haible  <bruno@clisp.org>
60872
60873         * tests/test-lseek.c (main): Disable a test for BeOS.
60874         * doc/functions/lseek.texi: Document the BeOS bug.
60875
60876 2007-08-19  Bruno Haible  <bruno@clisp.org>
60877             Eric Blake  <ebb9@byu.net>
60878
60879         * lib/lseek.c: Include <sys/stat.h>.
60880         (rpl_lseek): Add workaround code also for Unix platforms.
60881         Needed for BeOS.
60882         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
60883         * doc/functions/lseek.texi: Document BeOS definiency.
60884
60885 2007-08-18  Bruno Haible  <bruno@clisp.org>
60886
60887         * modules/fstrcmp-tests: New file.
60888         * tests/test-fstrcmp.c: New file.
60889
60890 2007-08-18  Bruno Haible  <bruno@clisp.org>
60891
60892         * modules/fstrcmp: New file, from GNU gettext with modifications.
60893         * lib/fstrcmp.h: New file, from GNU gettext.
60894         * lib/fstrcmp.c: New file, from GNU gettext.
60895         * MODULES.html.sh (String handling): Add fstrcmp.
60896
60897 2007-08-18  Bruno Haible  <bruno@clisp.org>
60898
60899         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
60900         'bool'.
60901         (diag, compareseq): Remove const from the ctxt argument.
60902         (USE_HEURISTIC): Undefine at the end.
60903
60904 2007-08-18  Jim Meyering  <jim@meyering.net>
60905
60906         New file: lib/idcache.h
60907         * NEWS: Mention the addition.
60908         * modules/idcache (Files): Add lib/idcache.h
60909         * lib/idcache.c: Include "idcache.h".
60910         Don't include <sys/types.h>.
60911         Add a FIXME comment.
60912         Move file-scoped "static" declarations to the top.
60913         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
60914
60915 2007-08-17  Bruno Haible  <bruno@clisp.org>
60916         and Paul Eggert  <eggert@cs.ucla.edu>
60917
60918         * MODULES.html.sh: Add diffseq.
60919         * modules/diffseq: New file.
60920         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
60921         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
60922
60923 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60924
60925         Import changes from coreutils for bootstrap script.
60926
60927         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
60928
60929         * build-aux/bootstrap (slurp): Work even in environments where
60930         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
60931         current code does not slurp files whose names start with ".", and
60932         this looks like it might be a troublesome area.
60933
60934         2007-07-11  Jim Meyering  <jim@meyering.net>
60935
60936         If there's a GPL vN copyright comment, require that N == 3.
60937
60938         2007-07-08  Jim Meyering  <jim@meyering.net>
60939
60940         Run the coreutils-specific code only if tests/Makefile.am.in exists.
60941         * build-aux/bootstrap (mam_template): Move definition out of loop.
60942
60943         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
60944
60945         * build-aux/bootstrap (symlink_to_dir): Rename function from
60946         symlink_to_gnulib.  Add a directory parameter.  Update all
60947         callers.
60948         (cp_mark_as_generated): Also check for -- and link to -- files in
60949         gl/.
60950
60951         2007-07-08  Jim Meyering  <jim@meyering.net>
60952
60953         Adapt to deeper hierarchy in gnulib.
60954         * build-aux/bootstrap (symlink_to_dir): If the destination
60955         directory doesn't exist, create it. This is required at least for
60956         "lib/uniwidth/cjk.h".
60957
60958         2007-05-15  Jim Meyering  <jim@meyering.net>
60959
60960         * build-aux/bootstrap: Now that generated Makefile.am files
60961         are no longer under version control, they must be created at
60962         bootstrap time.
60963
60964 2007-08-14  Ben Pfaff  <blp@gnu.org>
60965
60966         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
60967
60968 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60969
60970         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
60971         given the changes below.
60972         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
60973         even on hosts that have padding bits beyond the supported 64.
60974
60975 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60976
60977         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
60978         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
60979         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
60980         depends on it.
60981         (xstrtol_error): Remove.
60982         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
60983         but with a different signature.
60984         (ATTRIBUTE_NORETURN, __attribute__): New macros.
60985         * lib/xstrtol-error.c: Include exitfail.h.
60986         (xstrtol_fatal): New function, with a different signature from the
60987         old xstrtol_error, so that the caller need not worry about passing
60988         in an exit status, or about storage management of the option argument.
60989         (xstrtol_error): Now a static function.  Redo signature to
60990         implement xstrtol_fatal.  Output the correct number of hyphens in
60991         front of the option so that the caller need not worry about
60992         storage management.
60993         (N_): New macro.
60994         (_): Remove; not used now.
60995         * modules/xstrtol: Depend on getopt.
60996         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
60997         of old STRTOL_FATAL_ERROR macro.
60998         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
60999         of test program.
61000         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61001         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61002
61003 2007-08-08  Eric Blake  <ebb9@byu.net>
61004
61005         * lib/xstrtol-error.c: Add missing include.
61006
61007         Move xstrtol messages into gnulib domain, when --pobase is used.
61008         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61009         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61010         * modules/xstrtol (Files): Distribute new file.
61011         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61012         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61013         * tests/test-xstrtol.c: ...into new file.
61014         * tests/test-xstrtoul.c: Also test xstrtoul.
61015         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61016         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61017         * tests/test-xstrtol.sh: Drive the tests.
61018         * tests/test-xstrtoimax.sh: Likewise.
61019         * tests/test-xstrtoumax.sh: Likewise.
61020         * modules/xstrtol-tests: New module.
61021         * modules/xstrtoimax-tests: Likewise.
61022         * modules/xstrtoumax-tests: Likewise.
61023
61024 2007-08-08  Jim Meyering  <jim@meyering.net>
61025
61026         New function: mfile_name_concat.
61027         * lib/filenamecat.c (mfile_name_concat): New function, just like
61028         file_name_concat, but return NULL upon failure rather than exiting
61029         with a diagnostic.
61030         * lib/filenamecat.h: Declare it.
61031
61032 2007-08-07  Bruno Haible  <bruno@clisp.org>
61033
61034         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61035         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61036         warning from gcc.
61037         Reported by Eric Blake.
61038
61039 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61040
61041         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61042         * modules/crypto/arcfour (License): Likewise.
61043         * modules/crypto/des-tests (License): Likewise.
61044         * modules/crypto/gc-arctwo-tests (License): Likewise.
61045         * modules/crypto/gc-des-tests (License): Likewise.
61046         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61047         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61048         * modules/crypto/gc-md2-tests (License): Likewise.
61049         * modules/crypto/gc-md4-tests (License): Likewise.
61050         * modules/crypto/gc-md5-tests (License): Likewise.
61051         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61052         * modules/crypto/gc-rijndael-tests (License): Likewise.
61053         * modules/crypto/gc-sha1-tests (License): Likewise.
61054         * modules/crypto/gc-tests (License): Likewise.
61055         * modules/crypto/hmac-md5 (License): Likewise.
61056         * modules/crypto/hmac-sha1 (License): Likewise.
61057         * modules/crypto/md2-tests (License): Likewise.
61058         * modules/crypto/md4-tests (License): Likewise.
61059         * modules/crypto/md5 (License): Likewise.
61060         * modules/crypto/rijndael (License): Likewise.
61061         * modules/crypto/sha1 (License): Likewise.
61062         * modules/memxor (License): Likewise.
61063
61064 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61065         and Bruno Haible  <bruno@clisp.org>
61066
61067         * NEWS: Describe interface changes to human, xstrtol.
61068         * lib/human.h: Include <xstrtol.h>.
61069         (human_options): Return enum strtol_error, not int.  Remove
61070         bool arg; take int * instead.
61071         * lib/human.c: Don't include "gettext.h".
61072         (_): Remove; no longer used.
61073         Don't include <xstrtol.h>, since human.h does it.
61074         (human_options): Adjust to abovementioned interface changes.
61075         Do not report error to stderr; that's now the caller's
61076         responsibility.
61077         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61078         interface change.
61079         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61080         Str, Argument_type_string.  All uses changed.  Put " argument"
61081         in diagnostics to make them clearer.  Change wording of suffix
61082         message for clarity.
61083         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61084         Argument_type_string.
61085         (STRTOL_FATAL_WARN): Remove; no longer used.
61086         * modules/human (Depends-on): Remove gettext-h.
61087
61088 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61089
61090         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61091
61092 2007-07-31  Bruno Haible  <bruno@clisp.org>
61093
61094         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61095         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61096         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61097
61098 2007-07-31  Bruno Haible  <bruno@clisp.org>
61099
61100         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61101         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61102
61103 2007-07-30  Bruno Haible  <bruno@clisp.org>
61104
61105         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61106         * modules/c-ctype (License): Likewise.
61107         * modules/c-strcase (License): Likewise.
61108         * modules/check-version (License): Likewise.
61109         * modules/iconv (License): Likewise.
61110         * modules/iconv_open (License): Likewise.
61111         * modules/read-file (License): Likewise.
61112         * modules/striconv (License): Likewise.
61113         * modules/strverscmp (License): Likewise.
61114         * modules/vasprintf (License): Likewise.
61115         * modules/crypto/des (License): Likewise.
61116         * modules/crypto/gc (License): Likewise.
61117         * modules/crypto/gc-arcfour (License): Likewise.
61118         * modules/crypto/gc-arctwo (License): Likewise.
61119         * modules/crypto/gc-des (License): Likewise.
61120         * modules/crypto/gc-hmac-md5 (License): Likewise.
61121         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61122         * modules/crypto/gc-md2 (License): Likewise.
61123         * modules/crypto/gc-md4 (License): Likewise.
61124         * modules/crypto/gc-md5 (License): Likewise.
61125         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61126         * modules/crypto/gc-random (License): Likewise.
61127         * modules/crypto/gc-rijndael (License): Likewise.
61128         * modules/crypto/gc-sha1 (License): Likewise.
61129         * modules/crypto/md2 (License): Likewise.
61130         * modules/crypto/md4 (License): Likewise.
61131
61132 2007-07-30  Jim Meyering  <jim@meyering.net>
61133
61134         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61135         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61136         it has valid stat data.  This bug would cause du not to count the
61137         sizes of inaccessible directories.
61138         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61139         in <http://bugzilla.redhat.com/250077>.
61140
61141 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61142             Bruno Haible  <bruno@clisp.org>
61143
61144         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61145         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61146         #include_next, gives a diagnostic about it, but reports no error in
61147         the exit code.
61148         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61149
61150 2007-07-24  Ben Pfaff  <blp@gnu.org>
61151
61152         Improve name: "count-one-bits" is better than "popcount".
61153         * MODULES.html.sh: Update name.
61154         * lib/popcount.h: Renamed lib/count-one-bits.h.
61155         (popcount): Renamed count_one_bits.
61156         (popcountl): Renamed count_one_bits_l.
61157         (popcountll): Renamed count_one_bits_ll.
61158         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
61159         * modules/popcount: Renamed module/count-one-bits.
61160         * modules/popcount-tests: Renamed module/count-one-bits-tests.
61161         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
61162
61163 2007-07-23  Ben Pfaff  <blp@gnu.org>
61164
61165         * lib/popcount.h (popcount32): Reduce size of constants, to allow
61166         better code generation, and add U to large constants to avoid
61167         warnings, in non-GCC case.
61168         Suggested by Bruno Haible.
61169
61170 2007-07-23  Ben Pfaff  <blp@gnu.org>
61171
61172         * lib/popcount.h: Use verify_true instead of if...abort.
61173         * modules/popcount: Depend on verify module.
61174         Suggested by Jim Meyering.
61175
61176 2007-07-23  Bruno Haible  <bruno@clisp.org>
61177
61178         * gnulib-tool (func_import): Create a .cvsignore file also when the
61179         directory is not yet in CVS but the toplevel directory is. When
61180         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61181         Reported by Karl Berry.
61182
61183 2007-07-22  Ben Pfaff  <blp@gnu.org>
61184
61185         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61186         case.
61187         Suggested by Eric Blake.
61188
61189 2007-07-22  Ben Pfaff  <blp@gnu.org>
61190
61191         New module: popcount.
61192         * MODULES.html.sh: Add popcount.
61193         * modules/popcount: New file.
61194         * modules/popcount-tests: New file.
61195         * tests/test-popcount.c: New file.
61196         * lib/popcount.h: New file.
61197         * m4/popcount.m4: New file.
61198
61199 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61200
61201         * build-aux/announce-gen: Update to GPLv3.
61202
61203         * build-aux/config.guess: Update from config.
61204
61205 2007-07-21  Bruno Haible  <bruno@clisp.org>
61206
61207         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
61208         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
61209
61210 2007-07-20  Jim Meyering  <jim@meyering.net>
61211
61212         * check-module: Diagnose a self-dependency.
61213
61214 2007-07-19  Bruno Haible  <bruno@clisp.org>
61215
61216         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
61217         empty.
61218         Reported by Eric Blake.
61219
61220 2007-07-18  Bruno Haible  <bruno@clisp.org>
61221
61222         * gnulib-tool: New options --po-base, --po-domain.
61223         (func_usage): Document them.
61224         (pobase, po_domain): New variables.
61225         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
61226         DEFAULT_TEXT_DOMAIN.
61227         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
61228         (func_import): Consider pobase and po_domain. Create a po/ directory.
61229         (func_create_testdir): Set pobase and po_domain to empty.
61230         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
61231         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
61232
61233 2007-07-18  Bruno Haible  <bruno@clisp.org>
61234
61235         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61236         EXTRA_DIST augmentation for files in build-aux/.
61237
61238 2007-07-16  Bruno Haible  <bruno@clisp.org>
61239
61240         * modules/lseek (License): Use the synonymous term "LGPLv2+".
61241         * modules/getdelim (License): Likewise.
61242
61243 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61244
61245         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
61246         * modules/d-type (License): Likewise.
61247         * modules/extensions (License): Likewise.
61248         * modules/fnmatch (License): Likewise.
61249         * modules/fseeko (License): Likewise.
61250         * modules/getaddrinfo (License): Likewise.
61251         * modules/getline (License): Likewise.
61252         * modules/getlogin_r (License): Likewise.
61253         * modules/getpass (License): Likewise.
61254         * modules/gettimeofday (License): Likewise.
61255         * modules/glob (License): Likewise.
61256         * modules/inet_ntop (License): Likewise.
61257         * modules/malloc (License): Likewise.
61258         * modules/malloca (License): Likewise.
61259         * modules/memmem (License): Likewise.
61260         * modules/mempcpy (License): Likewise.
61261         * modules/memset (License): Likewise.
61262         * modules/minmax (License): Likewise.
61263         * modules/mktime (License): Likewise.
61264         * modules/netinet_in (License): Likewise.
61265         * modules/pathmax (License): Likewise.
61266         * modules/poll (License): Likewise.
61267         * modules/regex (License): Likewise.
61268         * modules/snprintf (License): Likewise.
61269         * modules/stdbool (License): Likewise.
61270         * modules/stdint (License): Likewise.
61271         * modules/stdio (License): Likewise.
61272         * modules/strcase (License): Likewise.
61273         * modules/strcasestr (License): Likewise.
61274         * modules/strdup (License): Likewise.
61275         * modules/string (License): Likewise.
61276         * modules/strndup (License): Likewise.
61277         * modules/strnlen (License): Likewise.
61278         * modules/strpbrk (License): Likewise.
61279         * modules/strptime (License): Likewise.
61280         * modules/strsep (License): Likewise.
61281         * modules/sys_select (License): Likewise.
61282         * modules/sys_socket (License): Likewise.
61283         * modules/sys_stat (License): Likewise.
61284         * modules/sys_time (License): Likewise.
61285         * modules/time (License): Likewise.
61286         * modules/time_r (License): Likewise.
61287         * modules/timegm (License): Likewise.
61288         * modules/unistd (License): Likewise.
61289         * modules/vsnprintf (License): Likewise.
61290         * modules/wctype (License): Likewise.
61291
61292 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61293
61294         * modules/argz (License): LGPLv2+.
61295
61296 2007-07-15  Karl Berry  <karl@gnu.org>
61297
61298         * doc/gnulib.texi: revise node structure per new fdl.texi.
61299
61300 2007-07-14  Bruno Haible  <bruno@clisp.org>
61301
61302         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
61303         the output file.
61304         * lib/uniname/uninames.h: Regenerated.
61305
61306 2007-07-14  Karl Berry  <karl@gnu.org>
61307
61308         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
61309         omitting sectioning and index commands.
61310
61311 2007-07-13  Bruno Haible  <bruno@clisp.org>
61312
61313         New gnulib-tool option --more-symlinks.
61314         * gnulib-tool (func_usage): Document --more-symlinks.
61315         (do_copyrights): New variable.
61316         Recognize option --more-symlinks.
61317         (func_import): Don't add a copyright notice transform to
61318         sed_transform_lib_file if do_copyrights is empty.
61319
61320 2007-07-13  Bruno Haible  <bruno@clisp.org>
61321
61322         * lib/vasnprintf.c (decimal_point_char): Define also if
61323         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
61324         && !NEED_PRINTF_DIRECTIVE_A.
61325         Reported by Clemens Koller <clemens.koller@anagramm.de> via
61326         Gary V. Vaughan <gary@gnu.org>.
61327
61328 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
61329
61330         * lib/inttypes_.h: Undo previous change, since it was fixed
61331         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
61332
61333 2007-07-13  Bruno Haible  <bruno@clisp.org>
61334
61335         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
61336         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
61337
61338 2007-07-13  Jim Meyering  <jim@meyering.net>
61339
61340         df: Don't fail for Tru64's "file-on-file mount".
61341         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
61342         so we fall through and use statfs instead.  Details here:
61343         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
61344         Reported by Albert Chin.
61345
61346 2007-07-13  Bruno Haible  <bruno@clisp.org>
61347
61348         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
61349         * modules/configmake (License): Likewise.
61350         * modules/gettext (License): Likewise.
61351         * modules/gettext-h (License): Likewise.
61352         * modules/include_next (License): Likewise.
61353         * modules/link-warning (License): Likewise.
61354         * modules/localcharset (License): Likewise.
61355         * modules/localename (License): Likewise.
61356         * modules/lock (License): Likewise.
61357         * modules/relocatable-lib-lgpl (License): Likewise.
61358         * modules/size_max (License): Likewise.
61359         * modules/vasnprintf (License): Likewise.
61360         * modules/wchar (License): Likewise.
61361         * modules/xsize (License): Likewise.
61362
61363 2007-07-13  Bruno Haible  <bruno@clisp.org>
61364
61365         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
61366         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
61367
61368 2007-07-12  Bruno Haible  <bruno@clisp.org>
61369
61370         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
61371         in the modules files.
61372
61373 2007-07-11  Karl Berry  <karl@gnu.org>
61374
61375         * MODULES.html.sh (func_module): use
61376          sed -e '\|^'"${includefile}"'$|d'
61377          instead of /.../d, to avoid errors on $includefile's containing /.
61378
61379 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61380
61381         * gnulib-tool (func_import): Avoid duplication of --avoid
61382         statements
61383         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
61384         names to `_' in variable names.
61385
61386 2007-07-10  Eric Blake  <ebb9@byu.net>
61387
61388         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
61389         * NEWS: Document this change.
61390
61391 2007-07-08  Bruno Haible  <bruno@clisp.org>
61392
61393         Update to Unicode 5.0.
61394         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
61395         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
61396         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
61397         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
61398         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
61399         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
61400         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
61401         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
61402         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
61403         U+10A3F, U+1D242..U+1D244.
61404         (nonspacing_table_ind): Update.
61405         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
61406         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
61407
61408 2007-07-08  Bruno Haible  <bruno@clisp.org>
61409
61410         Update to Unicode 5.0.
61411         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
61412         code transform. Extend the name index field of unicode_name_to_code and
61413         unicode_code_to_name from 16 to 24 bits.
61414         * lib/uniname/uniname.c (unicode_character_name,
61415         unicode_name_character): Add the range 0x12xxx to the code transform.
61416         * lib/uniname/uninames.h: Regenerated.
61417         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
61418
61419 2007-07-07  Bruno Haible  <bruno@clisp.org>
61420
61421         * modules/wcwidth-tests: New file.
61422         * tests/test-wcwidth.c: New file.
61423
61424         Work around MacOS X wcwidth() bug.
61425         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
61426         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
61427         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
61428         original wcwidth in non-UTF-8 locales.
61429         * modules/wcwidth (Depends-on): Add localcharset, streq,
61430         uniwidth/width.
61431         * doc/functions/wcwidth.texi: Update.
61432
61433 2007-07-07  Bruno Haible  <bruno@clisp.org>
61434
61435         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
61436         (wcwidth): New declaration.
61437         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
61438         macros.
61439         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
61440         here. Prepare for creating <wchar.h> unconditionally.
61441         * modules/wchar (Depends-on): Add link-warning.
61442         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
61443         REPLACE_WCWIDTH, and GL_LINK_WARNING.
61444         * lib/wcwidth.h: Remove file.
61445         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
61446         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
61447         * modules/wcwidth (Files): Remove lib/wcwidth.h.
61448         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
61449         (Include): Replace wcwidth.h with <wchar.h>.
61450         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
61451         * lib/mbchar.h: Don't include wcwidth.h.
61452         * lib/mbswidth.c: Likewise.
61453         * NEWS: Mention the change.
61454
61455 2007-07-07  Bruno Haible  <bruno@clisp.org>
61456
61457         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
61458         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
61459         definition with an external declaration.
61460         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
61461         defined as a function. Remove AC_C_INLINE requirement.
61462         * modules/wcwidth (Files): Add lib/wcwidth.c.
61463         (Makefile.am): Remove redundant statement.
61464
61465 2007-07-07  Bruno Haible  <bruno@clisp.org>
61466
61467         * MODULES.html.sh (Unicode string functions): Add the new modules.
61468
61469         * tests/uniwidth/test-u32-strwidth.c: New file.
61470         * modules/uniwidth/u32-strwidth-tests: New file.
61471
61472         * lib/uniwidth/u32-strwidth.c: New file.
61473         * modules/uniwidth/u32-strwidth: New file.
61474
61475         * tests/uniwidth/test-u16-strwidth.c: New file.
61476         * modules/uniwidth/u16-strwidth-tests: New file.
61477
61478         * lib/uniwidth/u16-strwidth.c: New file.
61479         * modules/uniwidth/u16-strwidth: New file.
61480
61481         * tests/uniwidth/test-u8-strwidth.c: New file.
61482         * modules/uniwidth/u8-strwidth-tests: New file.
61483
61484         * lib/uniwidth/u8-strwidth.c: New file.
61485         * modules/uniwidth/u8-strwidth: New file.
61486
61487         * tests/uniwidth/test-u32-width.c: New file.
61488         * modules/uniwidth/u32-width-tests: New file.
61489
61490         * lib/uniwidth/u32-width.c: New file.
61491         * modules/uniwidth/u32-width: New file.
61492
61493         * tests/uniwidth/test-u16-width.c: New file.
61494         * modules/uniwidth/u16-width-tests: New file.
61495
61496         * lib/uniwidth/u16-width.c: New file.
61497         * modules/uniwidth/u16-width: New file.
61498
61499         * tests/uniwidth/test-u8-width.c: New file.
61500         * modules/uniwidth/u8-width-tests: New file.
61501
61502         * lib/uniwidth/u8-width.c: New file.
61503         * modules/uniwidth/u8-width: New file.
61504
61505         * tests/uniwidth/test-uc_width.c: New file.
61506         * modules/uniwidth/width-tests: New file.
61507
61508         * lib/uniwidth/width.c: New file, from GNU libiconv.
61509         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
61510         * modules/uniwidth/width: New file.
61511
61512         * lib/uniwidth.h: New file, from GNU libiconv.
61513         * modules/uniwidth/base: New file.
61514
61515 2007-07-07  Bruno Haible  <bruno@clisp.org>
61516
61517         * lib/uniname.h: New file, from GNU gettext.
61518         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
61519         * lib/uniname/uninames.h: New file, from GNU gettext.
61520         * lib/uniname/uniname.c: New file, from GNU gettext.
61521         * tests/uniname/test-uninames.sh: New file.
61522         * tests/uniname/test-uninames.c: New file, from GNU gettext.
61523         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
61524         * modules/uniname/base: New file.
61525         * modules/uniname/uniname: New file.
61526         * modules/uniname/uniname-tests: New file.
61527         * MODULES.html.sh (Unicode string functions): Add the new modules.
61528
61529 2007-07-06  Bruno Haible  <bruno@clisp.org>
61530
61531         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
61532
61533 2007-07-06  Bruno Haible  <bruno@clisp.org>
61534
61535         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
61536         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
61537         includes <cygwin/sys_time.h> which includes <sys/select.h> which
61538         include <sys/time.h>.
61539         Reported by Eric Blake.
61540
61541 2007-07-06  Eric Blake  <ebb9@byu.net>
61542
61543         Fix testing canonicalize on cygwin.
61544         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61545         Revert patch from 2007-06-19.
61546         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
61547         canonicalize module is also in use.
61548         * tests/test-canonicalize.c: New file.
61549         * tests/test-canonicalize.sh: Likewise.
61550         * modules/canonicalize-tests: Likewise.
61551
61552 2007-07-06  Jim Meyering  <jim@meyering.net>
61553
61554         * lib/getugroups.c (getugroups): Detect getgrent failure.
61555         Adjust comment to reflect reality: this function may return -1.
61556
61557 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
61558
61559         * build-aux/bootstrap (TP_URL,get_translations): Update to use
61560         the new TP address.
61561         (usage): Fix typo
61562         (gnulib_mk): New variable.
61563
61564 2007-07-05  Jim Meyering  <jim@meyering.net>
61565
61566         Don't let endgrent clobber errno, no matter how improbable.
61567         * lib/getugroups.c (getugroups): Save and restore errno around
61568         endgrent call.
61569
61570         Close the group DB even when failing with 2^31 or more members.
61571         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
61572
61573 2007-07-04  Jim Meyering  <jim@meyering.net>
61574
61575         * lib/getugroups.h: New file.
61576         * lib/getugroups.c: Include "getugroups.h".
61577         Remove uses of "register" keyword.
61578         Move local variable, "cp", down into scope where used.
61579         Give "username" parameter the "const" attribute.
61580         * modules/getugroups (Files): Add lib/getugroups.h
61581
61582 2007-07-04  Karl Berry  <karl@gnu.org>
61583
61584         * MODULES.html.sh (func_all_modules): Complete rename of
61585         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
61586
61587 2007-07-02  Bruno Haible  <bruno@clisp.org>
61588
61589         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
61590         mode, when inttypes.h comes from gnulib.
61591         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
61592
61593 2007-07-02  Simon Josefsson  <simon@josefsson.org>
61594
61595         * NEWS: Mention lgpl module name change.
61596
61597         * modules/lgpl-2.1: Renamed from lgpl.
61598
61599         * NEWS: Mention gpl module name change.
61600
61601         * modules/gpl-3.0: New file, based on gpl-2.0.
61602
61603         * modules/gpl-2.0: Renamed from gpl.
61604
61605         * modules/gpl: Fix filename, doc/gpl.texi is now found at
61606         doc/gpl-2.0.texi.
61607
61608 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61609
61610         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
61611         #define __STDC_LIMIT_MACROS temporarily while including
61612         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
61613         Problem reported by Joel E. Denny in
61614         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
61615
61616 2007-07-01  Bruno Haible  <bruno@clisp.org>
61617
61618         * lib/unistdio.h: New file.
61619         * lib/unistdio/u-asnprintf.h: New file.
61620         * lib/unistdio/u-asprintf.h: New file.
61621         * lib/unistdio/u-printf-args.c: New file.
61622         * lib/unistdio/u-printf-args.h: New file.
61623         * lib/unistdio/u-printf-parse.h: New file.
61624         * lib/unistdio/u-snprintf.h: New file.
61625         * lib/unistdio/u-sprintf.h: New file.
61626         * lib/unistdio/u-vasprintf.h: New file.
61627         * lib/unistdio/u-vsnprintf.h: New file.
61628         * lib/unistdio/u-vsprintf.h: New file.
61629         * lib/unistdio/ulc-asnprintf.c: New file.
61630         * lib/unistdio/ulc-asprintf.c: New file.
61631         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
61632         * lib/unistdio/ulc-printf-parse.c: New file.
61633         * lib/unistdio/ulc-snprintf.c: New file.
61634         * lib/unistdio/ulc-sprintf.c: New file.
61635         * lib/unistdio/ulc-vasnprintf.c: New file.
61636         * lib/unistdio/ulc-vasprintf.c: New file.
61637         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
61638         * lib/unistdio/ulc-vsnprintf.c: New file.
61639         * lib/unistdio/ulc-vsprintf.c: New file.
61640         * lib/unistdio/u8-asnprintf.c: New file.
61641         * lib/unistdio/u8-asprintf.c: New file.
61642         * lib/unistdio/u8-printf-parse.c: New file.
61643         * lib/unistdio/u8-snprintf.c: New file.
61644         * lib/unistdio/u8-sprintf.c: New file.
61645         * lib/unistdio/u8-vasnprintf.c: New file.
61646         * lib/unistdio/u8-vasprintf.c: New file.
61647         * lib/unistdio/u8-vsnprintf.c: New file.
61648         * lib/unistdio/u8-vsprintf.c: New file.
61649         * lib/unistdio/u8-u8-asnprintf.c: New file.
61650         * lib/unistdio/u8-u8-asprintf.c: New file.
61651         * lib/unistdio/u8-u8-snprintf.c: New file.
61652         * lib/unistdio/u8-u8-sprintf.c: New file.
61653         * lib/unistdio/u8-u8-vasnprintf.c: New file.
61654         * lib/unistdio/u8-u8-vasprintf.c: New file.
61655         * lib/unistdio/u8-u8-vsnprintf.c: New file.
61656         * lib/unistdio/u8-u8-vsprintf.c: New file.
61657         * lib/unistdio/u16-asnprintf.c: New file.
61658         * lib/unistdio/u16-asprintf.c: New file.
61659         * lib/unistdio/u16-printf-parse.c: New file.
61660         * lib/unistdio/u16-snprintf.c: New file.
61661         * lib/unistdio/u16-sprintf.c: New file.
61662         * lib/unistdio/u16-vasnprintf.c: New file.
61663         * lib/unistdio/u16-vasprintf.c: New file.
61664         * lib/unistdio/u16-vsnprintf.c: New file.
61665         * lib/unistdio/u16-vsprintf.c: New file.
61666         * lib/unistdio/u16-u16-asnprintf.c: New file.
61667         * lib/unistdio/u16-u16-asprintf.c: New file.
61668         * lib/unistdio/u16-u16-snprintf.c: New file.
61669         * lib/unistdio/u16-u16-sprintf.c: New file.
61670         * lib/unistdio/u16-u16-vasnprintf.c: New file.
61671         * lib/unistdio/u16-u16-vasprintf.c: New file.
61672         * lib/unistdio/u16-u16-vsnprintf.c: New file.
61673         * lib/unistdio/u16-u16-vsprintf.c: New file.
61674         * lib/unistdio/u32-asnprintf.c: New file.
61675         * lib/unistdio/u32-asprintf.c: New file.
61676         * lib/unistdio/u32-printf-parse.c: New file.
61677         * lib/unistdio/u32-snprintf.c: New file.
61678         * lib/unistdio/u32-sprintf.c: New file.
61679         * lib/unistdio/u32-vasnprintf.c: New file.
61680         * lib/unistdio/u32-vasprintf.c: New file.
61681         * lib/unistdio/u32-vsnprintf.c: New file.
61682         * lib/unistdio/u32-vsprintf.c: New file.
61683         * lib/unistdio/u32-u32-asnprintf.c: New file.
61684         * lib/unistdio/u32-u32-asprintf.c: New file.
61685         * lib/unistdio/u32-u32-snprintf.c: New file.
61686         * lib/unistdio/u32-u32-sprintf.c: New file.
61687         * lib/unistdio/u32-u32-vasnprintf.c: New file.
61688         * lib/unistdio/u32-u32-vasprintf.c: New file.
61689         * lib/unistdio/u32-u32-vsnprintf.c: New file.
61690         * lib/unistdio/u32-u32-vsprintf.c: New file.
61691         * tests/unistdio/test-ulc-asnprintf1.c: New file.
61692         * tests/unistdio/test-ulc-asnprintf1.h: New file.
61693         * tests/unistdio/test-ulc-printf1.h: New file.
61694         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
61695         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
61696         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
61697         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
61698         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
61699         * tests/unistdio/test-ulc-vasprintf1.c: New file.
61700         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
61701         * tests/unistdio/test-ulc-vsprintf1.c: New file.
61702         * tests/unistdio/test-u8-asnprintf1.c: New file.
61703         * tests/unistdio/test-u8-asnprintf1.h: New file.
61704         * tests/unistdio/test-u8-printf1.h: New file.
61705         * tests/unistdio/test-u8-vasnprintf1.c: New file.
61706         * tests/unistdio/test-u8-vasnprintf2.c: New file.
61707         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
61708         * tests/unistdio/test-u8-vasnprintf3.c: New file.
61709         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
61710         * tests/unistdio/test-u8-vasprintf1.c: New file.
61711         * tests/unistdio/test-u8-vsnprintf1.c: New file.
61712         * tests/unistdio/test-u8-vsprintf1.c: New file.
61713         * tests/unistdio/test-u16-asnprintf1.c: New file.
61714         * tests/unistdio/test-u16-asnprintf1.h: New file.
61715         * tests/unistdio/test-u16-printf1.h: New file.
61716         * tests/unistdio/test-u16-vasnprintf1.c: New file.
61717         * tests/unistdio/test-u16-vasnprintf2.c: New file.
61718         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
61719         * tests/unistdio/test-u16-vasnprintf3.c: New file.
61720         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
61721         * tests/unistdio/test-u16-vasprintf1.c: New file.
61722         * tests/unistdio/test-u16-vsnprintf1.c: New file.
61723         * tests/unistdio/test-u16-vsprintf1.c: New file.
61724         * tests/unistdio/test-u32-asnprintf1.c: New file.
61725         * tests/unistdio/test-u32-asnprintf1.h: New file.
61726         * tests/unistdio/test-u32-printf1.h: New file.
61727         * tests/unistdio/test-u32-vasnprintf1.c: New file.
61728         * tests/unistdio/test-u32-vasnprintf2.c: New file.
61729         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
61730         * tests/unistdio/test-u32-vasnprintf3.c: New file.
61731         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
61732         * tests/unistdio/test-u32-vasprintf1.c: New file.
61733         * tests/unistdio/test-u32-vsnprintf1.c: New file.
61734         * tests/unistdio/test-u32-vsprintf1.c: New file.
61735         * modules/unistdio/base: New file.
61736         * modules/unistdio/u-printf-args: New file.
61737         * modules/unistdio/ulc-asnprintf: New file.
61738         * modules/unistdio/ulc-asprintf: New file.
61739         * modules/unistdio/ulc-fprintf: New file.
61740         * modules/unistdio/ulc-printf-parse: New file.
61741         * modules/unistdio/ulc-snprintf: New file.
61742         * modules/unistdio/ulc-sprintf: New file.
61743         * modules/unistdio/ulc-vasnprintf: New file.
61744         * modules/unistdio/ulc-vasprintf: New file.
61745         * modules/unistdio/ulc-vfprintf: New file.
61746         * modules/unistdio/ulc-vsnprintf: New file.
61747         * modules/unistdio/ulc-vsprintf: New file.
61748         * modules/unistdio/u8-asnprintf: New file.
61749         * modules/unistdio/u8-asprintf: New file.
61750         * modules/unistdio/u8-printf-parse: New file.
61751         * modules/unistdio/u8-snprintf: New file.
61752         * modules/unistdio/u8-sprintf: New file.
61753         * modules/unistdio/u8-vasnprintf: New file.
61754         * modules/unistdio/u8-vasprintf: New file.
61755         * modules/unistdio/u8-vsnprintf: New file.
61756         * modules/unistdio/u8-vsprintf: New file.
61757         * modules/unistdio/u8-u8-asnprintf: New file.
61758         * modules/unistdio/u8-u8-asprintf: New file.
61759         * modules/unistdio/u8-u8-snprintf: New file.
61760         * modules/unistdio/u8-u8-sprintf: New file.
61761         * modules/unistdio/u8-u8-vasnprintf: New file.
61762         * modules/unistdio/u8-u8-vasprintf: New file.
61763         * modules/unistdio/u8-u8-vsnprintf: New file.
61764         * modules/unistdio/u8-u8-vsprintf: New file.
61765         * modules/unistdio/u16-asnprintf: New file.
61766         * modules/unistdio/u16-asprintf: New file.
61767         * modules/unistdio/u16-printf-parse: New file.
61768         * modules/unistdio/u16-snprintf: New file.
61769         * modules/unistdio/u16-sprintf: New file.
61770         * modules/unistdio/u16-vasnprintf: New file.
61771         * modules/unistdio/u16-vasprintf: New file.
61772         * modules/unistdio/u16-vsnprintf: New file.
61773         * modules/unistdio/u16-vsprintf: New file.
61774         * modules/unistdio/u16-u16-asnprintf: New file.
61775         * modules/unistdio/u16-u16-asprintf: New file.
61776         * modules/unistdio/u16-u16-snprintf: New file.
61777         * modules/unistdio/u16-u16-sprintf: New file.
61778         * modules/unistdio/u16-u16-vasnprintf: New file.
61779         * modules/unistdio/u16-u16-vasprintf: New file.
61780         * modules/unistdio/u16-u16-vsnprintf: New file.
61781         * modules/unistdio/u16-u16-vsprintf: New file.
61782         * modules/unistdio/u32-asnprintf: New file.
61783         * modules/unistdio/u32-asprintf: New file.
61784         * modules/unistdio/u32-printf-parse: New file.
61785         * modules/unistdio/u32-snprintf: New file.
61786         * modules/unistdio/u32-sprintf: New file.
61787         * modules/unistdio/u32-vasnprintf: New file.
61788         * modules/unistdio/u32-vasprintf: New file.
61789         * modules/unistdio/u32-vsnprintf: New file.
61790         * modules/unistdio/u32-vsprintf: New file.
61791         * modules/unistdio/u32-u32-asnprintf: New file.
61792         * modules/unistdio/u32-u32-asprintf: New file.
61793         * modules/unistdio/u32-u32-snprintf: New file.
61794         * modules/unistdio/u32-u32-sprintf: New file.
61795         * modules/unistdio/u32-u32-vasnprintf: New file.
61796         * modules/unistdio/u32-u32-vasprintf: New file.
61797         * modules/unistdio/u32-u32-vsnprintf: New file.
61798         * modules/unistdio/u32-u32-vsprintf: New file.
61799         * modules/unistdio/ulc-asnprintf-tests: New file.
61800         * modules/unistdio/ulc-vasnprintf-tests: New file.
61801         * modules/unistdio/ulc-vasprintf-tests: New file.
61802         * modules/unistdio/ulc-vsnprintf-tests: New file.
61803         * modules/unistdio/ulc-vsprintf-tests: New file.
61804         * modules/unistdio/u8-asnprintf-tests: New file.
61805         * modules/unistdio/u8-vasnprintf-tests: New file.
61806         * modules/unistdio/u8-vasprintf-tests: New file.
61807         * modules/unistdio/u8-vsnprintf-tests: New file.
61808         * modules/unistdio/u8-vsprintf-tests: New file.
61809         * modules/unistdio/u16-asnprintf-tests: New file.
61810         * modules/unistdio/u16-vasnprintf-tests: New file.
61811         * modules/unistdio/u16-vasprintf-tests: New file.
61812         * modules/unistdio/u16-vsnprintf-tests: New file.
61813         * modules/unistdio/u16-vsprintf-tests: New file.
61814         * modules/unistdio/u32-asnprintf-tests: New file.
61815         * modules/unistdio/u32-vasnprintf-tests: New file.
61816         * modules/unistdio/u32-vasprintf-tests: New file.
61817         * modules/unistdio/u32-vsnprintf-tests: New file.
61818         * modules/unistdio/u32-vsprintf-tests: New file.
61819         * MODULES.html.sh (Unicode string functions): Add the new modules.
61820
61821 2007-07-01  Bruno Haible  <bruno@clisp.org>
61822
61823         * lib/sprintf.c (sprintf): Limit the available length estimation,
61824         to avoid address wraparound.
61825         * lib/vsprintf.c (vsprintf): Likewise.
61826         * modules/sprintf-posix (Dependencies): Add stdint.
61827         * modules/vsprintf-posix (Dependencies): Likewise.
61828
61829 2007-07-01  Bruno Haible  <bruno@clisp.org>
61830
61831         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
61832         Windows PATH as well. Conservative double-quoting. Comments.
61833
61834 2007-07-01  Bruno Haible  <bruno@clisp.org>
61835             Eric Blake  <ebb9@byu.net>
61836             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61837
61838         * gnulib-tool (self_abspathname): Fix algorithm to cope with
61839         empty components in $PATH, denoting '.'.
61840
61841 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61842
61843         * gnulib-tool: Fix indentation.
61844         (func_create_megatestdir): Likewise.
61845         Report by Bruno Haible.
61846
61847 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61848
61849         Sync from Automake.
61850         * build-aux/gnupload: Fix shell portability issues with for loops.
61851         Report by Karl Berry.
61852
61853 2007-06-29  Simon Josefsson  <simon@josefsson.org>
61854
61855         * build-aux/maint.mk (POURL): Use translationproject.org.
61856
61857 2007-06-27  Simon Josefsson  <simon@josefsson.org>
61858             Bruno Haible  <bruno@clisp.org>
61859
61860         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
61861         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
61862         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
61863         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
61864         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
61865
61866 2007-06-27  Bruno Haible  <bruno@clisp.org>
61867
61868         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
61869         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
61870
61871 2007-06-26  Karl Berry  <karl@gnu.org>
61872
61873         * MODULES.html.sh: remove xreadlink-with-size.
61874
61875 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61876
61877         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
61878         method that I hope also handles the double-include problem noted
61879         by Bruno Haible in
61880         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
61881
61882 2007-06-23  Bruno Haible  <bruno@clisp.org>
61883
61884         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61885         Don't let the 'mostlyclean' target fail if the last subdirectory could
61886         not be removed.
61887         Reported by Karl Berry.
61888
61889 2007-06-23  Bruno Haible  <bruno@clisp.org>
61890
61891         * gnulib-tool (echo): Add a speedier workaround for ksh.
61892         * tests/test-echo.sh: Likewise.
61893
61894 2007-06-23  Bruno Haible  <bruno@clisp.org>
61895
61896         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
61897         * tests/test-echo.sh: Likewise.
61898
61899 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61900
61901         * gnulib-tool (IFS): Initialize early, so we don't set it to
61902         empty later.
61903         (self_abspathname): Rewrite algorithm to set it, reindent.
61904         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
61905         (func_create_megatestdir): Merge some sed scripts.
61906
61907 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61908
61909         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
61910         exposed by Sun Studio 11 cc on Solaris 8.
61911
61912 2007-06-22  Bruno Haible  <bruno@clisp.org>
61913
61914         * gnulib-tool (echo): Ensure the echo primitive does not interpret
61915         backslashes.
61916         * tests/test-echo.sh: New file.
61917
61918 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61919
61920         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
61921         simplify `sed_replace_build_aux' scripts, they are portable but
61922         echoing them with `echo' is not.
61923         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
61924
61925 2007-06-21  Karl Berry  <karl@gnu.org>
61926
61927         * config/srclist.txt: guess we can't handle the licenses via
61928         srclist at the moment.
61929
61930 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61931
61932         * MODULES.html.sh: Add include_next.
61933         * modules/include_next: New file.
61934
61935 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61936
61937         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
61938         INCLUDE_NEXT.
61939         (gl_CHECK_NEXT_HEADERS): New macro.
61940         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
61941         the obsolescent gl_ABSOLUTE_HEADER.
61942         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
61943         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
61944         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
61945         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
61946         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
61947         * m4/math_h.m4 (gl_MATH_H): Likewise.
61948         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
61949         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61950         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
61951         * m4/stdint.m4 (gl_STDINT_H): Likewise.
61952         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
61953         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
61954         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
61955         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61956         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
61957         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
61958         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
61959         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
61960         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
61961         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61962         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
61963         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
61964         * m4/inttypes.m4 (gl_INTTYPES_H): Define
61965         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
61966         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
61967         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
61968         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
61969         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
61970         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
61971         * lib/float_.h: Likewise.
61972         * lib/inttypes_.h: Likewise.
61973         * lib/math_.h: Likewise.
61974         * lib/search_.h: Likewise.
61975         * lib/signal_.h: Likewise.
61976         * lib/stdint_.h: Likewise.
61977         * lib/stdio_.h: Likewise.
61978         * lib/stdlib_.h: Likewise.
61979         * lib/string_.h: Likewise.
61980         * lib/sys_stat_.h: Likewise.
61981         * lib/sys_time_.h: Likewise.
61982         * lib/time_.h: Likewise.
61983         * lib/unistd_.h: Likewise.
61984         * lib/wchar_.h: Likewise.
61985         * lib/wctype_.h: Likewise.
61986         * lib/dirent_.h: Likewise.
61987         * lib/iconv_.h: Likewise.
61988         * lib/locale_.h: Likewise.
61989         * lib/netinet_in_.h: Likewise.
61990         * lib/sys_select_.h: Likewise.
61991         * lib/sys_socket_.h: Likewise.
61992         * lib/sysexits_.h: Likewise.
61993         * modules/fcntl (Depends-on): Depend on include_next, not
61994         absolute_header.
61995         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
61996         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
61997         * modules/fchdir: Likewise.
61998         * modules/float: Likewise.
61999         * modules/iconv_open: Likewise.
62000         * modules/inttypes: Likewise.
62001         * modules/locale: Likewise.
62002         * modules/math: Likewise.
62003         * modules/netinet_in: Likewise.
62004         * modules/search: Likewise.
62005         * modules/signal: Likewise.
62006         * modules/stdint: Likewise.
62007         * modules/stdio: Likewise.
62008         * modules/stdlib: Likewise.
62009         * modules/string: Likewise.
62010         * modules/sys_select: Likewise.
62011         * modules/sys_socket: Likewise.
62012         * modules/sys_stat: Likewise.
62013         * modules/sys_time: Likewise.
62014         * modules/sysexits: Likewise.
62015         * modules/time: Likewise.
62016         * modules/unistd: Likewise.
62017         * modules/wchar: Likewise.
62018         * modules/wctype: Likewise.
62019         * modules/sys_stat: Change maintainer to "all".
62020         * modules/unistd: Likewise.
62021
62022 2007-06-20  Karl Berry  <karl@gnu.org>
62023
62024         * config/srclist.txt: track www changes in license files.
62025
62026 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62027
62028         * build-aux/bootstrap: Remove stray dot.
62029         Make sure build_aux settings are honored when linking
62030         gnulib_extra_files.
62031
62032 2007-06-19  Eric Blake  <ebb9@byu.net>
62033
62034         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62035         Allow compilation on cygwin.
62036
62037 2007-06-19  Jim Meyering  <jim@meyering.net>
62038
62039         xreadlink-with-size: Remove module.  No longer used.
62040         Ex-callers now use xreadlink or mreadlink-with-size.
62041         * modules/xreadlink-with-size: Remove module.
62042         * lib/xreadlink-with-size.c: Remove file.
62043         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62044         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62045         just before the function definition *is* accurate.
62046
62047         Eliminate one way canonicalize_filename_mode could exit.
62048         * lib/canonicalize.c (canonicalize_filename_mode):
62049         Use mreadlink_with_size, not xreadlink_with_size.
62050
62051 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62052
62053         Detect porting problems to FreeBSD/arm, which has time_t wider than
62054         long int.  Original problem reported for GNU diff by Xin Li in
62055         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62056         * modules/getdate (Depends-on): Add intprops, verify.
62057         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62058         is an integer type no wider than long int.
62059
62060 2007-06-18  Jim Meyering  <jim@meyering.net>
62061
62062         New module: mreadlink-with-size.
62063         * MODULES.html.sh: Add mreadlink-with-size.
62064         * modules/mreadlink-with-size: New module
62065         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62066         not xreadlink-with-size.
62067         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62068
62069 2007-06-16  Bruno Haible  <bruno@clisp.org>
62070
62071         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62072         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62073         Reported by Gary V. Vaughan <gary@gnu.org>.
62074
62075 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62076
62077         Revamp lchown so that it lives in unistd.h where it belongs.
62078         * lib/lchown.h: Remove.
62079         * lib/dirchownmod.c: Don't include lib/lchown.h.
62080         * lib/fchownat.c: Likewise.
62081         * lib/openat.c: Likewise.
62082         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62083         does not follow symlinks.
62084         (EOPNOTSUPP): Define if not defined.
62085         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62086         is defined to 0.
62087         (lchown): New decl.
62088         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62089         Do not check for lchown decl.
62090         Set REPLACE_LCHOWN.
62091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62092         REPLACE_LCHOWN.
62093         * modules/chown: Make it clear it follows symlinks.
62094         * modules/lchown: Make it clear it doesn't follow symlinks.
62095         (Files): Remove lib/lchown.h
62096         (Depends-on): Add unistd.
62097         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62098         (Include): Include <unistd.h>, not "lchown.h".
62099         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62100         REPLACE_LCHOWN.
62101
62102 2007-06-15  Jim Meyering  <jim@meyering.net>
62103
62104         Change license (GPL to LGPL) of fsusage and dependents.
62105         * modules/fsusage (License): Change to LGPL.
62106         * modules/full-read (License): Likewise.
62107         * modules/full-write (License): Likewise.
62108         * modules/safe-read (License): Likewise.
62109         * modules/safe-write (License): Likewise.
62110
62111 2007-06-14  Ben Pfaff  <blp@gnu.org>
62112
62113         Missing part of allocsa -> malloca transition.
62114         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62115         gl_MALLOCA.
62116
62117 2007-06-12  Bruno Haible  <bruno@clisp.org>
62118
62119         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62120         to ia64, x86_64, i386.
62121         Reported by Eric Blake.
62122
62123 2007-06-12  Bruno Haible  <bruno@clisp.org>
62124
62125         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62126         cross-compiling to x86_64.
62127
62128 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62129
62130         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62131         glitch reported by Ralf Wildenhues in
62132         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62133
62134         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62135         Vin Shelton.
62136
62137 2007-06-11  Bruno Haible  <bruno@clisp.org>
62138
62139         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62140         replacement string.
62141         Reported by Eric Blake.
62142
62143 2007-06-10  Bruno Haible  <bruno@clisp.org>
62144
62145         Prepare vasnprintf code for use with Unicode strings.
62146         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62147         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62148         TYPE_U32_STRING.
62149         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62150         a_u32_string variants.
62151         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62152         * lib/printf-args.c: Don't include config.h and the specification
62153         header if PRINTF_FETCHARGS is already defined.
62154         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62155         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
62156         TYPE_U16_STRING, TYPE_U32_STRING.
62157         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
62158         u16_directive, u16_directives, u32_directive, u32_directives): New
62159         types.
62160         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
62161         New declarations.
62162         * lib/printf-parse.c: Don't include config.h and the specification
62163         header if PRINTF_PARSE is already defined. Eliminate the set of
62164         parameters for WIDE_CHAR_VERSION; the user of this file must provide
62165         them now. Include c-ctype.h.
62166         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
62167         directive and CHAR_T_ONLY_ASCII.
62168         * lib/vasnprintf.c: Don't include config.h and the specification header
62169         if VASNPRINTF is already defined.
62170         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62171         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62172         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62173         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62174         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62175         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62176         code accordingly.
62177         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62178         pad_ourselves also in this case, with the 'c' and 's' directives, and
62179         with a different notion of "width".
62180         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62181
62182 2007-06-10  Bruno Haible  <bruno@clisp.org>
62183
62184         * modules/unistr/u32-mbsnlen: New file.
62185         * lib/unistr/u32-mbsnlen.c: New file.
62186
62187         * modules/unistr/u16-mbsnlen: New file.
62188         * lib/unistr/u16-mbsnlen.c: New file.
62189
62190         * modules/unistr/u8-mbsnlen: New file.
62191         * lib/unistr/u8-mbsnlen.c: New file.
62192
62193         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
62194         declarations.
62195
62196 2007-06-10  Bruno Haible  <bruno@clisp.org>
62197
62198         * lib/string_.h (mbsnlen): New declaration.
62199         * lib/mbsnlen.c: New file.
62200         * m4/mbsnlen.m4: New file.
62201         * modules/mbsnlen: New file.
62202         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
62203         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
62204         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
62205
62206 2007-06-10  Bruno Haible  <bruno@clisp.org>
62207
62208         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
62209
62210 2007-06-10  Bruno Haible  <bruno@clisp.org>
62211
62212         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
62213         * lib/mbuiter.h: Likewise.
62214
62215 2007-06-10  Bruno Haible  <bruno@clisp.org>
62216
62217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
62218         declaration.
62219
62220 2007-06-10  Karl Berry  <karl@gnu.org>
62221
62222         * config/srclist.txt: remove gettext entries, Bruno prefers
62223         to update individually.
62224
62225 2007-06-10  Bruno Haible  <bruno@clisp.org>
62226
62227         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
62228         'maxlen'. Ensure only length + width bytes are allocated, not
62229         length + 1 + width.
62230
62231 2007-06-09  Bruno Haible  <bruno@clisp.org>
62232
62233         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
62234         (CHAR_T): Remove macro.
62235         (VASNPRINTF): Update.
62236
62237 2007-06-09  Bruno Haible  <bruno@clisp.org>
62238
62239         * MODULES.html.sh (Unicode string functions): Add the new modules.
62240
62241         * modules/uniconv/u32-conv-to-enc: New file.
62242         * lib/uniconv/u32-conv-to-enc.c: New file.
62243         * modules/uniconv/u32-conv-to-enc-tests: New file.
62244         * tests/uniconv/test-u32-conv-to-enc.c: New file.
62245
62246         * modules/uniconv/u16-conv-to-enc: New file.
62247         * lib/uniconv/u16-conv-to-enc.c: New file.
62248         * lib/uniconv/u-conv-to-enc.h: New file.
62249         * modules/uniconv/u16-conv-to-enc-tests: New file.
62250         * tests/uniconv/test-u16-conv-to-enc.c: New file.
62251
62252         * modules/uniconv/u8-conv-to-enc: New file.
62253         * lib/uniconv/u8-conv-to-enc.c: New file.
62254         * modules/uniconv/u8-conv-to-enc-tests: New file.
62255         * tests/uniconv/test-u8-conv-to-enc.c: New file.
62256
62257         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62258         u32_conv_to_encoding): New declarations.
62259
62260 2007-06-09  Bruno Haible  <bruno@clisp.org>
62261
62262         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
62263
62264 2007-06-09  Bruno Haible  <bruno@clisp.org>
62265
62266         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
62267         * modules/malloca: Renamed from modules/allocsa, updated.
62268         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
62269         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
62270         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
62271         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
62272         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
62273         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
62274         * modules/xmalloca: Renamed from modules/xallocsa, updated.
62275         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
62276         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
62277         * modules/c-strcasestr (Depends-on): Update.
62278         * lib/c-strcasestr.c: Update.
62279         * modules/c-strstr (Depends-on): Update.
62280         * lib/c-strstr.c: Update.
62281         * modules/canonicalize-lgpl (Depends-on): Update.
62282         * lib/canonicalize-lgpl.c: Update.
62283         * modules/clean-temp (Depends-on): Update.
62284         * lib/clean-temp.c: Update.
62285         * modules/csharpcomp (Depends-on): Update.
62286         * lib/csharpcomp.c: Update.
62287         * modules/csharpexec (Depends-on): Update.
62288         * lib/csharpexec.c: Update.
62289         * modules/javacomp (Depends-on): Update.
62290         * lib/javacomp.c: Update.
62291         * modules/javaexec (Depends-on): Update.
62292         * lib/javaexec.c: Update.
62293         * modules/mbscasestr (Depends-on): Update.
62294         * lib/mbscasestr.c: Update.
62295         * modules/mbsstr (Depends-on): Update.
62296         * lib/mbsstr.c: Update.
62297         * modules/setenv (Depends-on): Update.
62298         * lib/setenv.c: Update.
62299         * modules/strcasestr (Depends-on): Update.
62300         * lib/strcasestr.c: Update.
62301         * modules/striconveha (Depends-on): Update.
62302         * lib/striconveha.c: Update.
62303         * modules/relocatable-prog-wrapper (Files): Update.
62304         * lib/relocwrapper.c: Update.
62305         * build-aux/install-reloc: Update.
62306         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
62307
62308 2007-06-08  Bruno Haible  <bruno@clisp.org>
62309
62310         Port to uClibc.
62311         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
62312         * lib/fpurge.c (fpurge): Likewise.
62313         * lib/freading.c (freading): Likewise.
62314         * lib/fseeko.c (rpl_fseeko): Likewise.
62315         * lib/fseterr.c (fseterr): Likewise.
62316         * lib/fwriting.c (fwriting): Likewise.
62317         * tests/test-fflush.c (main): Avoid a failure on uClibc.
62318
62319 2007-06-08  Bruno Haible  <bruno@clisp.org>
62320
62321         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
62322         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
62323         * modules/gettext (Files): Add m4/intlmacosx.m4.
62324
62325 2007-06-07  Bruno Haible  <bruno@clisp.org>
62326
62327         * modules/localename-tests: New file.
62328         * tests/test-localename.c: New file.
62329
62330         New module 'localename'.
62331         * lib/localename.h: New file.
62332         * lib/localename.c: New file, from GNU gettext.
62333         * m4/localename.m4: New file.
62334         * modules/localename: New file.
62335
62336 2007-06-07  Bruno Haible  <bruno@clisp.org>
62337
62338         Work around the lack of <wchar.h> on some builds of uClibc.
62339         * doc/headers/wchar.texi: Update.
62340         * lib/wchar_.h: Include <wchar.h> only if it exists.
62341         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
62342         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
62343         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
62344         doesn't exist.
62345         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
62346         * modules/mbfile (Depends-on): Add wchar.
62347         * modules/mbiter (Depends-on): Likewise.
62348         * modules/mbuiter (Depends-on): Likewise.
62349         Reported by Simon Josefsson.
62350
62351 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
62352
62353         Work around problem reported by Steven M. Schweda in
62354         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
62355         Tru64 5.1B with the Compaq compiler environment installed declares
62356         an 'isblank' function but does not define it in the C library.
62357         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
62358         * lib/regex_internal.h (isblank): Likewise.
62359         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
62360         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62361
62362 2007-06-05  Bruno Haible  <bruno@clisp.org>
62363
62364         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
62365         ia64.
62366         * modules/printf-safe: New file.
62367         * modules/fprintf-posix (Depends-on): Add printf-safe.
62368         * modules/printf-posix (Depends-on): Likewise.
62369         * modules/snprintf-posix (Depends-on): Likewise.
62370         * modules/sprintf-posix (Depends-on): Likewise.
62371         * modules/vasnprintf-posix (Depends-on): Likewise.
62372         * modules/vasprintf-posix (Depends-on): Likewise.
62373         * modules/vfprintf-posix (Depends-on): Likewise.
62374         * modules/vprintf-posix (Depends-on): Likewise.
62375         * modules/vsnprintf-posix (Depends-on): Likewise.
62376         * modules/vsprintf-posix (Depends-on): Likewise.
62377         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
62378         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
62379         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
62380         "no" on i386, x86_64, ia64.
62381         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
62382         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62383         on i386, x86_64, ia64.
62384         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
62385         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62386         on i386, x86_64, ia64.
62387         * tests/test-vasnprintf-posix.c: Include float.h.
62388         (LDBL80_WORDS): New macro.
62389         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62390         on i386, x86_64, ia64.
62391         * tests/test-vasprintf-posix.c: Include float.h.
62392         (LDBL80_WORDS): New macro.
62393         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62394         on i386, x86_64, ia64.
62395         * tests/test-snprintf-posix.c: Include float.h.
62396         * tests/test-sprintf-posix.c: Likewise.
62397         * tests/test-vsnprintf-posix.c: Likewise.
62398         * tests/test-vsprintf-posix.c: Likewise.
62399
62400 2007-06-05  Bruno Haible  <bruno@clisp.org>
62401
62402         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
62403         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
62404         non-IEEE numbers on i386, x86_64, ia64.
62405         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
62406         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
62407         * tests/test-isnanl.h: Include float.h.
62408         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
62409
62410 2007-06-05  Bruno Haible  <bruno@clisp.org>
62411
62412         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
62413         also the %a / %A. Handle the %a / %A code before this extra handling.
62414
62415 2007-06-05  Bruno Haible  <bruno@clisp.org>
62416
62417         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
62418         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
62419
62420 2007-06-05  Bruno Haible  <bruno@clisp.org>
62421
62422         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
62423         typo in variable name.
62424
62425 2007-06-05  Eric Blake  <ebb9@byu.net>
62426
62427         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
62428         Reported by Simon Josefsson.
62429
62430 2007-06-04  Bruno Haible  <bruno@clisp.org>
62431
62432         Avoid test failures on some PowerPC platforms.
62433         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
62434         Define differently for PowerPC.
62435         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
62436         Reported by Gary V. Vaughan <gary@gnu.org>.
62437
62438 2007-06-02  Bruno Haible  <bruno@clisp.org>
62439
62440         Fix test-stdint failure on FreeBSD/ia64.
62441         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
62442         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
62443         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
62444         * doc/headers/stdint.texi: Update.
62445
62446 2007-06-01  Bruno Haible  <bruno@clisp.org>
62447
62448         * tests/test-binary-io.c (main): Pass a third argument to open().
62449         Reported by Gary V. Vaughan <gary@gnu.org>.
62450
62451 2007-06-01  Bruno Haible  <bruno@clisp.org>
62452
62453         * doc/functions/frexpl.texi: Update for mingw.
62454
62455 2007-06-01  Bruno Haible  <bruno@clisp.org>
62456
62457         * tests/test-lseek.c (main): Disable test of errno for invalid third
62458         argument.
62459         * doc/functions/lseek.texi: Update.
62460         Reported by Gary V. Vaughan <gary@gnu.org>.
62461
62462 2007-05-28  Bruno Haible  <bruno@clisp.org>
62463
62464         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
62465
62466 2007-05-31  Eric Blake  <ebb9@byu.net>
62467
62468         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
62469         cross compiling.
62470
62471 2007-05-30  Eric Blake  <ebb9@byu.net>
62472         and Bruno Haible  <bruno@clisp.org>
62473
62474         Work around mingw test failures exposed by m4-1.4.9b.
62475         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
62476         * tests/test-unistd.c: Disable uid_t and git_t tests for the
62477         moment.
62478
62479 2007-05-30  Bruno Haible  <bruno@clisp.org>
62480
62481         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
62482         assuming that they are closed. Needed on HP-UX 11.
62483
62484 2007-05-29  Bruno Haible  <bruno@clisp.org>
62485
62486         Fix a problem with #include_next.
62487         * lib/dirent_.h: Split the double-inclusion guard.
62488         * lib/fcntl_.h: Likewise.
62489         * lib/float_.h: Likewise.
62490         * lib/iconv_.h: Likewise.
62491         * lib/inttypes_.h: Likewise.
62492         * lib/locale_.h: Likewise.
62493         * lib/math_.h: Likewise.
62494         * lib/netinet_in_.h: Likewise.
62495         * lib/search_.h: Likewise.
62496         * lib/signal_.h: Likewise.
62497         * lib/stdint_.h: Likewise.
62498         * lib/stdio_.h: Likewise.
62499         * lib/stdlib_.h: Likewise.
62500         * lib/string_.h: Likewise.
62501         * lib/sys_select_.h: Likewise.
62502         * lib/sys_socket_.h: Likewise.
62503         * lib/sys_stat_.h: Likewise.
62504         * lib/sys_time_.h: Likewise.
62505         * lib/sysexits_.h: Likewise.
62506         * lib/time_.h: Likewise.
62507         * lib/unistd_.h: Likewise.
62508         * lib/wchar_.h: Likewise.
62509         * lib/wctype_.h: Likewise.
62510
62511 2007-05-29  Bruno Haible  <bruno@clisp.org>
62512
62513         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
62514         for the moment.
62515
62516 2007-05-29  Bruno Haible  <bruno@clisp.org>
62517
62518         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
62519         invocation.
62520         Reported by Eric Blake.
62521
62522 2007-05-29  Bruno Haible  <bruno@clisp.org>
62523
62524         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
62525         compiling case.
62526
62527 2007-05-29  Eric Blake  <ebb9@byu.net>
62528             Bruno Haible  <bruno@clisp.org>
62529
62530         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
62531         cross compiles.
62532
62533 2007-05-28  Eric Blake  <ebb9@byu.net>
62534
62535         * modules/closein-tests (test_closein_LDADD): Support test on
62536         cygwin with libtool.
62537
62538 2007-05-28  Bruno Haible  <bruno@clisp.org>
62539
62540         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
62541         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62542         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62543         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62544         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62545         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62546         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62547         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62548         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62549
62550 2007-05-28  Eric Blake  <ebb9@byu.net>
62551
62552         Unconditionally include <config.h> in unit tests.
62553         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
62554         * tests/test-allocsa.c, tests/test-arcfour.c,
62555         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
62556         tests/test-array_list.c, tests/test-array_oset.c,
62557         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
62558         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
62559         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
62560         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
62561         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
62562         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
62563         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
62564         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
62565         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
62566         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
62567         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
62568         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
62569         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
62570         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
62571         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
62572         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
62573         test-md5.c, test-memmem.c, test-printf-posix.c,
62574         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
62575         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
62576         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
62577         test-strcasestr.c, test-striconv.c, test-striconveh.c,
62578         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
62579         test-vasnprintf-posix2.c, test-vasnprintf.c,
62580         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
62581         test-vfprintf-posix.c, test-vprintf-posix.c,
62582         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
62583         test-xvasprintf.c: Likewise.
62584
62585 2007-05-28  Bruno Haible  <bruno@clisp.org>
62586
62587         * gnulib-tool (func_import): Remember the --with-tests command-line
62588         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
62589         Reported by Eric Blake.
62590
62591 2007-05-28  Bruno Haible  <bruno@clisp.org>
62592
62593         * modules/ftell-tests: New file.
62594         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
62595         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
62596
62597         * lib/ftell.c: New file.
62598         * modules/ftell: New file.
62599         * m4/ftell.m4: New file.
62600         * doc/functions/ftell.texi: Update.
62601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
62602         REPLACE_FTELL.
62603         * lib/stdio_.h (rpl_ftell): New declaration.
62604         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
62605         REPLACE_FTELL.
62606
62607 2007-05-28  Eric Blake  <ebb9@byu.net>
62608
62609         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
62610
62611 2007-05-28  Bruno Haible  <bruno@clisp.org>
62612
62613         * modules/fseek-tests: New file.
62614         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
62615         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
62616
62617         * lib/fseek.c: New file.
62618         * modules/fseek: New file.
62619         * m4/fseek.m4: New file.
62620         * doc/functions/fseek.texi: Update.
62621         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
62622         REPLACE_FSEEK.
62623         * lib/stdio_.h (rpl_fseek): New declaration.
62624         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
62625         REPLACE_FSEEK.
62626
62627 2007-05-28  Bruno Haible  <bruno@clisp.org>
62628
62629         * lib/stdio_.h (fflush): More comments.
62630
62631 2007-05-28  Bruno Haible  <bruno@clisp.org>
62632
62633         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
62634         runtime test.
62635
62636 2007-05-28  Eric Blake  <ebb9@byu.net>
62637
62638         Improve lseek module.
62639         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
62640         * lib/unistd_.h (lseek): Scale back link warning message.
62641         * tests/test-lseek.c: Beef up test.
62642         * tests/test-lseek.sh: Exercise more facets of lseek.
62643         Reported by Bruno Haible.
62644
62645 2007-05-28  Bruno Haible  <bruno@clisp.org>
62646
62647         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
62648         to define.
62649
62650 2007-05-27  Bruno Haible  <bruno@clisp.org>
62651
62652         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
62653
62654 2007-05-27  Bruno Haible  <bruno@clisp.org>
62655
62656         * modules/openmp: New file.
62657         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
62658         Noah Misch.
62659
62660 2007-05-26  Bruno Haible  <bruno@clisp.org>
62661
62662         * modules/chdir-long (Depends-on): Add fchdir.
62663         * modules/chdir-safer (Depends-on): Likewise.
62664         * modules/fts (Depends-on): Likewise.
62665         * modules/fts-lgpl (Depends-on): Likewise.
62666         * modules/openat (Depends-on): Likewise.
62667         * modules/savewd (Depends-on): Likewise.
62668
62669 2007-05-24  Eric Blake  <ebb9@byu.net>
62670
62671         Fix lseek on mingw.
62672         * modules/lseek: New module.
62673         * m4/lseek.m4: New file.
62674         * lib/lseek.c: New file.
62675         * modules/lseek-tests: New file.
62676         * tests/test-lseek.c: New file.
62677         * tests/test-lseek.sh: New file.
62678         * MODULES.html.sh: Document lseek module.
62679         * modules/fflush (Depends-on): Add lseek, fseeko.
62680         * modules/fseeko (Depends-on): Likewise.
62681         * modules/ftello (Depends-on): Likewise.
62682         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
62683         broken.
62684         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
62685         broken.
62686         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
62687         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
62688         * lib/ftello.c (rpl_ftello): Likewise.
62689         * tests/test-fseeko.c (main): Test this.
62690         * tests/test-fseeko.sh: Likewise.
62691         * tests/test-ftello.c (main): Likewise.
62692         * tests/test-ftello.sh: Likewise.
62693         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
62694         implies replacing fseek.
62695         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
62696         HAVE_FTELLO.
62697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
62698         * modules/unistd (Makefile.am): Likewise.
62699         * lib/unistd_.h (lseek): Declare a replacement.
62700         * doc/functions/lseek.texi (lseek): Document this fix.
62701         * doc/functions/fseek.texi (fseek): Likewise.
62702         * doc/functions/ftell.texi (ftell): Likewise.
62703
62704 2007-05-24  Bruno Haible  <bruno@clisp.org>
62705
62706         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
62707         in the printed representation of a NaN.
62708         * tests/test-vasprintf-posix.c (test_function): Likewise.
62709         * tests/test-snprintf-posix.h (test_function): Likewise.
62710         * tests/test-sprintf-posix.h (test_function): Likewise.
62711         Reported by Eric Blake.
62712
62713 2007-05-23  Eric Blake  <ebb9@byu.net>
62714
62715         Fix fseeko/ftello on cygwin 1.5.24.
62716         * doc/functions/fseeko.texi (fseeko): Document the fix.
62717         * doc/functions/ftello.texi (ftello): Document the fix.
62718         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
62719         * doc/functions/stdout.text (stdout): New file.
62720         * doc/functions/stderr.text (stderr): New file.
62721         * doc/gnulib.texi (Function Substitutes): Use new files.
62722         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
62723         prior to 1.7.0.
62724         * tests/test-ftello.c (main): Likewise for ftello.
62725         * tests/test-fseeko.sh: New file.
62726         * tests/test-ftello.sh: New file.
62727         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
62728         with seekable stdin.
62729         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
62730         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
62731         (gl_REPLACE_FSEEKO): New macro.
62732         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
62733         * modules/fseeko (Files): Distribute fseeko.c.
62734         * modules/ftello (Files): Distribute ftello.c.
62735         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
62736         mode.
62737         * lib/ftello.c (rpl_ftello): New file.
62738         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
62739         fseeko, ftello.
62740         (gl_STDIN_LARGE_OFFSET): New macro.
62741         * modules/stdio (Makefile.am): Perform the replacement.
62742         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
62743
62744 2007-05-23  Bruno Haible  <bruno@clisp.org>
62745
62746         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
62747         GNULIB_POSIXCHECK is defined.
62748
62749 2007-05-21  Bruno Haible  <bruno@clisp.org>
62750
62751         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
62752         Check also the output for NaN arguments. When cross-compiling, guess
62753         no on IRIX.
62754         * lib/vasnprintf.c: Update comments.
62755         * tests/test-vasnprintf-posix.c (strisnan): New function.
62756         (test_function): Use it.
62757         * tests/test-vasprintf-posix.c (strisnan): New function.
62758         (test_function): Use it.
62759         * tests/test-snprintf-posix.h (strisnan): New function.
62760         (test_function): Use it.
62761         * tests/test-sprintf-posix.h (strisnan): New function.
62762         (test_function): Use it.
62763         Reported by Eric Blake.
62764
62765 2007-05-20  Bruno Haible  <bruno@clisp.org>
62766
62767         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
62768         numbers that fails on BeOS.
62769         * doc/functions/frexpl.texi: Update.
62770
62771 2007-05-20  Jim Meyering  <jim@meyering.net>
62772
62773         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
62774         forced upon us by glibc-2.6.
62775
62776 2007-05-20  Bruno Haible  <bruno@clisp.org>
62777
62778         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
62779         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
62780         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
62781         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
62782         NEED_PRINTF_INFINITE.
62783         (is_infinitel): New function.
62784         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
62785         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
62786         gl_PREREQ_VASNPRINTF_INFINITE.
62787         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
62788         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62789         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
62790         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
62791         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
62792         gl_PREREQ_VASNPRINTF_INFINITE.
62793         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62794         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62795         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62796         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62797         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62798         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62799         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62800         * doc/functions/fprintf.texi: Update.
62801         * doc/functions/printf.texi: Update.
62802         * doc/functions/snprintf.texi: Update.
62803         * doc/functions/sprintf.texi: Update.
62804         * doc/functions/vfprintf.texi: Update.
62805         * doc/functions/vprintf.texi: Update.
62806         * doc/functions/vsnprintf.texi: Update.
62807         * doc/functions/vsprintf.texi: Update.
62808
62809 2007-05-20  Bruno Haible  <bruno@clisp.org>
62810
62811         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
62812         was not found in libc.
62813         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
62814
62815 2007-05-20  Bruno Haible  <bruno@clisp.org>
62816
62817         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62818         printed as "-nan" instead of "nan".
62819         * tests/test-vasprintf-posix.c (test_function): Likewise.
62820         * tests/test-snprintf-posix.h (test_function): Likewise.
62821         * tests/test-sprintf-posix.h (test_function): Likewise.
62822         Needed for HP-UX 11.
62823
62824 2007-05-20  Jim Meyering  <jim@meyering.net>
62825
62826         Fix buggy test for the fchownat-deref bug.
62827         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
62828         symlink required for the run-test.  Without it, this test would
62829         always declare that fchownat doesn't work, and client code would
62830         unnecessarily use the replacement function with fixed libc.
62831         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
62832         Reported by Greg Schafer.
62833
62834 2007-05-19  Bruno Haible  <bruno@clisp.org>
62835
62836         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
62837         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
62838         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
62839         Needed for IRIX 6.5 and Solaris 2.5.1.
62840
62841 2007-05-19  Bruno Haible  <bruno@clisp.org>
62842
62843         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
62844         (test_function): Skip tests involving -0.0 on platforms where
62845         -0.0 = 0.0.
62846         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
62847         (test_function): Skip tests involving -0.0 on platforms where
62848         -0.0 = 0.0.
62849         * tests/test-snprintf-posix.h (have_minus_zero): New function.
62850         (test_function): Skip tests involving -0.0 on platforms where
62851         -0.0 = 0.0.
62852         * tests/test-sprintf-posix.h (have_minus_zero): New function.
62853         (test_function): Skip tests involving -0.0 on platforms where
62854         -0.0 = 0.0.
62855         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
62856         tests.
62857         * tests/test-printf-posix.h (test_function): Likewise.
62858         * tests/test-printf-posix.output: Remove all -0.0 related results.
62859         Needed for IRIX 6.5.
62860
62861 2007-05-19  Bruno Haible  <bruno@clisp.org>
62862
62863         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62864         printed as "nan0x7fffffff" instead of "nan".
62865         * tests/test-vasprintf-posix.c (test_function): Likewise.
62866         * tests/test-snprintf-posix.h (test_function): Likewise.
62867         * tests/test-sprintf-posix.h (test_function): Likewise.
62868         * tests/test-fprintf-posix.h (NaN): Remove macro.
62869         (test_function): Remove all NaN related tests.
62870         * tests/test-printf-posix.h (NaN): Remove macro.
62871         (test_function): Remove all NaN related tests.
62872         * tests/test-printf-posix.output: Remove all NaN related results.
62873         Needed for IRIX 6.5.
62874
62875 2007-05-19  Bruno Haible  <bruno@clisp.org>
62876
62877         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
62878         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62879
62880 2007-05-19  Bruno Haible  <bruno@clisp.org>
62881
62882         * lib/float_.h: New file.
62883         * m4/float_h.m4: New file.
62884         * modules/float: New file.
62885         * modules/isnanl (Dependencies): Add float.
62886         * modules/isnanl-nolibm (Dependencies): Likewise.
62887         * modules/mathl (Dependencies): Likewise.
62888         * modules/printf-frexpl (Dependencies): Likewise.
62889         * modules/signbit (Dependencies): Likewise.
62890         * modules/vasnprintf (Dependencies): Likewise.
62891         * doc/headers/float.texi: Update.
62892
62893 2007-05-19  Jim Meyering  <jim@meyering.net>
62894
62895         * lib/utimens.c (gl_futimens): Rename from futimens,
62896         now that glibc-2.6 declares futimens.
62897         * lib/utimens.h: Likewise.
62898
62899 2007-05-19  Bruno Haible  <bruno@clisp.org>
62900
62901         Avoid test failures on mingw.
62902         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
62903         * tests/test-printf-posix.sh: Likewise.
62904         * tests/test-vfprintf-posix.sh: Likewise.
62905         * tests/test-vprintf-posix.sh: Likewise.
62906
62907 2007-05-19  Bruno Haible  <bruno@clisp.org>
62908
62909         Fix *printf result for NaN, Inf, -0.0 on mingw.
62910         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
62911         * lib/vasnprintf.c: Include math.h and isnan.h.
62912         (is_infinite_or_zero): New function.
62913         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
62914         values in the %f, %F, %e, %E, %g, %G directives.
62915         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
62916         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62917         gl_PRINTF_INFINITE and test its result. Invoke
62918         gl_PREREQ_VASNPRINTF_INFINITE.
62919         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62920         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62921         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62922         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62923         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62924         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62925         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62926         * doc/functions/fprintf.texi: Update.
62927         * doc/functions/printf.texi: Update.
62928         * doc/functions/snprintf.texi: Update.
62929         * doc/functions/sprintf.texi: Update.
62930         * doc/functions/vfprintf.texi: Update.
62931         * doc/functions/vprintf.texi: Update.
62932         * doc/functions/vsnprintf.texi: Update.
62933         * doc/functions/vsprintf.texi: Update.
62934
62935 2007-05-19  Bruno Haible  <bruno@clisp.org>
62936
62937         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
62938         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
62939         Instead of multiplying with 10^k, set extra_zeroes to k.
62940         (scale10_round_long_double): Remove function.
62941
62942 2007-05-18  Bruno Haible  <bruno@clisp.org>
62943
62944         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
62945         introduced on 2007-05-06.
62946
62947 2007-05-18  Bruno Haible  <bruno@clisp.org>
62948
62949         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
62950         %g directives.
62951         * tests/test-vasprintf-posix.c (test_function): Likewise.
62952         * tests/test-snprintf-posix.h (test_function): Likewise.
62953         * tests/test-sprintf-posix.h (test_function): Likewise.
62954
62955 2007-05-18  Bruno Haible  <bruno@clisp.org>
62956
62957         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
62958         (strmatch): New function.
62959         (test_function): Test the %f directive on numbers of various exponents.
62960         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
62961         (strmatch): New function.
62962         (test_function): Test the %f directive on numbers of various exponents.
62963         * tests/test-snprintf-posix.h (strmatch): New function.
62964         (test_function): Test the %f directive on numbers of various exponents.
62965         * tests/test-sprintf-posix.h (strmatch): New function.
62966         (test_function): Test the %f directive on numbers of various exponents.
62967         * tests/test-snprintf-posix.c (SIZEOF): New macro.
62968         * tests/test-sprintf-posix.c (SIZEOF): New macro.
62969         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
62970         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
62971
62972 2007-05-18  Bruno Haible  <bruno@clisp.org>
62973
62974         Add support for 'long double' number output.
62975         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
62976         * lib/vasnprintf.c: Include math.h and float+.h.
62977         (mp_limb_t): New type.
62978         (GMP_LIMB_BITS): New macro.
62979         (mp_twolimb_t): New type.
62980         (GMP_TWOLIMB_BITS): New macro.
62981         (mpn_t): New type.
62982         (multiply, divide, convert_to_decimal, decode_long_double,
62983         scale10_round_long_double, scale10_round_decimal_long_double,
62984         floorlog10l): New functions.
62985         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
62986         for the %f, %F, %e, %E, %g, %G directives.
62987         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
62988         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62989         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
62990         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
62991         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62992         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62993         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62994         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62995         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62996         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62997         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62998         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
62999         * modules/snprintf-posix (Depends-on): Likewise.
63000         * modules/sprintf-posix (Depends-on): Likewise.
63001         * modules/vasnprintf-posix (Depends-on): Likewise.
63002         * modules/vasprintf-posix (Depends-on): Likewise.
63003         * modules/vfprintf-posix (Depends-on): Likewise.
63004         * modules/vsnprintf-posix (Depends-on): Likewise.
63005         * modules/vsprintf-posix (Depends-on): Likewise.
63006         * modules/vasnprintf (Files): Add lib/float+.h.
63007         * doc/functions/fprintf.texi: Update.
63008         * doc/functions/printf.texi: Update.
63009         * doc/functions/snprintf.texi: Update.
63010         * doc/functions/sprintf.texi: Update.
63011         * doc/functions/vfprintf.texi: Update.
63012         * doc/functions/vprintf.texi: Update.
63013         * doc/functions/vsnprintf.texi: Update.
63014         * doc/functions/vsprintf.texi: Update.
63015
63016 2007-05-18  Bruno Haible  <bruno@clisp.org>
63017
63018         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63019
63020 2007-05-18  Bruno Haible  <bruno@clisp.org>
63021
63022         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63023         for printing 64-bit integers. Needed for mingw.
63024
63025 2007-05-18  Bruno Haible  <bruno@clisp.org>
63026
63027         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63028         gl_FUNC_FREXPL_WORKS.
63029         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63030
63031 2007-05-18  Bruno Haible  <bruno@clisp.org>
63032
63033         * modules/frexpl-nolibm-tests: New file.
63034
63035         * modules/frexpl-nolibm: New file.
63036         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63037
63038 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63039
63040         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63041         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63042         GCC 4.2, which otherwise issues a lot of warnings.
63043         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63044         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63045         Likewise.
63046         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63047         * modules/iconv_open (iconv.h): Likewise.
63048         * modules/locale (locale.h): Likewise.
63049         * modules/netinet_in (netinet/in.h): Likewise.
63050         * modules/sys_select (sys_select.h): Likewise.
63051         * modules/sys_socket (sys/socket.h): Likewise.
63052         * modules/sys_stat (sys/stat.h): Likewise.
63053         * modules/sysexits (sysexits.h): Likewise.
63054         * modules/unistd (unistd.h): Likewise.
63055
63056 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63057
63058         * modules/closein-tests (Makefile.am): Distribute
63059         `test-closein.sh'.
63060
63061 2007-05-17  Bruno Haible  <bruno@clisp.org>
63062
63063         * tests/test-printf-posix.output: Renamed from
63064         tests/test-fprintf-posix.out.
63065         * modules/fprintf-posix-tests: Update.
63066         * modules/printf-posix-tests: Update.
63067         * modules/vfprintf-posix-tests: Update.
63068         * modules/vprintf-posix-tests: Update.
63069         * tests/test-fprintf-posix.sh: Update.
63070         * tests/test-printf-posix.sh: Update.
63071         * tests/test-vfprintf-posix.sh: Update.
63072         * tests/test-vprintf-posix.sh: Update.
63073         Reported by Ralf Wildenhues.
63074
63075 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63076
63077         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63078         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63079         GCC 4.2, which otherwise issues a lot of warnings.
63080         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63081         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63082         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63083         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63084         it should no longer be needed.
63085         * lib/string_.h: Likewise.
63086         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63087         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63088         * modules/inttypes (inttypes.h): Likewise.
63089         * modules/math (math.h): Likewise.
63090         * modules/search (search.h): Likewise.
63091         * modules/signal (signal.h): Likewise.
63092         * modules/stdint (stdint.h): Likewise.
63093         * modules/stdio (stdio.h): Likewise.
63094         * modules/stdlib (stdlib.h): Likewise.
63095         * modules/string (string.h): Likewise.
63096         * modules/sys_time (sys/time.h): Likewise.
63097         * modules/time (time.h): Likewise.
63098         * modules/wchar (wchar.h): Likewise.
63099         * modules/wctype (wtype.h): Likewise.
63100
63101 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63102
63103         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63104
63105 2007-05-13  Bruno Haible  <bruno@clisp.org>
63106
63107         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63108         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63109         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63110         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63111         (gl_PREREQ_STRTOK_R): Don't require it here.
63112
63113 2007-05-13  Bruno Haible  <bruno@clisp.org>
63114
63115         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63116         when used in C++ mode.
63117
63118 2007-05-12  Bruno Haible  <bruno@clisp.org>
63119
63120         * lib/linebuffer.h: Tweak doc.
63121         * lib/linebuffer.c: Likewise.
63122
63123 2007-05-12  James Youngman  <jay@gnu.org>
63124
63125         * lib/linebuffer.c (readlinebuffer_delim): New function,
63126         like readlinebuffer, but use a caller-specified delimiter.
63127         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63128         as the delimiter.
63129         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63130
63131 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63132
63133         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63134         * modules/openat (Files): Remove openat-die.c.
63135         (Depends-on): Add openat-die.
63136         * modules/openat-die: New module.
63137
63138 2007-05-06  Bruno Haible  <bruno@clisp.org>
63139
63140         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63141         Update with info about Cygwin.
63142         * doc/functions/fprintf.texi: Update.
63143         * doc/functions/printf.texi: Update.
63144         * doc/functions/snprintf.texi: Update.
63145         * doc/functions/sprintf.texi: Update.
63146         * doc/functions/vfprintf.texi: Update.
63147         * doc/functions/vprintf.texi: Update.
63148         * doc/functions/vsnprintf.texi: Update.
63149         * doc/functions/vsprintf.texi: Update.
63150         Reported by Eric Blake.
63151
63152 2007-05-06  Bruno Haible  <bruno@clisp.org>
63153
63154         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
63155         padding ourselves for the floating-point directives.
63156         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
63157         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
63158         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63159         gl_PRINTF_FLAG_ZERO and test its result. Invoke
63160         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
63161         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63162         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63163         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63164         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63165         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63166         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63167         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63168         * tests/test-snprintf-posix.h (test_function): Also check the width
63169         and some flags in the %f directive.
63170         * tests/test-sprintf-posix.h (test_function): Likewise.
63171         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63172         * tests/test-vasprintf-posix.c (test_function): Likewise.
63173         * doc/functions/fprintf.texi: Update.
63174         * doc/functions/printf.texi: Update.
63175         * doc/functions/snprintf.texi: Update.
63176         * doc/functions/sprintf.texi: Update.
63177         * doc/functions/vfprintf.texi: Update.
63178         * doc/functions/vprintf.texi: Update.
63179         * doc/functions/vsnprintf.texi: Update.
63180         * doc/functions/vsprintf.texi: Update.
63181
63182 2007-05-06  Bruno Haible  <bruno@clisp.org>
63183
63184         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63185         pass the ' flag character to sprintf or snprintf.
63186         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63187         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
63188         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63189         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
63190         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
63191         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63192         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63193         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63194         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63195         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63196         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63197         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63198         * tests/test-snprintf-posix.h (test_function): Also check the grouping
63199         flag.
63200         * tests/test-sprintf-posix.h (test_function): Likewise.
63201         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63202         * tests/test-vasprintf-posix.c (test_function): Likewise.
63203         * doc/functions/fprintf.texi: Update.
63204         * doc/functions/printf.texi: Update.
63205         * doc/functions/snprintf.texi: Update.
63206         * doc/functions/sprintf.texi: Update.
63207         * doc/functions/vfprintf.texi: Update.
63208         * doc/functions/vprintf.texi: Update.
63209         * doc/functions/vsnprintf.texi: Update.
63210         * doc/functions/vsprintf.texi: Update.
63211
63212 2007-05-01  Bruno Haible  <bruno@clisp.org>
63213
63214         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
63215
63216 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
63217
63218         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
63219         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
63220
63221 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63222
63223         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
63224         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
63225         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
63226
63227 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
63228
63229         * lib/argp-help.c (struct hol_entry): New member `ord'.
63230         (HOL_ENTRY_PTRCMP): Use ord for comparison
63231         (hol_sort): Initialize ord.
63232
63233 2007-05-01  Bruno Haible  <bruno@clisp.org>
63234
63235         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
63236         Reported by Eric Blake.
63237         * doc/gnulib.texi (Function Substitutes): Update.
63238
63239 2007-05-01  Bruno Haible  <bruno@clisp.org>
63240
63241         * doc/functions.texi: Remove file, now redundant through
63242         doc/functions/*.texi.
63243
63244 2007-05-01  Bruno Haible  <bruno@clisp.org>
63245
63246         * modules/argp (Depends-on): Add sleep.
63247
63248 2007-05-01  Bruno Haible  <bruno@clisp.org>
63249
63250         * modules/sleep-tests: New file.
63251         * tests/test-sleep.c: New file.
63252
63253         * modules/sleep: New file.
63254         * lib/sleep.c: New file.
63255         * m4/sleep.m4: New file.
63256         * lib/unistd_.h (sleep): New declaration.
63257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
63258         HAVE_SLEEP.
63259         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
63260         * doc/functions/sleep.texi: Document the sleep module.
63261
63262 2007-05-01  Bruno Haible  <bruno@clisp.org>
63263
63264         * lib/sigprocmask.h: Remove file.
63265         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
63266         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
63267         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
63268         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
63269         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
63270         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
63271         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
63272         HAVE_SIGSET_T as a shell variable.
63273         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
63274         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
63275         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
63276         (Depends-on): Add signal. Remove verify.
63277         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
63278         (Include): Mention <signal.h> instead of sigprocmask.h.
63279         * NEWS: Mention the change.
63280         * lib/fatal-signal.c: Don't include sigprocmask.h.
63281
63282 2007-05-01  Bruno Haible  <bruno@clisp.org>
63283
63284         * modules/signal: New file.
63285         * lib/signal_.h: New file.
63286         * m4/signal_h.m4: New file.
63287
63288 2007-05-01  Bruno Haible  <bruno@clisp.org>
63289
63290         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
63291         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
63292         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
63293         HAVE_WCTYPE_CTMP_BUG into wctype.h.
63294
63295 2007-05-01  Bruno Haible  <bruno@clisp.org>
63296
63297         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
63298         configure time.
63299         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
63300         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
63301         * modules/sys_stat (Makefile.am): Substitute their values into
63302         sys/stat.h.
63303
63304 2007-05-01  Bruno Haible  <bruno@clisp.org>
63305
63306         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
63307         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
63308         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
63309
63310 2007-05-01  Bruno Haible  <bruno@clisp.org>
63311
63312         * doc/header/assert.texi: Undo last change: don't mention the gnulib
63313         'assert' module here.
63314
63315 2007-05-01  Bruno Haible  <bruno@clisp.org>
63316
63317         * doc/functions/*.texi: New files.
63318         * doc/functions/google-ranking.txt: New file.
63319         * doc/gnulib.texi (Function Substitutes): New chapter.
63320         (ctime, inet_ntoa): Remove sections.
63321         * doc/ctime.texi: Remove file.
63322         * doc/inet_ntoa.texi: Remove file.
63323         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
63324         dependencies.
63325         (%.info): New rule, specifying a --reference-limit.
63326
63327 2007-05-01  Bruno Haible  <bruno@clisp.org>
63328
63329         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
63330
63331 2007-05-01  Bruno Haible  <bruno@clisp.org>
63332
63333         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
63334         the portability of 'mkdir' to mingw systems.
63335
63336 2007-05-01  Bruno Haible  <bruno@clisp.org>
63337
63338         * doc/headers/google-ranking.txt: New file.
63339
63340 2007-04-30  Eric Blake  <ebb9@byu.net>
63341
63342         Prefer fseeko to fseek.
63343         * modules/getpass (Depends-on): Add fseeko.
63344         * lib/getpass.c (getpass): Use fseeko, not fseek.
63345
63346 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
63347
63348         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
63349         assumes the sorting is stable, while most qsort implementations
63350         are not.  Use argument addresses to ensure they never compare as
63351         equal.
63352
63353         * tests/test-argp-2.sh (usage-indent test): Fix output
63354         (func_compare): Restore diff options
63355         * tests/test-argp.c: Restore #include "progname.h"
63356
63357 2007-04-29  Bruno Haible  <bruno@clisp.org>
63358
63359         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
63360         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63361         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
63362         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63363         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
63364         (configure.ac): Define CHECK_SNPRINTF_POSIX.
63365         (TESTS, check_PROGRAMS): Add test-snprintf.
63366         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
63367         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
63368         (TESTS, check_PROGRAMS): Add test-vsnprintf.
63369         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
63370         assertions that fail on HP-UX, OSF/1, or IRIX.
63371         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
63372
63373 2007-04-29  Bruno Haible  <bruno@clisp.org>
63374
63375         * MODULES.html.sh (posix_functions): Remove 'contents'.
63376
63377 2007-04-29  Karl Berry  <karl@gnu.org>
63378
63379         * config/srclist.txt (gendocs_template_min): new entry.
63380
63381 2007-04-29  Bruno Haible  <bruno@clisp.org>
63382
63383         Work around fpurge bug on BSD systems.
63384         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
63385         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
63386         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
63387         fpurge to rpl_fpurge if the system already has this function.
63388         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
63389         the case where the system already has this function. Correct invariants
63390         on BSD systems.
63391         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
63392         BSD systems.
63393
63394 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
63395
63396         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
63397         proposed by Sven Verdoolaege.
63398
63399         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
63400         options.
63401         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
63402         (usage and help tests): Update
63403
63404 2007-04-29  Bruno Haible  <bruno@clisp.org>
63405
63406         * tests/test-fflush.c (main): Use a file of size 17, not 10.
63407         Print more information in case of failure. Disable a test on BeOS.
63408
63409 2007-04-29  Bruno Haible  <bruno@clisp.org>
63410
63411         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
63412         This helps debugging on systems on which no gdb is available.
63413
63414 2007-04-29  Bruno Haible  <bruno@clisp.org>
63415
63416         * lib/freading.h: Improve comments.
63417         * lib/fwriting.h: Likewise.
63418         * tests/test-freading.c (main): Don't check freading immediately after
63419         repositioning. Needed for glibc.
63420
63421 2007-04-29  Bruno Haible  <bruno@clisp.org>
63422
63423         * lib/freading.c (freading): Trivial simplification.
63424
63425 2007-04-28  Bruno Haible  <bruno@clisp.org>
63426
63427         * tests/test-fwriting.c (main): Also test the interaction between
63428         fflush and fwriting.
63429         * modules/fwriting-tests (Depends-on): Add fflush.
63430
63431         * tests/test-freading.c (main): Also test the interaction between
63432         fflush and freading.
63433         * modules/freading-tests (Depends-on): Add fflush.
63434
63435 2007-04-28  Bruno Haible  <bruno@clisp.org>
63436
63437         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
63438         fseeko and ftello.
63439         Suggested by Eric Blake.
63440
63441 2007-04-28  Jim Meyering  <jim@meyering.net>
63442
63443         Avoid false-negative in gl_STDINT_H's C99 conformance test.
63444         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
63445         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
63446
63447 2007-04-27  Eric Blake  <ebb9@byu.net>
63448
63449         * doc/headers/assert.texi (assert.h): Document assert module use.
63450
63451 2007-04-27  Bruno Haible  <bruno@clisp.org>
63452
63453         * doc/headers/*.texi: New files.
63454         * doc/gnulib.texi (Header File Substitutes): New chapter.
63455         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
63456         dependencies.
63457         (standards.info ,standards.html, standards.dvi): Update dependencies.
63458         (mostlyclean, clean): New targets.
63459
63460 2007-04-27  Bruno Haible  <bruno@clisp.org>
63461
63462         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
63463         * modules/sysexits (Files, Makefile.am): Update.
63464
63465         * lib/sys_socket_.h: Renamed from lib/socket_.h.
63466         * modules/sys_socket (Files, Makefile.am): Update.
63467
63468         * lib/sys_stat_.h: Renamed from lib/stat_.h.
63469         * modules/sys_stat (Files, Makefile.am): Update.
63470
63471 2007-04-27  Eric Blake  <ebb9@byu.net>
63472
63473         * lib/freading.h: Improve comments.
63474         * lib/fwriting.h: Likewise.
63475         * lib/fflush.c: Likewise.
63476
63477         Fix closein for mingw.
63478         * modules/closein-tests: Add tests for closein.
63479         * tests/test-closein.c: New file.
63480         * tests/test-closein.sh: Likewise.
63481         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
63482         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
63483
63484 2007-04-27  Bruno Haible  <bruno@clisp.org>
63485
63486         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
63487         version is < 6.
63488         * lib/math_.h [__DECC]: Likewise.
63489         * lib/stdio_.h [__DECC]: Likewise.
63490         * lib/stdlib_.h [__DECC]: Likewise.
63491         * lib/string_.h [__DECC]: Likewise.
63492         * lib/time_.h [__DECC]: Likewise.
63493         * lib/wchar_.h [__DECC]: Likewise.
63494         * lib/wctype_.h [__DECC]: Likewise.
63495
63496 2007-04-27  Bruno Haible  <bruno@clisp.org>
63497
63498         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
63499
63500 2007-04-27  Bruno Haible  <bruno@clisp.org>
63501
63502         * lib/fflush.c: Add comments.
63503         * modules/fpurge-tests (Depends-on): Add fflush.
63504         * modules/freadable-tests (Depends-on): Likewise.
63505         * modules/fwritable-tests (Depends-on): Likewise.
63506
63507 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
63508
63509         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
63510         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
63511         Report by Bruno Haible <bruno@clisp.org>.
63512
63513 2007-04-26  Eric Blake  <ebb9@byu.net>
63514
63515         Fix fflush on mingw.
63516         * modules/fflush (Depends-on): Add freading.
63517         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
63518         but unread data.
63519
63520 2007-04-26  Eric Blake  <ebb9@byu.net>
63521         and Bruno Haible  <bruno@clisp.org>
63522
63523         Implement freading and fwriting.
63524         * lib/freading.c: New file.
63525         * lib/freading.h: Likewise.
63526         * m4/freading.m4: Likewise.
63527         * modules/freading: Likewise.
63528         * modules/freading-tests: Likewise.
63529         * tests/test-freading.c: Likewise.
63530         * lib/fwriting.c: New file.
63531         * lib/fwriting.h: Likewise.
63532         * m4/fwriting.m4: Likewise.
63533         * modules/fwriting: Likewise.
63534         * modules/fwriting-tests: Likewise.
63535         * tests/test-fwriting.c: Likewise.
63536         * MODULES.html.sh (File stream based Input/Output): Mention them.
63537
63538 2007-04-26  Bruno Haible  <bruno@clisp.org>
63539
63540         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
63541         'long' when we assume it.
63542         Suggested by Eric Blake.
63543
63544 2007-04-26  Bruno Haible  <bruno@clisp.org>
63545
63546         Ensure fseeko, ftello are declared on glibc systems.
63547         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
63548         * modules/fseeko (configure.ac-early): Likewise.
63549         * modules/ftello (configure.ac-early): Likewise.
63550         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
63551         AC_FUNC_FSEEKO for this.
63552         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
63553         (gl_CHECK_FSEEKO): Remove macro.
63554
63555 2007-04-26  Bruno Haible  <bruno@clisp.org>
63556
63557         * tests/test-fflush.c (main): Also check the ftell result after
63558         fflush and fseek/fseeko.
63559         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
63560         file descriptor position cache in the stream.
63561         * lib/fseeko.c (rpl_fseeko): Likewise.
63562
63563 2007-04-26  Bruno Haible  <bruno@clisp.org>
63564
63565         * modules/fflush-tests (Depends-on): Add fseeko.
63566
63567 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
63568             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63569
63570         * lib/argz_.h: ensure error_t definition is obtained in same
63571         mechanism system argz.h would have.
63572         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
63573         argz facilities are known bad.  Err on the side of caution if
63574         cross-compiling.
63575
63576 2007-04-25  Eric Blake  <ebb9@byu.net>
63577
63578         * lib/fpurge.c (includes): Use stdlib.h for free.
63579         * tests/test-fflush.c (main): Also test fflush-fseeko.
63580
63581 2007-04-25  Bruno Haible  <bruno@clisp.org>
63582
63583         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
63584         * lib/fseeko.c: New file.
63585         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
63586         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
63587         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
63588         gl_FUNC_FSEEKO.
63589         (gl_FUNC_FSEEKO): Invoke it.
63590         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
63591         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
63592         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
63593
63594 2007-04-25  Bruno Haible  <bruno@clisp.org>
63595
63596         * modules/fflush (Depends-on): Add ftello.
63597
63598 2007-04-25  Bruno Haible  <bruno@clisp.org>
63599
63600         * modules/ftello-tests: New file.
63601         * tests/test-ftello.c: New file.
63602
63603         * modules/ftello: New file.
63604         * m4/ftello.m4: New file.
63605         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
63606         HAVE_FTELLO.
63607         * lib/stdio_.h (ftello): New declaration.
63608         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
63609         HAVE_FTELLO.
63610
63611 2007-04-25  Bruno Haible  <bruno@clisp.org>
63612
63613         * modules/fseeko-tests: New file.
63614         * tests/test-fseeko.c: New file.
63615
63616         * modules/fseeko: New file.
63617         * m4/fseeko.m4: New file.
63618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
63619         HAVE_FSEEKO.
63620         * lib/stdio_.h (fseeko): New declaration.
63621         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
63622         HAVE_FSEEKO.
63623
63624 2007-04-25  Bruno Haible  <bruno@clisp.org>
63625
63626         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
63627
63628 2007-04-25  Bruno Haible  <bruno@clisp.org>
63629
63630         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
63631         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
63632         * tests/test-unistd.c: Likewise.
63633         * tests/test-fcntl.c: Likewise.
63634
63635 2007-04-23  Eric Blake  <ebb9@byu.net>
63636
63637         * lib/fflush.c: Fix missing include.
63638         Reported by Bruno Haible.
63639
63640 2007-04-23  Bruno Haible  <bruno@clisp.org>
63641
63642         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
63643         Reported by Eric Blake.
63644
63645 2007-04-23  Bruno Haible  <bruno@clisp.org>
63646
63647         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
63648
63649 2007-04-23  Bruno Haible  <bruno@clisp.org>
63650
63651         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
63652
63653 2007-04-23  Bruno Haible  <bruno@clisp.org>
63654
63655         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
63656         Needed on HP-UX 11.
63657
63658 2007-04-16  Eric Blake  <ebb9@byu.net>
63659
63660         Make fflush rely on fpurge.
63661         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
63662         open coding all variants.
63663         * modules/fflush (Depends-on): Add fpurge and unistd.
63664         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
63665         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
63666
63667         Fix --with-tests compilation on cygwin.
63668         * modules/argmatch-tests (Makefile.am): List gnulib library first
63669         in LDADD.
63670         * modules/argp-tests (Makefile.am): Likewise.
63671         * modules/array-list-tests (Makefile.am): Likewise.
63672         * modules/array-oset-tests (Makefile.am): Likewise.
63673         * modules/avltree-list-tests (Makefile.am): Likewise.
63674         * modules/avltree-oset-tests (Makefile.am): Likewise.
63675         * modules/avltreehash-list-tests (Makefile.am): Likewise.
63676         * modules/carray-list-tests (Makefile.am): Likewise.
63677         * modules/dirname-tests (Makefile.am): Likewise.
63678         * modules/frexp-tests (Makefile.am): Likewise.
63679         * modules/isnanl-tests (Makefile.am): Likewise.
63680         * modules/linked-list-tests (Makefile.am): Likewise.
63681         * modules/linkedhash-list-tests (Makefile.am): Likewise.
63682         * modules/lock-tests (Makefile.am): Likewise.
63683         * modules/rbtree-list-tests (Makefile.am): Likewise.
63684         * modules/rbtree-oset-tests (Makefile.am): Likewise.
63685         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
63686         * modules/tls-tests (Makefile.am): Likewise.
63687         * modules/tsearch-tests (Makefile.am): Likewise.
63688         * modules/xvasprintf-tests (Makefile.am): Likewise.
63689
63690         Fix fpurge for cygwin.
63691         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
63692         value.
63693         * modules/fpurge-tests (Depends-on): Clean up trash.
63694
63695 2007-04-16  Simon Josefsson  <simon@josefsson.org>
63696
63697         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
63698
63699         * m4/autobuild.m4: Re-indent.
63700
63701 2007-04-13  Bruno Haible  <bruno@clisp.org>
63702
63703         * modules/fpurge-tests: New file.
63704         * tests/test-fpurge.c: New file.
63705
63706         * modules/fpurge: New file.
63707         * lib/fpurge.h: New file.
63708         * lib/fpurge.c: New file.
63709         * m4/fpurge.m4: New file.
63710
63711 2007-04-13  Bruno Haible  <bruno@clisp.org>
63712
63713         * modules/fbufmode-tests: New file.
63714         * tests/test-fbufmode.c: New file.
63715
63716         * modules/fbufmode: New file.
63717         * lib/fbufmode.h: New file.
63718         * lib/fbufmode.c: New file.
63719         * m4/fbufmode.m4: New file.
63720
63721 2007-04-13  Bruno Haible  <bruno@clisp.org>
63722
63723         * modules/fwritable-tests: New file.
63724         * tests/test-fwritable.c: New file.
63725
63726         * modules/fwritable: New file.
63727         * lib/fwritable.h: New file.
63728         * lib/fwritable.c: New file.
63729         * m4/fwritable.m4: New file.
63730
63731 2007-04-13  Bruno Haible  <bruno@clisp.org>
63732
63733         * modules/freadable-tests: New file.
63734         * tests/test-freadable.c: New file.
63735
63736         * modules/freadable: New file.
63737         * lib/freadable.h: New file.
63738         * lib/freadable.c: New file.
63739         * m4/freadable.m4: New file.
63740
63741 2007-04-13  Bruno Haible  <bruno@clisp.org>
63742
63743         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
63744         MOSTLYCLEANFILES.
63745
63746 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63747
63748         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
63749         gzip bootstrap.conf to avoid dragging in i18n machinery.
63750         (gnulib_tool_option): Use it.
63751
63752 2007-04-13  Bruno Haible  <bruno@clisp.org>
63753
63754         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
63755         %F directives.
63756         * tests/test-vasprintf-posix.c (test_function): Likewise.
63757         * tests/test-snprintf-posix.h (test_function): Likewise.
63758         * tests/test-sprintf-posix.h (test_function): Likewise.
63759         * tests/test-fprintf-posix.h (test_function): Likewise.
63760         * tests/test-printf-posix.h (test_function): Likewise.
63761         * tests/test-fprintf-posix.out: Likewise.
63762
63763 2007-04-13  Bruno Haible  <bruno@clisp.org>
63764
63765         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
63766         * modules/tls-tests (configure.ac): Likewise.
63767         Reported by Arto C. Nirkko <anirkko@insel.ch>.
63768
63769 2007-04-13  Bruno Haible  <bruno@clisp.org>
63770
63771         * lib/tls.c (glthread_tls_get): Fix return type.
63772         Patch by Arto C. Nirkko <anirkko@insel.ch>.
63773
63774 2007-04-12  Eric Blake  <ebb9@byu.net>
63775
63776         * modules/gettime (Depends-on): Remove gettime.
63777         Reported by Dmitry V. Levin.
63778
63779 2007-04-12  Bruno Haible  <bruno@clisp.org>
63780
63781         * modules/fflush (Include): Mention <stdio.h>.
63782         * modules/strtoimax (Include): Mention <inttypes.h>.
63783         * modules/strtoumax (Include): Likewise.
63784
63785 2007-04-12  Eric Blake  <ebb9@byu.net>
63786
63787         * .cvsignore: New file.
63788         * .gitignore: Likewise.
63789
63790 2007-04-12  Bruno Haible  <bruno@clisp.org>
63791
63792         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
63793         not before, since $(LDADD) often contains libgnu.a.
63794         * modules/striconv-tests (test_striconv_LDADD): Likewise.
63795         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
63796         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
63797         Needed on Cygwin.
63798
63799 2007-04-12  Eric Blake  <ebb9@byu.net>
63800
63801         Work around glibc's failure to flush stdin on fclose.
63802         * lib/closein.c (close_stdin): Flush stdin before closing.
63803
63804         Work around glibc's failure to reset seekable stdin on exit.
63805         * modules/closein: New module.
63806         * lib/closein.c: New file.
63807         * lib/closein.h: Likewise.
63808         * m4/closein.m4: Likewise.
63809         * MODULES.html.sh (File stream based Input/Output): Document it.
63810
63811 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63812
63813         * gnulib-tool: Rename generated 'autobuild' script to
63814         'do-autobuild' in --create-megatestdir output.
63815
63816         * doc/gnulib.texi (Build robot for gnulib): Fix.
63817
63818 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63819
63820         * modules/sysexits (Depends-on): Add absolute-header.
63821
63822 2007-04-12  Eric Blake  <ebb9@byu.net>
63823
63824         No need to preserve errno on success.
63825         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
63826         Reported by Bruno Haible.
63827
63828 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63829
63830         * MODULES.html.sh (Support for maintaining and releasing
63831         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
63832
63833 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63834
63835         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
63836
63837 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63838
63839         * modules/autobuild: New module.
63840
63841         * m4/autobuild.m4: New file.
63842
63843 2007-04-11  Bruno Haible  <bruno@clisp.org>
63844
63845         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
63846         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
63847         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
63848         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
63849         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63850         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63851         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63852         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63853         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63854         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63855         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
63856         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63857         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63858         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
63859         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63860         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63861         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
63862         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63863         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63864         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
63865         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63866         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63867         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
63868         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63869         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63870         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
63871         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63872         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63873         Reported by Eric Blake.
63874
63875 2007-04-11  Bruno Haible  <bruno@clisp.org>
63876
63877         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
63878
63879 2007-04-10  Bruno Haible  <bruno@clisp.org>
63880
63881         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
63882         for NaN and Infinity. Needed on FreeBSD 6.1.
63883         * tests/test-vasnprintf-posix.c (test_function): Undo last change
63884         regarding results for "%010a" of Infinity and NaN.
63885         * tests/test-vasprintf-posix.c (test_function): Likewise.
63886         * tests/test-snprintf-posix.h (test_function): Likewise.
63887         * tests/test-sprintf-posix.h (test_function): Likewise.
63888         * tests/test-fprintf-posix.h (test_function): Likewise.
63889         * tests/test-printf-posix.h (test_function): Likewise.
63890         * tests/test-fprintf-posix.out: Likewise.
63891
63892 2007-04-10  Bruno Haible  <bruno@clisp.org>
63893
63894         * modules/locale-tests: New file.
63895         * tests/test-locale.c: New file.
63896
63897         * modules/locale: New file.
63898         * lib/locale_.h: New file.
63899         * m4/locale_h.m4: New file.
63900
63901 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
63902             Bruno Haible  <bruno@clisp.org>
63903
63904         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
63905         be determined, test for availability of the copysignf, copysign,
63906         copysignl functions.
63907         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
63908         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
63909         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
63910
63911 2007-04-09  Eric Blake  <ebb9@byu.net>
63912
63913         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
63914         * modules/stdio (Makefile.am): Support fflush.
63915         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63916         * modules/fflush: New file.
63917         * lib/fflush.c: Likewise.
63918         * m4/fflush.m4: Likewise.
63919         * modules/fflush-tests: New test.
63920         * tests/test-fflush.c: Likewise.
63921         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
63922
63923 2007-04-06  Bruno Haible  <bruno@clisp.org>
63924
63925         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
63926         (VASNPRINTF): Use signbit for faster determination whether to print a
63927         minus sign.
63928         * modules/vasnprintf (Files): Remove lib/float+.h.
63929         * modules/fprintf-posix (Depends-on): Add signbit.
63930         * modules/snprintf-posix (Depends-on): Likewise.
63931         * modules/sprintf-posix (Depends-on): Likewise.
63932         * modules/vasnprintf-posix (Depends-on): Likewise.
63933         * modules/vasprintf-posix (Depends-on): Likewise.
63934         * modules/vfprintf-posix (Depends-on): Likewise.
63935         * modules/vsnprintf-posix (Depends-on): Likewise.
63936         * modules/vsprintf-posix (Depends-on): Likewise.
63937
63938 2007-04-06  Bruno Haible  <bruno@clisp.org>
63939
63940         * tests/test-frexp.c (main): Test also the sign bit of zero results.
63941         * tests/test-frexpl.c (main): Likewise.
63942         * tests/test-ldexpl.c (main): Likewise.
63943         * modules/frexp-tests (Depends-on): Add signbit.
63944         * modules/frexpl-tests (Depdends-on): Likewise.
63945         * modules/ldexpl-tests (Depdends-on): Likewise.
63946
63947 2007-04-06  Bruno Haible  <bruno@clisp.org>
63948
63949         * modules/signbit-tests: New file.
63950         * tests/test-signbit.c: New file.
63951
63952         * modules/signbit: New file.
63953         * lib/signbitf.c: New file.
63954         * lib/signbitd.c: New file.
63955         * lib/signbitl.c: New file.
63956         * m4/signbit.m4: New file.
63957         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
63958         (signbit): New macro.
63959         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
63960         REPLACE_SIGNBIT.
63961         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
63962         REPLACE_FREXPL into math.h.
63963
63964 2007-04-06  Bruno Haible  <bruno@clisp.org>
63965
63966         * modules/isnanf-nolibm-tests: New file.
63967         * tests/test-isnanf.c: New file.
63968
63969         * modules/isnanf-nolibm: New file.
63970         * lib/isnanf.h: New file.
63971         * lib/isnanf.c: New file.
63972         * lib/isnan.c: Consider the USE_FLOAT macro.
63973         * m4/isnanf.m4: New file.
63974
63975 2007-04-06  Bruno Haible  <bruno@clisp.org>
63976
63977         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
63978         (Link): New section.
63979
63980         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
63981
63982 2007-04-06  Bruno Haible  <bruno@clisp.org>
63983
63984         Assume the 'long double' type.
63985         * m4/longdouble.m4: Remove file.
63986         * config/srclist.txt: Don't mention longdouble.m4.
63987         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
63988         * lib/float+.h: Likewise.
63989         * lib/frexp.c: Likewise.
63990         * lib/printf-args.h: Likewise.
63991         * lib/printf-args.c: Likewise.
63992         * lib/printf-frexp.c: Likewise.
63993         * lib/printf-parse.c: Likewise.
63994         * lib/vasnprintf.c: Likewise.
63995         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
63996         * m4/intl.m4: Likewise.
63997         * m4/isnanl.m4: Likewise.
63998         * m4/printf.m4: Likewise.
63999         * m4/printf-frexpl.m4: Likewise.
64000         * m4/vasnprintf.m4: Likewise.
64001         * modules/allocsa (Files): Remove m4/longdouble.m4.
64002         * modules/gettext (Files): Likewise.
64003         * modules/relocatable-prog-wrapper (Files): Likewise.
64004         * modules/vasnprintf (Files): Likewise.
64005         * modules/isnanl (Files): Likewise.
64006         (Include): Simplify.
64007         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64008         (Include): Simplify.
64009         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64010         (Include): Simplify.
64011         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64012         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64013         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64014         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64015         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64016         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64017         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64018         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64019         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64020         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64021         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64022         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64023         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64024         * tests/test-isnanl.c: Likewise.
64025         * tests/test-snprintf-posix.h: Likewise.
64026         * tests/test-sprintf-posix.h: Likewise.
64027         * tests/test-vasnprintf-posix.c: Likewise.
64028         * tests/test-vasnprintf-posix2.c: Likewise.
64029         * tests/test-vasprintf-posix.c: Likewise.
64030
64031 2007-04-06  Bruno Haible  <bruno@clisp.org>
64032
64033         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64034         * lib/math_.h [__DECC]: Include the overridden include file through
64035         #include_next, outside the double-inclusion guard.
64036         * lib/stdio_.h [__DECC]: Likewise.
64037         * lib/stdlib_.h [__DECC]: Likewise.
64038         * lib/string_.h [__DECC]: Likewise.
64039         * lib/time_.h [__DECC]: Likewise.
64040         * lib/wchar_.h [__DECC]: Likewise.
64041         * lib/wctype_.h [__DECC]: Likewise.
64042         * lib/inttypes_.h [__DECC]: Likewise.
64043         Reported by Albert Chin <china@thewrittenword.com> in
64044         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64045
64046 2007-04-04  Eric Blake  <ebb9@byu.net>
64047
64048         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64049         1.5.x.
64050
64051 2007-04-04  Bruno Haible  <bruno@clisp.org>
64052
64053         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64054         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64055
64056 2007-04-04  Bruno Haible  <bruno@clisp.org>
64057
64058         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64059         results for "%010a" of Infinity and NaN.
64060         * tests/test-vasprintf-posix.c (test_function): Likewise.
64061         * tests/test-snprintf-posix.h (test_function): Likewise.
64062         * tests/test-sprintf-posix.h (test_function): Likewise.
64063         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64064         * tests/test-printf-posix.h (test_function): Likewise.
64065         * tests/test-fprintf-posix.out: Update.
64066         Needed for FreeBSD 6.1.
64067
64068 2007-04-04  Bruno Haible  <bruno@clisp.org>
64069
64070         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64071         directly used by the gnulib modules nor by gnulib-tool.
64072
64073 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64074
64075         * DEPENDENCIES: Give overall description of version dependency
64076         desirability.  Use more-typical names for apps.
64077         Add shell, coreutils, diffutils, grep, tar, gzip.
64078
64079 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64080
64081         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64082
64083 2007-04-04  Karl Berry  <karl@gnu.org>
64084
64085         * MODULES.html.sh (func_module): missing '.
64086
64087 2007-04-03  Bruno Haible  <bruno@clisp.org>
64088
64089         * modules/argmatch-tests (Makefile.am): New variable
64090         test_argmatch_LDADD.
64091         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64092         * modules/array-list-tests (Makefile.am): New variable
64093         test_array_list_LDADD.
64094         * modules/array-oset-tests (Makefile.am): New variable
64095         test_array_oset_LDADD.
64096         * modules/avltree-list-tests (Makefile.am): New variable
64097         test_avltree_list_LDADD.
64098         * modules/avltree-oset-tests (Makefile.am): New variable
64099         test_avltree_oset_LDADD.
64100         * modules/avltreehash-list-tests (Makefile.am): New variable
64101         test_avltreehash_list_LDADD.
64102         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64103         test_canonicalize_lgpl_LDADD.
64104         * modules/carray-list-tests (Makefile.am): New variable
64105         test_carray_list_LDADD.
64106         * modules/dirname-tests (Makefile.am): New variable
64107         test_dirname_LDADD.
64108         * modules/linked-list-tests (Makefile.am): New variable
64109         test_linked_list_LDADD.
64110         * modules/linkedhash-list-tests (Makefile.am): New variable
64111         test_linkedhash_list_LDADD.
64112         * modules/rbtree-list-tests (Makefile.am): New variable
64113         test_rbtree_list_LDADD.
64114         * modules/rbtree-oset-tests (Makefile.am): New variable
64115         test_rbtree_oset_LDADD.
64116         * modules/rbtreehash-list-tests (Makefile.am): New variable
64117         test_rbtreehash_list_LDADD.
64118         * modules/xvasprintf-tests (Makefile.am): New variable
64119         test_xvasprintf_LDADD.
64120         Reported by Eric Blake.
64121
64122 2007-04-03  Eric Blake  <ebb9@byu.net>
64123
64124         * DEPENDENCIES: Weaken m4 requirements.
64125
64126 2007-04-03  Bruno Haible  <bruno@clisp.org>
64127
64128         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64129         * modules/isnanl-tests (configure.ac): Likewise.
64130
64131 2007-04-03  Ben Pfaff  <blp@gnu.org>
64132
64133         * modules/iconv_open: Add $(srcdir)/ to source directory
64134         references in Makefile fragments that call gperf, to fix VPATH
64135         builds.
64136
64137 2007-04-03  Bruno Haible  <bruno@clisp.org>
64138
64139         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64140         * lib/ldexpl.c: Undo last change.
64141
64142 2007-04-03  Bruno Haible  <bruno@clisp.org>
64143
64144         * modules/printf-frexpl (Depends-on): Undo last change.
64145         (Files): Add m4/ldexpl.m4.
64146
64147 2007-04-03  Bruno Haible  <bruno@clisp.org>
64148
64149         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64150         * modules/isnanl (Link): New section.
64151
64152         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64153         * modules/frexp (Link): New section.
64154
64155         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
64156         * modules/frexpl (Link): New section.
64157
64158         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
64159         * modules/ldexpl (Link): New section.
64160
64161 2007-04-03  Bruno Haible  <bruno@clisp.org>
64162
64163         * modules/TEMPLATE-EXTENDED: New file.
64164         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
64165
64166 2007-04-03  Bruno Haible  <bruno@clisp.org>
64167
64168         * DEPENDENCIES: New file.
64169         Suggested by Simon Josefsson.
64170
64171 2007-04-03  Bruno Haible  <bruno@clisp.org>
64172
64173         * doc/gnulib.texi: Escape @.
64174
64175 2007-04-03  James Youngman  <jay@gnu.org>
64176         and Paul Eggert  <eggert@cs.ucla.edu>
64177
64178         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64179         birthtime on all systems that have birthtime, not just those which
64180         use st_birthtimensec rather than st_birthtim.  Putting zero in
64181         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64182         that the birth time is not available for files on an NFS mount.
64183
64184 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64185
64186         * modules/memxor: Move back from crypto/, suggested by Bruno.
64187         * modules/crypto/hmac-sha1: Fix memxor dependency.
64188
64189         * modules/crypto/gc: Moved from ../.
64190
64191 2007-04-02  Eric Blake  <ebb9@byu.net>
64192
64193         * lib/ldexpl.c (includes): Avoid libm.
64194
64195         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
64196
64197 2007-04-02  Bruno Haible  <bruno@clisp.org>
64198
64199         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
64200         on IRIX.
64201
64202 2007-04-02  Bruno Haible  <bruno@clisp.org>
64203
64204         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
64205         x86 or x86_64 platforms running MacOS X.
64206         Reported by Ryan Schmidt <@ryandesign.com>.
64207
64208 2007-04-02  Bruno Haible  <bruno@clisp.org>
64209
64210         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
64211         i386.
64212
64213 2007-04-01  Simon Josefsson  <simon@josefsson.org>
64214
64215         * modules/crypto/arcfour: Moved from ../.
64216         * modules/crypto/arcfour-tests: Moved from ../.
64217         * modules/crypto/arctwo: Moved from ../.
64218         * modules/crypto/arctwo-tests: Moved from ../.
64219         * modules/crypto/des: Moved from ../.
64220         * modules/crypto/des-tests: Moved from ../.
64221         * modules/crypto/gc-arcfour: Moved from ../.
64222         * modules/crypto/gc-arcfour-tests: Moved from ../.
64223         * modules/crypto/gc-arctwo: Moved from ../.
64224         * modules/crypto/gc-arctwo-tests: Moved from ../.
64225         * modules/crypto/gc-des: Moved from ../.
64226         * modules/crypto/gc-des-tests: Moved from ../.
64227         * modules/crypto/gc-hmac-md5: Moved from ../.
64228         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
64229         * modules/crypto/gc-hmac-sha1: Moved from ../.
64230         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
64231         * modules/crypto/gc-md2: Moved from ../.
64232         * modules/crypto/gc-md2-tests: Moved from ../.
64233         * modules/crypto/gc-md4: Moved from ../.
64234         * modules/crypto/gc-md4-tests: Moved from ../.
64235         * modules/crypto/gc-md5: Moved from ../.
64236         * modules/crypto/gc-md5-tests: Moved from ../.
64237         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
64238         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
64239         * modules/crypto/gc-random: Moved from ../.
64240         * modules/crypto/gc-rijndael: Moved from ../.
64241         * modules/crypto/gc-rijndael-tests: Moved from ../.
64242         * modules/crypto/gc-sha1: Moved from ../.
64243         * modules/crypto/gc-sha1-tests: Moved from ../.
64244         * modules/crypto/gc-tests: Moved from ../.
64245         * modules/crypto/hmac-md5: Moved from ../.
64246         * modules/crypto/hmac-md5-tests: Moved from ../.
64247         * modules/crypto/hmac-sha1: Moved from ../.
64248         * modules/crypto/hmac-sha1-tests: Moved from ../.
64249         * modules/crypto/md2: Moved from ../.
64250         * modules/crypto/md2-tests: Moved from ../.
64251         * modules/crypto/md4: Moved from ../.
64252         * modules/crypto/md4-tests: Moved from ../.
64253         * modules/crypto/md5: Moved from ../.
64254         * modules/crypto/md5-tests: Moved from ../.
64255         * modules/crypto/memxor: Moved from ../.
64256         * modules/crypto/rijndael: Moved from ../.
64257         * modules/crypto/rijndael-tests: Moved from ../.
64258         * modules/crypto/sha1: Moved from ../.
64259
64260 2007-03-30  James Youngman  <jay@gnu.org>
64261
64262         * tests/test-stat-time.c (prepare_test): use chmod() rather than
64263         rename() to change the ctime of a file (because ctime is unaffected
64264         by rename on jfs2 on AIX 5.1).
64265         (main): Start by doing cleanup, in case a previous run failed leaving
64266         test files behind.
64267
64268 2007-03-31  Bruno Haible  <bruno@clisp.org>
64269
64270         Support old proprietary implementations of iconv.
64271         * modules/iconv_open: New file.
64272         * lib/iconv_.h: New file.
64273         * m4/iconv_h.m4: New file.
64274         * lib/iconv_open.c: New file.
64275         * lib/iconv_open-aix.gperf: New file.
64276         * lib/iconv_open-hpux.gperf: New file.
64277         * lib/iconv_open-irix.gperf: New file.
64278         * lib/iconv_open-osf.gperf: New file.
64279         * m4/iconv_open.m4: New file.
64280         * modules/linebreak (Depends-on): Add iconv_open.
64281         * modules/striconv (Depends-on): Likewise.
64282         * modules/striconveh (Depends-on): Likewise.
64283         * modules/unicodeio (Depends-on): Likewise.
64284         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
64285         (iconv_t)(-1).
64286         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
64287         conversion if cd is (iconv_t)(-1).
64288         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
64289         is not possible.
64290
64291 2007-03-31  Bruno Haible  <bruno@clisp.org>
64292
64293         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64294         work on Solaris either. Protect also second use of "autodetect_jp".
64295
64296 2007-03-31  Bruno Haible  <bruno@clisp.org>
64297
64298         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
64299         the function is not present.
64300
64301 2007-03-31  Bruno Haible  <bruno@clisp.org>
64302
64303         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
64304         the function is not present.
64305
64306 2007-03-31  Bruno Haible  <bruno@clisp.org>
64307
64308         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
64309         a bug in HP-UX iconv_open().
64310
64311 2007-03-31  Bruno Haible  <bruno@clisp.org>
64312
64313         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
64314         (Mathematics <math.h>): New section, add fpieee.
64315         (Input/output <stdio.h>): Add fseterr.
64316         (Mathematics <math.h>): New section, add printf-frexp.
64317         (Container data structures): Add sublist.
64318         (Core language properties): Add fpucw, inline.
64319         (Functions for greatest-width integer types <inttypes.h>): Add
64320         imaxabs, imaxdiv, inttypes.
64321         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
64322         isnanl-nolibm, ldexp.
64323         (Mathematics <math.h>): New section, add printf-frexpl.
64324         (Support for systems lacking POSIX:2001): Add fprintf-posix,
64325         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
64326         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
64327         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
64328         (Unicode string functions): Add unistr/u*-mbtoucr.
64329         (Java): Add javacomp-script, javaexec-script.
64330         (C#): Add csharpcomp-script, csharpexec-script.
64331         (Support for building libraries and executables): Add havelib,
64332         relocatable-*.
64333         (Support for maintaining and releasing projects): Renamed from
64334         'Support for maintaining and release projects'. Add announce-gen.
64335
64336 2007-03-31  Bruno Haible  <bruno@clisp.org>
64337
64338         * README: Talk primarily about git.
64339         (git and CVS): Renamed from CVS.
64340         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
64341         gnulib is available through git.
64342         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
64343
64344 2007-03-30  Bruno Haible  <bruno@clisp.org>
64345
64346         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
64347         * lib/poll_.h: Likewise.
64348         * lib/stat_.h: Likewise.
64349         * lib/sys_time_.h: Likewise.
64350         * lib/sysexit_.h: Likewise.
64351         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
64352         * lib/stdbool_.h: Likewise.
64353         * lib/byteswap_.h: Add double-inclusion guard.
64354
64355 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
64356
64357         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
64358
64359 2007-03-30  Karl Berry  <karl@gnu.org>
64360
64361         * config/srclist-update: double space after USA in the license
64362         substitution, since that's how it's usually (?) written.
64363
64364 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
64365
64366         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
64367         reported by Bruno Haible.
64368
64369 2007-03-29  Bruno Haible  <bruno@clisp.org>
64370
64371         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
64372         a bug in AIX iconv().
64373
64374 2007-03-29  Bruno Haible  <bruno@clisp.org>
64375
64376         * modules/ldexpl-tests: New file.
64377         * tests/test-ldexpl.c: New file.
64378
64379 2007-03-29  Bruno Haible  <bruno@clisp.org>
64380
64381         * lib/ldexpl.c: Include fpucw.h.
64382         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
64383         multiplication.
64384         * modules/ldexpl (Depends-on): Add fpucw.
64385
64386 2007-03-29  Bruno Haible  <bruno@clisp.org>
64387
64388         * modules/ldexpl: New file.
64389         * m4/ldexpl.m4: New file.
64390         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
64391         set.
64392         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
64393         REPLACE_LDEXPL.
64394         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
64395         REPLACE_LDEXPL.
64396         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64397         gl_FUNC_LDEXPL_WORKS.
64398         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
64399         * modules/mathl (Files): Remove lib/ldexpl.c.
64400         (Depends-on): Add ldexpl.
64401
64402 2007-03-29  Bruno Haible  <bruno@clisp.org>
64403
64404         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
64405
64406 2007-03-29  Bruno Haible  <bruno@clisp.org>
64407
64408         * tests/test-striconveh.c (main): Don't assume that a direct conversion
64409         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
64410         and possibly also HP-UX.
64411         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64412         work on AIX, IRIX, HP-UX, OSF/1.
64413         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64414         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64415         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64416         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64417         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
64418         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64419
64420 2007-03-29  Bruno Haible  <bruno@clisp.org>
64421
64422         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
64423
64424 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64425
64426         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
64427         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
64428
64429 2007-03-29  Eric Blake  <ebb9@byu.net>
64430
64431         * lib/acl-internal.h: Remove redundant include.
64432         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
64433         Cygwin when a file is locked.
64434
64435 2007-03-29  Bruno Haible  <bruno@clisp.org>
64436
64437         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
64438         file.
64439         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
64440
64441 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64442
64443         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
64444         try to remove a parent directory if the child couldn't be removed
64445         (except for the first rmdir, which could fail because the child
64446         doesn't exist).  Problem reported by Jeff Blaine in
64447         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
64448
64449 2007-03-28  Bruno Haible  <bruno@clisp.org>
64450
64451         * lib/striconveh.c (utf8conv_carefully): New function.
64452         (mem_cd_iconveh_internal): Invoke it.
64453
64454 2007-03-28  Bruno Haible  <bruno@clisp.org>
64455
64456         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
64457         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
64458         input.
64459         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
64460         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
64461         unistr/u8-uctomb.
64462
64463 2007-03-28  Bruno Haible  <bruno@clisp.org>
64464
64465         * modules/unistr/u8-mbtoucr: New file.
64466         * lib/unistr/u8-mbtoucr.c: New file.
64467         * modules/unistr/u16-mbtoucr: New file.
64468         * lib/unistr/u16-mbtoucr.c: New file.
64469         * modules/unistr/u16-mbtoucr: New file.
64470         * lib/unistr/u16-mbtoucr.c: New file.
64471         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
64472
64473 2007-03-27  Simon Josefsson  <simon@josefsson.org>
64474             Bruno Haible  <bruno@clisp.org>
64475
64476         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
64477         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
64478         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
64479
64480         * m4/stdio_h.m4: Add stubs for vasprintf too.
64481
64482         * modules/stdio: Support vasprintf in sed command.
64483
64484         * modules/vasprintf: Depend on stdio for prototypes.  Remove
64485         vasprintf.h.  Add stdio module indicator.
64486
64487         * lib/stdio_.h: Declare asprintf and vasprintf, based on
64488         vasprintf.h.
64489
64490         * lib/vasprintf.h: File removed.
64491
64492         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
64493         * lib/vasprintf.c: Ditto.
64494         * lib/xvasprintf.c: Ditto.
64495         * tests/test-vasprintf-posix.c: Ditto.
64496         * tests/test-vasprintf.c: Ditto.
64497
64498 2007-03-27  Bruno Haible  <bruno@clisp.org>
64499
64500         Make vasnprintf multithread-safe.
64501         * lib/vasnprintf.c (decimal_point_char): New function.
64502         (VASNPRINTF): Use it.
64503         Suggested by Simon Josefsson.
64504
64505 2007-03-27  Eric Blake  <ebb9@byu.net>
64506
64507         Support sub-second birthtime on cygwin.
64508         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
64509         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
64510         (get_stat_birthtime): Also work with st_birthtim.
64511
64512 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
64513
64514         * lib/stat-time.h (USE_BIRTHTIME): Remove.
64515         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
64516         (get_stat_birthtime_ns): Do not try to use "spare" fields.
64517         (get_stat_birthtime_ns): Simplify compile-time tests.
64518         (get_stat_birthtime): Change the API to look like
64519         get_stat_mtime etc., except return a negative tv_nsec on error.
64520         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
64521         Don't check for "spare" fields.
64522         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
64523         or for struct stat.st_birthtime, as these tests aren't used.
64524         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
64525
64526 2007-03-27  Bruno Haible  <bruno@clisp.org>
64527
64528         * lib/stat-time.h: Include <sys/stat.h>.
64529
64530 2007-03-27  James Youngman  <jay@gnu.org>
64531
64532         * lib/stat-time.h (get_stat_birthtime): New function for
64533           retrieving st_birthtime as provided by UFS2 (hence *BSD).
64534         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
64535           and its variants.
64536         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
64537         * modules/stat-time-test: New file.
64538         * tests/test-stat-time.c: New test, devised by Bruno Haible.
64539
64540 2007-03-26  Bruno Haible  <bruno@clisp.org>
64541
64542         Better support of signalling NaNs.
64543         * lib/atanl.c: Include isnanl.h.
64544         (atanl): Perform test for NaN at the beginning of the function and
64545         through a call to isnanl.
64546         * lib/cosl.c: Include isnanl.h.
64547         (cosl): Perform test for NaN at the beginning of the function and
64548         through a call to isnanl.
64549         * lib/ldexpl.c: Include isnanl.h.
64550         (ldexpl): Perform test for NaN through a call to isnanl.
64551         * lib/logl.c: Include isnanl.h.
64552         (logl): Perform test for NaN at the beginning of the function and
64553         through a call to isnanl.
64554         * lib/sinl.c: Include isnanl.h.
64555         (sinl): Perform test for NaN at the beginning of the function and
64556         through a call to isnanl.
64557         * lib/sqrtl.c: Include isnanl.h.
64558         (sqrtl): Perform test for NaN at the beginning of the function and
64559         through a call to isnanl.
64560         * lib/tanl.c: Include isnanl.h.
64561         (tanl): Perform test for NaN at the beginning of the function and
64562         through a call to isnanl.
64563         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
64564         * modules/mathl (Depends-on): Add isnanl.
64565
64566 2007-03-26  Eric Blake  <ebb9@byu.net>
64567
64568         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
64569         regression in logic sense of previous patch.
64570
64571 2007-03-26  Bruno Haible  <bruno@clisp.org>
64572
64573         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
64574         unportable shell command "if ! ...".
64575         Reported by Ralf Wildenhues.
64576
64577 2007-03-25  Bruno Haible  <bruno@clisp.org>
64578
64579         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
64580         <sysexits.h> file, and only add EX_CONFIG.
64581         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
64582         absolute file name and whether it is sufficient. Substitute also
64583         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
64584         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
64585         ABSOLUTE_SYSEXITS_H into sysexits.h.
64586
64587 2007-03-25  Bruno Haible  <bruno@clisp.org>
64588
64589         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
64590         hints is NULL.
64591
64592 2007-03-25  Bruno Haible  <bruno@clisp.org>
64593
64594         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
64595         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
64596
64597 2007-03-25  Bruno Haible  <bruno@clisp.org>
64598
64599         * lib/vasnprintf.c: Include langinfo.h.
64600         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
64601         multithread-safe.
64602         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
64603         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
64604         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64605         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64606         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64607         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64608         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64609         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
64610         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64611         Reported by Simon Josefsson.
64612
64613 2007-03-25  Bruno Haible  <bruno@clisp.org>
64614
64615         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
64616         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
64617         * modules/vasnprintf (Depends-on): Add stdint.
64618
64619 2007-03-25  Bruno Haible  <bruno@clisp.org>
64620
64621         * modules/fpieee: New file.
64622         * m4/fpieee.m4: New file.
64623         * modules/isnan-nolibm (Depends-on): Add fpieee.
64624         * modules/isnanl-nolibm (Depends-on): Add fpieee.
64625         * modules/isnanl (Depends-on): Add fpieee.
64626
64627 2007-03-25  Bruno Haible  <bruno@clisp.org>
64628
64629         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
64630
64631 2007-03-25  Bruno Haible  <bruno@clisp.org>
64632
64633         Avoid test failures on IRIX 6.5.
64634         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
64635         (main): Use it.
64636         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
64637         macros.
64638         (main): Use them.
64639
64640 2007-03-25  Bruno Haible  <bruno@clisp.org>
64641
64642         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
64643         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
64644         exists but doesn't work.
64645         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
64646         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
64647         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
64648         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
64649         math.h.
64650
64651 2007-03-25  Bruno Haible  <bruno@clisp.org>
64652
64653         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
64654         returns inf. Needed on IRIX 6.5.
64655
64656 2007-03-25  Bruno Haible  <bruno@clisp.org>
64657
64658         * tests/test-frexpl.c: Include isnanl-nolibm.h.
64659         (main): Use isnanl instead of x != x idiom.
64660         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
64661
64662         * tests/test-frexp.c: Include isnan.h.
64663         (main): Use isnan instead of x != x idiom.
64664         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
64665
64666 2007-03-25  Bruno Haible  <bruno@clisp.org>
64667
64668         * tests/test-frexp.c (NaN): New function/macro.
64669         (main): Use it instead of 0.0 / 0.0.
64670         * tests/test-isnan.c (NaN): New function/macro.
64671         (main): Use it instead of 0.0 / 0.0.
64672         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
64673         (test_function): Use it instead of 0.0 / 0.0.
64674         * tests/test-vasprintf-posix.c (NaN): New function/macro.
64675         (test_function): Use it instead of 0.0 / 0.0.
64676         * tests/test-snprintf-posix.h (NaN): New function/macro.
64677         (test_function): Use it instead of 0.0 / 0.0.
64678         * tests/test-sprintf-posix.h (NaN): New function/macro.
64679         (test_function): Use it instead of 0.0 / 0.0.
64680         * tests/test-fprintf-posix.h (NaN): New function/macro.
64681         (test_function): Use it instead of 0.0 / 0.0.
64682         * tests/test-printf-posix.h (NaN): New function/macro.
64683         (test_function): Use it instead of 0.0 / 0.0.
64684
64685         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
64686
64687 2007-03-25  Bruno Haible  <bruno@clisp.org>
64688
64689         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
64690
64691 2007-03-25  Bruno Haible  <bruno@clisp.org>
64692
64693         * lib/regexec.c (merge_state_with_log): Make static.
64694
64695 2007-03-25  Bruno Haible  <bruno@clisp.org>
64696
64697         * lib/trigl.c (kernel_rem_pio2): Make static.
64698
64699 2007-03-25  Bruno Haible  <bruno@clisp.org>
64700
64701         * lib/sincosl.c (sincosl_table): Make static.
64702
64703 2007-03-25  Bruno Haible  <bruno@clisp.org>
64704
64705         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
64706         if the compiler does not support C99.
64707
64708 2007-03-25  Bruno Haible  <bruno@clisp.org>
64709
64710         * modules/time (Makefile.am): Ensure all rule action lines start with a
64711         tab.
64712
64713 2007-03-24  Bruno Haible  <bruno@clisp.org>
64714
64715         * modules/tsearch-tests: New file.
64716         * tests/test-tsearch.sh: New file.
64717         * tests/test-tsearch.c: New file, mostly copied from glibc.
64718
64719         * modules/search-tests: New file.
64720         * tests/test-search.c: New file.
64721
64722         * modules/search: New file.
64723         * lib/search_.h: New file, incorporating lib/tsearch.h.
64724         * m4/search_h.m4: New file.
64725         * lib/tsearch.h: Remove file.
64726         * lib/tsearch.c: Include search.h instead of tsearch.h.
64727         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
64728         HAVE_TSEARCH.
64729         * modules/tsearch (Files): Remove lib/tsearch.h.
64730         (Depends-on): Add search.
64731         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
64732         (Include): Change tsearch.h into search.h.
64733
64734 2007-03-24  Bruno Haible  <bruno@clisp.org>
64735
64736         * modules/fpucw: New file.
64737         * lib/fpucw.h: New file.
64738         * lib/frexp.c: Include fpucw.h.
64739         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64740         (FUNC): Use them.
64741         * lib/printf-frexp.c: Include fpucw.h.
64742         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64743         (FUNC): Use them.
64744         * lib/vasnprintf.c: Include fpucw.h.
64745         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
64746         'long double' calculations.
64747         * tests/test-frexpl.c: Include fpucw.h.
64748         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64749         * tests/test-printf-frexpl.c: Include fpucw.h.
64750         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64751         * modules/frexpl (Depends-on): Add fpucw.
64752         * modules/printf-frexpl (Depends-on): Likewise.
64753         * modules/fprintf-posix (Depends-on): Likewise.
64754         * modules/snprintf-posix (Depends-on): Likewise.
64755         * modules/sprintf-posix (Depends-on): Likewise.
64756         * modules/vasnprintf-posix (Depends-on): Likewise.
64757         * modules/vasprintf-posix (Depends-on): Likewise.
64758         * modules/vfprintf-posix (Depends-on): Likewise.
64759         * modules/vsnprintf-posix (Depends-on): Likewise.
64760         * modules/vsprintf-posix (Depends-on): Likewise.
64761         * modules/frexpl-tests (Depends-on): Likewise.
64762         * modules/printf-frexpl-tests (Depends-on): Likewise.
64763
64764 2007-03-24  Bruno Haible  <bruno@clisp.org>
64765
64766         * lib/float+.h: New file.
64767         * lib/isnan.c: Include float+.h.
64768         (SIZE): New macro.
64769         (FUNC): Compare only SIZE bytes of the value.
64770         * lib/vasnprintf.c: Include float+.h.
64771         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
64772         SIZEOF_LDBL or SIZEOF_DBL bytes.
64773         * modules/isnan-nolibm (Files): Add lib/float+.h.
64774         * modules/isnanl-nolibm (Files): Add lib/float+.h.
64775         * modules/isnanl (Files): Add lib/float+.h.
64776         * modules/vasnprintf (Files): Add lib/float+.h.
64777
64778 2007-03-24  Bruno Haible  <bruno@clisp.org>
64779
64780         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
64781         include isnanl-nolibm.h.
64782
64783 2007-03-24  Bruno Haible  <bruno@clisp.org>
64784
64785         * tests/test-read-file.c (main): Don't produce spurious output for
64786         expected situations. Make the test fail if it encountered unexpected
64787         results.
64788
64789 2007-03-24  Bruno Haible  <bruno@clisp.org>
64790
64791         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
64792         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
64793
64794 2007-03-24  Bruno Haible  <bruno@clisp.org>
64795
64796         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
64797
64798 2007-03-24  Bruno Haible  <bruno@clisp.org>
64799
64800         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
64801         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
64802
64803         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
64804         * modules/utf8-ucs4: Turn into a symbolic link to module
64805         unistr/u8-mbtouc.
64806
64807         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
64808         utf8-ucs4-unsafe.
64809         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
64810         unistr/u8-mbtouc-unsafe.
64811
64812         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
64813         * modules/utf16-ucs4: Turn into a symbolic link to module
64814         unistr/u16-mbtouc.
64815
64816         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
64817         utf16-ucs4-unsafe.
64818         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
64819         unistr/u16-mbtouc-unsafe.
64820
64821         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
64822         * modules/ucs4-utf8: Turn into a symbolic link to module
64823         unistr/u8-ubtomb.
64824
64825         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
64826         * modules/ucs4-utf16: Turn into a symbolic link to module
64827         unistr/u16-ubtomb.
64828
64829 2007-03-24  Bruno Haible  <bruno@clisp.org>
64830
64831         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
64832         Enable the function only if HAVE_INLINE.
64833         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
64834         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64835         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
64836         Enable the function only if HAVE_INLINE.
64837         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
64838         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64839         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
64840         Enable the function only if HAVE_INLINE.
64841         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
64842         Enable the function only if HAVE_INLINE.
64843         * modules/utf8-ucs4: Update.
64844         * modules/utf8-ucs4-unsafe: Update.
64845         * modules/utf16-ucs4: Update.
64846         * modules/utf16-ucs4-unsafe: Update.
64847         * modules/ucs4-utf8: Update.
64848         * modules/ucs4-utf16: Update.
64849
64850 2007-03-24  Bruno Haible  <bruno@clisp.org>
64851
64852         * lib/utf8-ucs4.h: Remove file.
64853         * lib/utf8-ucs4-unsafe.h: Remove file.
64854         * lib/utf16-ucs4.h: Remove file.
64855         * lib/utf16-ucs4-unsafe.h: Remove file.
64856         * lib/ucs4-utf8.h: Remove file.
64857         * lib/ucs4-utf16.h: Remove file.
64858         * lib/unistr.h: Include their previous contents.
64859         * m4/utf-ucs4.m4: Remove file.
64860         * m4/ucs4-utf.m4: Remove file.
64861         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
64862         (Depends-on): Add unistr/base.
64863         (configure.ac): Remove gl_UTF_UCS4.
64864         (Makefile.am): Update.
64865         (Include): Change to unistr.h.
64866         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
64867         (Depends-on): Add unistr/base.
64868         (configure.ac): Remove gl_UTF_UCS4.
64869         (Makefile.am): Update.
64870         (Include): Change to unistr.h.
64871         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
64872         (Depends-on): Add unistr/base.
64873         (configure.ac): Remove gl_UTF_UCS4.
64874         (Makefile.am): Update.
64875         (Include): Change to unistr.h.
64876         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
64877         (Depends-on): Add unistr/base.
64878         (configure.ac): Remove gl_UTF_UCS4.
64879         (Makefile.am): Update.
64880         (Include): Change to unistr.h.
64881         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
64882         (Depends-on): Add unistr/base.
64883         (configure.ac): Remove gl_UCS4_UTF.
64884         (Makefile.am): Update.
64885         (Include): Change to unistr.h.
64886         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
64887         (Depends-on): Add unistr/base.
64888         (configure.ac): Remove gl_UCS4_UTF.
64889         (Makefile.am): Update.
64890         (Include): Change to unistr.h.
64891         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
64892         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
64893         utf8-ucs4-unsafe.h.
64894         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
64895         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
64896         utf16-ucs4-unsafe.h.
64897         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
64898         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
64899         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
64900         * lib/unistr/u8-strchr.c: Likewise.
64901         * lib/unistr/u8-strrchr.c: Likewise.
64902         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
64903         * lib/unistr/u16-strchr.c: Likewise.
64904         * lib/unistr/u16-strrchr.c: Likewise.
64905         * lib/striconveh.c: Update.
64906         * lib/linebreak.c: Update.
64907
64908 2007-03-24  Bruno Haible  <bruno@clisp.org>
64909
64910         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
64911         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
64912
64913 2007-03-22  Bruno Haible  <bruno@clisp.org>
64914
64915         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
64916
64917 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
64918
64919         * MODULES.html.sh (File system functions): New module write-any-file.
64920         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
64921         * m4/write-any-file.m4: New files.
64922
64923 2007-03-23  Eric Blake  <ebb9@byu.net>
64924
64925         * gnulib-tool: Rearrange space-tab sequences, since some editors
64926         like to eat them.
64927
64928 2007-03-23  Eric Blake  <ebb9@byu.net>
64929
64930         * lib/version-etc.c (version_etc_va): Update license wording to
64931         be more concise.  Recommended by Richard Stallman.
64932
64933 2007-03-22  Bruno Haible  <bruno@clisp.org>
64934
64935         * lib/poll.c (MSG_PEEK): New fallback definition.
64936
64937 2007-03-22  Bruno Haible  <bruno@clisp.org>
64938
64939         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
64940         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
64941         (main): Update.
64942         Fixes a compilation error on BeOS.
64943
64944 2007-03-22  Bruno Haible  <bruno@clisp.org>
64945
64946         * modules/frexpl-tests: New file.
64947         * tests/test-frexpl.c: New file.
64948
64949         * modules/frexpl: New file.
64950         * m4/frexpl.m4: New file.
64951         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
64952         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
64953         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
64954         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
64955         (Depends-on): Add frexpl. Remove isnanl-nolibm.
64956         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
64957
64958 2007-03-22  Bruno Haible  <bruno@clisp.org>
64959
64960         * lib/frexpl.c: Share code with lib/frexp.c.
64961         * modules/mathl (Files): Add lib/frexp.c.
64962         (Depends-on): Add isnanl-nolibm.
64963
64964 2007-03-22  Bruno Haible  <bruno@clisp.org>
64965
64966         * modules/printf-frexp (Files): Add m4/frexp.m4.
64967         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
64968         only if the found frexp function actually works.
64969
64970 2007-03-22  Bruno Haible  <bruno@clisp.org>
64971
64972         * lib/frexp.c: Remove older implementation that uses divisions.
64973
64974 2007-03-21  Bruno Haible  <bruno@clisp.org>
64975
64976         * modules/frexp-tests: New file.
64977         * tests/test-frexp.c: New file.
64978
64979         * modules/frexp: New file.
64980         * lib/frexp.c: New file.
64981         * m4/frexp.m4: New file.
64982         * lib/math_.h (frexp): New declaration.
64983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
64984         REPLACE_FREXP.
64985         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
64986
64987 2007-03-21  Bruno Haible  <bruno@clisp.org>
64988
64989         * modules/isnanl-tests: New file.
64990         * tests/test-isnanl.c: New file.
64991
64992         * modules/isnanl: New file.
64993         * lib/isnanl.h: New file.
64994         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
64995         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
64996         gl_FUNC_ISNANL_WORKS.
64997         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
64998         New macros.
64999
65000 2007-03-21  Bruno Haible  <bruno@clisp.org>
65001
65002         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65003         lib/isnanl.h.
65004         (Include): Update.
65005         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65006         * lib/vasnprintf.c: Update.
65007         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65008         tests/test-isnanl.h, remove tests/test-isnanl.c.
65009         (Makefile.am): Update.
65010         * tests/test-isnanl-nolibm.c: New file.
65011         * tests/test-isnanl.h: New file.
65012         * tests/test-isnanl.c: Remove file.
65013
65014 2007-03-21  Jim Meyering  <jim@meyering.net>
65015
65016         When trying to open ".", treat ESTALE like EACCES.
65017         * lib/savewd.c (savewd_save): Resort to forking not just upon
65018         failure with EACCES, but also when errno is ESTALE.
65019
65020 2007-03-20  Bruno Haible  <bruno@clisp.org>
65021
65022         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65023         Needed on AIX 5.1. Reported by Matthew Woehlke.
65024
65025 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65026
65027         Suggestions by Bruno Haible:
65028         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65029         our own.
65030         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65031         * modules/acl (Depends-on): Add gettext.
65032
65033 2007-03-19  Bruno Haible  <bruno@clisp.org>
65034
65035         * modules/iconvme: Remove file.
65036         * lib/iconvme.h: Remove file.
65037         * lib/iconvme.c: Remove file.
65038         * m4/iconvme.m4: Remove file.
65039
65040 2007-03-19  Bruno Haible  <bruno@clisp.org>
65041
65042         * doc/relocatable-maint.texi: Break long shell script line.
65043         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65044
65045 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65046
65047         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65048         handle file_has_acl.
65049         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65050         * lib/acl.c: Move header inclusions and related macro defns into
65051         lib/acl-internal.h.
65052         (S_ISLNK): Remove defn, since that's now done for us.
65053         (file_has_acl): Move to lib/file-has-acl.c.
65054         Call acl_trivial if available.  This is the crucial part of the fix.
65055         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65056         shared within the library.  Rewrite a bit, partly to make it compatible
65057         with the GNU coding style.
65058         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65059         Remove unnecessary double-quotes.
65060         Don't test for acl_to_text; the build will catch that.
65061         Replace acl_entries if it doesn't exist and it is needed.
65062         Check for -lsec and acl_trivial (as used on Solaris 10).
65063         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65064         lib/file-has-acl.c.
65065         (Depends-on): Add sys_stat, for S_ISLNK.
65066
65067 2007-03-19  Ben Pfaff  <blp@gnu.org>
65068
65069         * doc/gnulib.texi: Fix typos.
65070         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65071
65072 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65073
65074         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65075         If size is zero here, buf must be zero.
65076
65077 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65078
65079         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65080         <bruno@clisp.org>.
65081
65082 2007-03-18  Bruno Haible  <bruno@clisp.org>
65083
65084         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65085         Suggested by Eric Blake.
65086
65087 2007-03-18  Ben Pfaff  <blp@gnu.org>
65088
65089         * doc/relocatable.texi: Recommend using as prefix a directory
65090         that does not exist and will never be created.  Based on
65091         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65092         and others.
65093
65094 2007-03-17  Bruno Haible  <bruno@clisp.org>
65095
65096         * lib/fchownat.c: Include lchown.h.
65097
65098 2007-03-17  Bruno Haible  <bruno@clisp.org>
65099
65100         Fix endless loop when the given allocated size was > INT_MAX.
65101         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65102         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65103         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65104         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65105         * lib/sprintf.c (sprintf): Likewise.
65106
65107 2007-03-17  Bruno Haible  <bruno@clisp.org>
65108
65109         * tests/test-argp-2.sh (func_compare): Output a context diff.
65110
65111 2007-03-17  Bruno Haible  <bruno@clisp.org>
65112
65113         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65114         locale's decimal-point character.
65115
65116 2007-03-17  Bruno Haible  <bruno@clisp.org>
65117
65118         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65119         before comparing it. Needed because on some platforms (e.g. x86) a
65120         'long double' occupies less bytes than sizeof (long double).
65121
65122 2007-03-17  Bruno Haible  <bruno@clisp.org>
65123
65124         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65125         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65126         * tests/test-getaddrinfo.c (simple): Likewise.
65127         * tests/test-read-file.c (main): Likewise.
65128
65129 2007-03-17  Bruno Haible  <bruno@clisp.org>
65130
65131         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65132
65133 2007-03-17  Bruno Haible  <bruno@clisp.org>
65134
65135         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65136         unused variable.
65137
65138 2007-03-17  Bruno Haible  <bruno@clisp.org>
65139
65140         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65141         * tests/test-c-strncasecmp.c: Likewise.
65142
65143 2007-03-17  Bruno Haible  <bruno@clisp.org>
65144
65145         * modules/stdlib (Depends-on): Add unistd.
65146         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65147         Needed for MacOS X 10.3.
65148
65149 2007-03-17  Bruno Haible  <bruno@clisp.org>
65150
65151         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65152
65153 2007-03-17  Bruno Haible  <bruno@clisp.org>
65154
65155         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
65156
65157 2007-03-17  Bruno Haible  <bruno@clisp.org>
65158
65159         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
65160         to reflect files copied from gnulib (with or without modifications).
65161         Suggested by Jim Meyering.
65162
65163 2007-03-17  Eric Blake  <ebb9@byu.net>
65164
65165         * NEWS: Document stdlib change from 2007-02-18.
65166
65167 2007-03-17  Jim Meyering  <jim@meyering.net>
65168
65169         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65170         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65171         someone uses a name containing shell meta-characters.
65172         Reported by Alfred M. Szmidt.
65173
65174         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65175
65176 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65177
65178         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65179         and copy gettext configuration files only if configure.ac contains
65180         a use of AM_GNU_GETTEXT_VERSION.
65181
65182 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65183
65184         * build-aux/bootstrap (gnulib_name): New variable.
65185         (gnulib_tool_options): Use it.
65186
65187 2007-03-13  Simon Josefsson  <simon@josefsson.org>
65188
65189         * tests/test-des.c: Use new namespace.
65190
65191 2007-03-15  Bruno Haible  <bruno@clisp.org>
65192
65193         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
65194         Reported by James Youngman <jay@gnu.org>.
65195
65196 2007-03-15  Bruno Haible  <bruno@clisp.org>
65197
65198         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
65199         declared prototype. Needed with cc on OSF/1 5.1.
65200
65201 2007-03-15  Bruno Haible  <bruno@clisp.org>
65202
65203         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
65204         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
65205         (struct gl_list_implementation): Add dispose_fn argument to the
65206         'create_empty', 'create' methods.
65207         (struct gl_list_impl_base): Add field 'dispose_fn'.
65208         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
65209         argument.
65210         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
65211         dispose_fn argument.
65212         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
65213         dispose_fn on the dropped values.
65214         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
65215         dispose_fn argument.
65216         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
65217         dropped values.
65218         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
65219         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65220         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
65221         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65222         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
65223         argument.
65224         (gl_tree_list_free): Call dispose_fn on the dropped values.
65225         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
65226         the dropped values.
65227         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65228         Add dispose_fn argument.
65229         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
65230         Call dispose_fn on the dropped values.
65231         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
65232         Add dispose_fn argument.
65233         (gl_sublist_create): Initialize the 'dispose_fn' field.
65234         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
65235         * tests/test-array_list.c (main): Update.
65236         * tests/test-carray_list.c (main): Update.
65237         * tests/test-avltree_list.c (main): Update.
65238         * tests/test-rbtree_list.c (main): Update.
65239         * tests/test-avltreehash_list.c (main): Update.
65240         * tests/test-rbtreehash_list.c (main): Update.
65241         * tests/test-linked_list.c (main): Update.
65242         * tests/test-linkedhash_list.c (main): Update.
65243         * tests/test-array_oset.c (main): Update.
65244
65245 2007-03-15  Bruno Haible  <bruno@clisp.org>
65246
65247         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
65248         (gl_oset_create_empty): Add dispose_fn argument.
65249         (struct gl_oset_implementation): Add dispose_fn argument to
65250         'create_empty' method.
65251         (struct gl_oset_impl_base): Add dispose_fn field.
65252         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
65253         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
65254         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
65255         values.
65256         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
65257         (gl_tree_oset_free): Call dispose_fn on the dropped values.
65258         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65259         dropped value.
65260         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65261         dropped value.
65262         * tests/test-array_oset.c (main): Update.
65263         * tests/test-avltree_oset.c (main): Update.
65264         * tests/test-rbtree_oset.c (main): Update.
65265         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
65266
65267 2007-03-13  Bruno Haible  <bruno@clisp.org>
65268
65269         * tests/test-stdbool.c (i): Update after last patch.
65270
65271 2007-03-12  Bruno Haible  <bruno@clisp.org>
65272
65273         * lib/quotearg.c: Include <wctype.h> early, before the definition of
65274         the iswprint macro. Needed on Solaris 2.5.1.
65275
65276 2007-03-12  Bruno Haible  <bruno@clisp.org>
65277
65278         * tests/test-printf-frexp.c (main): Declare x as volatile.
65279
65280 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65281
65282         * doc/gnulib.texi (Build robot for gnulib): New section.
65283
65284 2007-03-12  Jim Meyering  <jim@meyering.net>
65285
65286         * build-aux/bootstrap: New file.
65287         * build-aux/bootstrap.conf: New file, from coreutils.
65288
65289 2007-03-11  Bruno Haible  <bruno@clisp.org>
65290
65291         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
65292
65293 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65294
65295         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
65296         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
65297         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
65298
65299 2007-03-11  Bruno Haible  <bruno@clisp.org>
65300
65301         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
65302         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
65303
65304 2007-03-11  Bruno Haible  <bruno@clisp.org>
65305
65306         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
65307         formula. Needed for SunPRO C 5.0.
65308
65309 2007-03-11  Bruno Haible  <bruno@clisp.org>
65310
65311         * modules/long-options (Depends-on): Add getopt.
65312
65313 2007-03-11  Bruno Haible  <bruno@clisp.org>
65314
65315         * modules/modechange (Depends-on): Add stdbool.
65316
65317 2007-03-11  Bruno Haible  <bruno@clisp.org>
65318
65319         * modules/i-ring (Depends-on): Add stdbool.
65320
65321 2007-03-11  Bruno Haible  <bruno@clisp.org>
65322
65323         * modules/gc-des (Depends-on): Add stdbool.
65324
65325 2007-03-11  Bruno Haible  <bruno@clisp.org>
65326
65327         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
65328
65329 2007-03-11  Bruno Haible  <bruno@clisp.org>
65330
65331         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
65332
65333 2007-03-11  Bruno Haible  <bruno@clisp.org>
65334
65335         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
65336
65337 2007-03-11  Bruno Haible  <bruno@clisp.org>
65338
65339         * lib/vasnprintf.c (sprintf): Undefine.
65340
65341 2007-03-11  Bruno Haible  <bruno@clisp.org>
65342
65343         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
65344         initializers in SunPRO C and Compaq C compilers.
65345
65346 2007-03-11  Bruno Haible  <bruno@clisp.org>
65347
65348         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
65349         decrementing code ANSI C compliant.
65350
65351 2007-03-11  Bruno Haible  <bruno@clisp.org>
65352
65353         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
65354         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
65355
65356 2007-03-11  Bruno Haible  <bruno@clisp.org>
65357
65358         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
65359         <stdbool.h> substitute doesn't pass.
65360
65361 2007-03-11  Bruno Haible  <bruno@clisp.org>
65362
65363         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
65364
65365 2007-03-11  Bruno Haible  <bruno@clisp.org>
65366
65367         * gnulib-tool (func_create_megatestdir): Create also an autobuild
65368         script, for submission to autobuild.josefsson.org.
65369
65370 2007-03-10  Bruno Haible  <bruno@clisp.org>
65371
65372         * modules/canonicalize-lgpl-tests: New file.
65373         * tests/test-canonicalize-lgpl.sh: New file.
65374         * tests/test-canonicalize-lgpl.c: New file.
65375
65376         * modules/c-strcase-tests: New file.
65377         * tests/test-c-strcase.sh: New file.
65378         * tests/test-c-strcasecmp.c: New file.
65379         * tests/test-c-strncasecmp.c: New file.
65380
65381         * modules/atexit-tests: New file.
65382         * tests/test-atexit.sh: New file.
65383         * tests/test-atexit.c: New file.
65384
65385 2007-03-10  Bruno Haible  <bruno@clisp.org>
65386
65387         * tests/test-binary-io.sh: Use temporary filenames that are not so
65388         likely to clash with those of other tests (in a parallel make).
65389         * tests/test-binary-io.c: Likewise.
65390
65391 2007-03-10  Bruno Haible  <bruno@clisp.org>
65392
65393         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
65394         fallback; use #error instead.
65395         Suggested by Simon Josefsson.
65396
65397 2007-03-10  Bruno Haible  <bruno@clisp.org>
65398
65399         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
65400         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
65401         first and the last.
65402
65403 2007-03-10  Bruno Haible  <bruno@clisp.org>
65404
65405         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
65406
65407 2007-03-10  Bruno Haible  <bruno@clisp.org>
65408
65409         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
65410         "make distcheck".
65411         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
65412         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
65413         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
65414
65415 2007-03-10  Bruno Haible  <bruno@clisp.org>
65416
65417         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
65418         variable.
65419         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
65420         variable.
65421
65422 2007-03-09  Eric Blake  <ebb9@byu.net>
65423         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
65424
65425         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
65426         types are not being provided by gnulib.
65427         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
65428         types are supported.
65429
65430 2007-03-10  Bruno Haible  <bruno@clisp.org>
65431
65432         * lib/stdio_.h (__attribute__): New macro.
65433         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
65434         vsprintf): Specify __attribute__ __format__ for GCC.
65435         Suggested by Eric Blake.
65436
65437 2007-03-09  Bruno Haible  <bruno@clisp.org>
65438
65439         * modules/printf-posix-tests: New file.
65440         * tests/test-printf-posix.sh: New file.
65441         * tests/test-printf-posix.c: New file.
65442
65443         * modules/printf-posix: New file.
65444         * lib/printf.c: New file.
65445         * m4/printf-posix-rpl.m4: New file.
65446         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
65447         REPLACE_PRINTF.
65448         * lib/stdio_.h (printf): New declaration.
65449         (format, __format__, ____printf____, ____scanf____, ____strftime____,
65450         ____strfmon____): New macros.
65451         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
65452         REPLACE_PRINTF.
65453
65454 2007-03-09  Bruno Haible  <bruno@clisp.org>
65455
65456         * tests/test-vasnprintf-posix2.sh: New file.
65457         * tests/test-vasnprintf-posix2.c: New file.
65458         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
65459         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
65460         (Makefile.am): Activate test-vasnprintf-posix2.sh.
65461
65462         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
65463         a locale dependent decimal point, rather than always '.'.
65464
65465 2007-03-09  Eric Blake  <ebb9@byu.net>
65466
65467         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
65468         spite of platforms like Tandem/NSK that define it to -1.
65469
65470 2007-03-08  Bruno Haible  <bruno@clisp.org>
65471
65472         * modules/vprintf-posix-tests: New file.
65473         * tests/test-vprintf-posix.sh: New file.
65474         * tests/test-vprintf-posix.c: New file.
65475         * tests/test-printf-posix.h: New file.
65476
65477         * modules/vprintf-posix: New file.
65478         * lib/vprintf.c: New file.
65479         * m4/vprintf-posix.m4: New file.
65480         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
65481         REPLACE_VPRINTF.
65482         * lib/stdio_.h (vprintf): New declaration.
65483         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
65484         REPLACE_VPRINTF.
65485
65486 2007-03-08  Bruno Haible  <bruno@clisp.org>
65487
65488         * modules/fprintf-posix-tests: New file.
65489         * tests/test-fprintf-posix.sh: New file.
65490         * tests/test-fprintf-posix.c: New file.
65491
65492         * modules/fprintf-posix: New file.
65493         * lib/fprintf.c: New file.
65494         * m4/fprintf-posix.m4: New file.
65495         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
65496         REPLACE_FPRINTF.
65497         * lib/stdio_.h (fprintf): New declaration.
65498         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
65499         REPLACE_FPRINTF.
65500
65501 2007-03-08  Bruno Haible  <bruno@clisp.org>
65502
65503         * modules/vfprintf-posix-tests: New file.
65504         * tests/test-vfprintf-posix.sh: New file.
65505         * tests/test-vfprintf-posix.c: New file.
65506         * tests/test-fprintf-posix.h: New file.
65507         * tests/test-fprintf-posix.out: New file.
65508
65509         * modules/vfprintf-posix: New file.
65510         * lib/vfprintf.c: New file.
65511         * m4/vfprintf-posix.m4: New file.
65512         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
65513         REPLACE_VFPRINTF.
65514         * lib/stdio_.h (vfprintf): New declaration.
65515         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
65516         REPLACE_VFPRINTF.
65517
65518 2007-03-08  Bruno Haible  <bruno@clisp.org>
65519
65520         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
65521
65522 2007-03-08  Bruno Haible  <bruno@clisp.org>
65523
65524         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
65525         instead of 'expr' invocations.
65526         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65527         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65528         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65529         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65530         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65531         Suggested by Paul Eggert.
65532
65533 2007-03-08  Bruno Haible  <bruno@clisp.org>
65534
65535         * modules/fseterr-tests: New file.
65536         * tests/test-fseterr.c: New file.
65537
65538         * modules/fseterr: New file.
65539         * lib/fseterr.h: New file.
65540         * lib/fseterr.c: New file.
65541
65542 2007-03-08  Bruno Haible  <bruno@clisp.org>
65543
65544         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
65545         * lib/getopt_.h: Likewise.
65546         * lib/mbswidth.h: Likewise.
65547         * lib/setenv.h: Likewise.
65548         * lib/vasnprintf.h: Likewise.
65549         * lib/vasprintf.h: Likewise.
65550         * lib/verror.h: Likewise.
65551         * lib/xsetenv.h: Likewise.
65552         * lib/xvasprintf.h: Likewise.
65553
65554 2007-03-08  Jim Meyering  <jim@meyering.net>
65555
65556         * users.txt: Add parted.
65557
65558         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
65559
65560 2007-03-07  Bruno Haible  <bruno@clisp.org>
65561
65562         * m4/printf.m4: Make the shell script snippets copy&pastable.
65563
65564 2007-03-02  Bruno Haible  <bruno@clisp.org>
65565
65566         * lib/netinet_in_.h: New file.
65567         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
65568         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
65569         * modules/netinet_in (Files): Add lib/netinet_in_.h.
65570         (Depends-on): Add absolute-header.
65571         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
65572         into netinet/in.h.
65573
65574 2007-03-03  Bruno Haible  <bruno@clisp.org>
65575
65576         * lib/sys_select_.h: New file.
65577         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
65578         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
65579         * modules/sys_select (Files): Add lib/sys_select_.h.
65580         (Depends-on): Add absolute-header.
65581         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
65582         into sys/select.h.
65583
65584 2007-03-02  Bruno Haible  <bruno@clisp.org>
65585
65586         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
65587         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
65588         values.
65589         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
65590         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
65591         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
65592         * modules/sys_socket (Depends-on): Add absolute-header.
65593         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
65594         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
65595         (Include): Remove requirement of inclusion of <sys/types.h>.
65596
65597 2007-03-02  Bruno Haible  <bruno@clisp.org>
65598
65599         * lib/byteswap_.h (bswap_32): Fix formula.
65600
65601 2007-03-06  Bruno Haible  <bruno@clisp.org>
65602
65603         * modules/sprintf-posix-tests: New file.
65604         * tests/test-sprintf-posix.c: New file.
65605
65606         * modules/sprintf-posix: New file.
65607         * lib/sprintf.c: New file.
65608         * m4/sprintf-posix.m4: New file.
65609         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
65610         REPLACE_SPRINTF.
65611         * lib/stdio_.h (sprintf): New declaration.
65612         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
65613         REPLACE_SPRINTF.
65614
65615 2007-03-06  Bruno Haible  <bruno@clisp.org>
65616
65617         * modules/vsprintf-posix-tests: New file.
65618         * tests/test-vsprintf-posix.c: New file.
65619         * tests/test-sprintf-posix.h: New file.
65620
65621         * modules/vsprintf-posix: New file.
65622         * lib/vsprintf.c: New file.
65623         * m4/vsprintf-posix.m4: New file.
65624         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
65625         REPLACE_VSPRINTF.
65626         * lib/stdio_.h (vsprintf): New declaration.
65627         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
65628         REPLACE_VSPRINTF.
65629
65630 2007-03-06  Bruno Haible  <bruno@clisp.org>
65631
65632         * modules/vsnprintf (Depend-on): Remove minmax.
65633
65634 2007-03-06  Bruno Haible  <bruno@clisp.org>
65635
65636         * modules/snprintf-posix-tests: New file.
65637         * tests/test-snprintf-posix.c: New file.
65638
65639         * modules/snprintf-posix: New file.
65640         * m4/snprintf-posix.m4: New file.
65641         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
65642         gl_FUNC_SNPRINTF.
65643         (gl_FUNC_SNPRINTF): Invoke it.
65644         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
65645         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
65646         is set.
65647         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
65648
65649 2007-03-06  Bruno Haible  <bruno@clisp.org>
65650
65651         * modules/vsnprintf-posix-tests: New file.
65652         * tests/test-vsnprintf-posix.c: New file.
65653         * tests/test-snprintf-posix.h: New file.
65654
65655         * modules/vsnprintf-posix: New file.
65656         * m4/vsnprintf-posix.m4: New file.
65657         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
65658         gl_FUNC_VSNPRINTF.
65659         (gl_FUNC_VSNPRINTF): Invoke it.
65660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
65661         * lib/stdio_.h (vsnprintf): Define as a replacement if
65662         REPLACE_VSNPRINTF is set.
65663         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
65664
65665 2007-03-06  Bruno Haible  <bruno@clisp.org>
65666
65667         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
65668         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
65669
65670 2007-03-06  Bruno Haible  <bruno@clisp.org>
65671
65672         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
65673         (asinl): Declare also if HAVE_DECL_ASINL is set.
65674         (atanl): Declare also if HAVE_DECL_ATANL is set.
65675         (ceill): Declare also if HAVE_DECL_CEILL is set.
65676         (cosl): Declare also if HAVE_DECL_COSL is set.
65677         (expl): Declare also if HAVE_DECL_EXPL is set.
65678         (floorl): Declare also if HAVE_DECL_FLOORL is set.
65679         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
65680         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
65681         (logl): Declare also if HAVE_DECL_LOGL is set.
65682         (sinl): Declare also if HAVE_DECL_SINL is set.
65683         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
65684         (tanl): Declare also if HAVE_DECL_TANL is set.
65685         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
65686         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
65687         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
65688         declaration of frexpl, ldexpl.
65689         * modules/printf-frexpl (Depends-on): Add math.
65690         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
65691
65692 2007-03-05  Bruno Haible  <bruno@clisp.org>
65693
65694         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
65695         frexpl and ldexpl are declared.
65696         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
65697
65698 2007-03-05  Bruno Haible  <bruno@clisp.org>
65699
65700         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
65701         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
65702
65703 2007-03-05  Bruno Haible  <bruno@clisp.org>
65704
65705         * lib/stdio_.h: Include <stddef.h>.
65706
65707 2007-03-05  Bruno Haible  <bruno@clisp.org>
65708
65709         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
65710
65711 2007-03-05  Bruno Haible  <bruno@clisp.org>
65712
65713         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
65714         NetBSD 4, from Ralf Wildenhues.
65715
65716 2007-03-04  Bruno Haible  <bruno@clisp.org>
65717
65718         * lib/vasprintf.h: Update #if logic for the case when the functions
65719         exist but are overridden.
65720
65721 2007-03-04  Bruno Haible  <bruno@clisp.org>
65722
65723         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
65724         implementations: glibc-2.4 and MacOS X 10.3.
65725         * tests/test-vasnprintf-posix.c (test_function): Test also the case
65726         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
65727         * tests/test-vasprintf-posix.c (test_function): Likewise.
65728
65729 2007-03-04  Bruno Haible  <bruno@clisp.org>
65730
65731         * modules/vasprintf-posix-tests: New file.
65732         * tests/test-vasprintf-posix.c: New file.
65733
65734         * modules/vasprintf-posix: New file.
65735         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
65736         defined.
65737         * m4/vasprintf-posix.m4: New file.
65738         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
65739         gl_FUNC_VASPRINTF.
65740         (gl_FUNC_VASPRINTF): Invoke it.
65741         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
65742         here.
65743         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
65744
65745 2007-03-04  Bruno Haible  <bruno@clisp.org>
65746
65747         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
65748         REPLACE_GETTIMEOFDAY.
65749         * modules/sys_time (Makefile.am): Likewise.
65750         * m4/sys_time_h.m4: Likewise.
65751         * m4/gettimeofday.m4: Likewise.
65752
65753 2007-03-04  Bruno Haible  <bruno@clisp.org>
65754
65755         * modules/vasnprintf-posix-tests: New file.
65756         * tests/test-vasnprintf-posix.c: New file.
65757
65758         * modules/vasnprintf-posix: New file.
65759         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
65760         printf-frexpl.h.
65761         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
65762         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
65763         REPLACE_VASNPRINTF is defined.
65764         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
65765         gl_FUNC_VASNPRINTF.
65766         (gl_FUNC_VASNPRINTF): Invoke it.
65767         * m4/vasnprintf-posix.m4: New file.
65768         * m4/printf.m4: New file.
65769
65770 2007-03-04  Bruno Haible  <bruno@clisp.org>
65771
65772         Compile progreloc.c only if --enable-relocatable is specified.
65773         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
65774         if --enable-relocatable was specified.
65775         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
65776         lib_SOURCES.
65777
65778 2007-03-04  Jim Meyering  <jim@meyering.net>
65779
65780         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
65781         Use it consistently, rather than enumerating errno constants.
65782
65783 2007-03-04  Bruno Haible  <bruno@clisp.org>
65784
65785         * modules/xvasprintf-tests: New file.
65786         * tests/test-xvasprintf.c: New file.
65787
65788         * modules/vasprintf-tests: New file.
65789         * tests/test-vasprintf.c: New file.
65790
65791         * modules/vasnprintf-tests: New file.
65792         * tests/test-vasnprintf.c: New file.
65793
65794         * modules/vsnprintf-tests: New file.
65795         * tests/test-vsnprintf.c: New file.
65796
65797         * modules/snprintf-tests: New file.
65798         * tests/test-snprintf.c: New file.
65799
65800 2007-03-04  Bruno Haible  <bruno@clisp.org>
65801
65802         Compile relocatable.c only if --enable-relocatable is specified.
65803         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
65804         gl_RELOCATABLE_LIBRARY.
65805         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
65806         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
65807         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
65808         gl_RELOCATABLE_LIBRARY.
65809         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
65810         (Makefile.am): Remove lib_SOURCES.
65811         * modules/relocatable-lib-lgpl (configure.ac): Invoke
65812         gl_RELOCATABLE_LIBRARY.
65813         (Makefile.am): Remove lib_SOURCES.
65814         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
65815         always.
65816         * modules/relocatable-prog-wrapper (configure.ac): Invoke
65817         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
65818
65819 2007-03-04  Bruno Haible  <bruno@clisp.org>
65820
65821         * modules/argmatch-tests: New file.
65822         * tests/test-argmatch.c: New file.
65823
65824         * tests/test-allocsa.c (main): Halve the number of loop runs.
65825
65826         * modules/alloca-opt-tests: New file.
65827         * tests/test-alloca-opt.c: New file.
65828
65829 2007-03-04  Jim Meyering  <jim@meyering.net>
65830
65831         Work around difference between Linux ACLs and Solaris 10 ZFS.
65832         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
65833         for EINVAL.
65834
65835 2007-03-03  Bruno Haible  <bruno@clisp.org>
65836
65837         * modules/relocatable-prog (Depends-on): Add back progreloc's
65838         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
65839
65840 2007-03-03  Bruno Haible  <bruno@clisp.org>
65841
65842         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
65843         * modules/relocatable-lib: New file.
65844
65845 2007-03-03  Bruno Haible  <bruno@clisp.org>
65846
65847         * modules/relocatable-prog: Renamed from modules/relocatable.
65848         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
65849
65850 2007-03-03  Bruno Haible  <bruno@clisp.org>
65851
65852         * modules/relocatable-script (Files): Add doc/relocatable.texi,
65853         m4/relocatable-lib.m4.
65854         (Depends-on): Remove 'relocatable'.
65855         (configure.ac): Add gl_RELOCATABLE_NOP.
65856
65857 2007-03-03  Bruno Haible  <bruno@clisp.org>
65858
65859         * modules/relocatable-prog-wrapper: New file.
65860         * modules/relocatable (Depends-on): Add it. Remove all other
65861         dependencies except progname.
65862         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
65863
65864         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
65865         (gl_FUNC_STRERROR): Nop.
65866         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
65867
65868         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
65869         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
65870
65871         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
65872         (gl_FUNC_READLINK): Update.
65873
65874         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
65875
65876 2007-03-03  Bruno Haible  <bruno@clisp.org>
65877
65878         * lib/xreadlink.c: Include <unistd.h> unconditionally.
65879         * modules/xreadlink (Depends-on): Add unistd.
65880         * modules/xreadlink-with-size (Depends-on): Likewise.
65881
65882 2007-03-03  Bruno Haible  <bruno@clisp.org>
65883
65884         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
65885         extracted from gt_FUNC_SETENV.
65886         (gt_FUNC_SETENV): Remove macro.
65887         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
65888         remove gt_FUNC_SETENV.
65889
65890 2007-03-03  Bruno Haible  <bruno@clisp.org>
65891
65892         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
65893         ENABLE_RELOCATABLE here.
65894         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
65895
65896 2007-03-03  Bruno Haible  <bruno@clisp.org>
65897
65898         * modules/rbtreehash-list-tests (Depends-on): Add progname.
65899         * tests/test-rbtreehash_list.c: Include progname.h.
65900         (main): Call set_program_name.
65901
65902         * modules/rbtree-oset-tests (Depends-on): Add progname.
65903         * tests/test-rbtree_oset.c: Include progname.h.
65904         (main): Call set_program_name.
65905
65906         * modules/rbtree-list-tests (Depends-on): Add progname.
65907         * tests/test-rbtree_list.c: Include progname.h.
65908         (main): Call set_program_name.
65909
65910         * modules/linked-list-tests (Depends-on): Add progname.
65911         * tests/test-linked_list.c: Include progname.h.
65912         (main): Call set_program_name.
65913
65914 2007-03-03  Bruno Haible  <bruno@clisp.org>
65915
65916         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
65917         All uses of __restrict changed to _Restrict_.
65918         * lib/glob_.h (__restrict): Remove macro.
65919
65920 2007-03-02  Bruno Haible  <bruno@clisp.org>
65921
65922         * modules/gettext (configure.ac): Require gettext infrastructure
65923         from version 0.16.1.
65924
65925 2007-03-02  Bruno Haible  <bruno@clisp.org>
65926
65927         * modules/linkedhash-list-tests (Depends-on): Add progname.
65928         * tests/test-linkedhash_list.c: Include progname.h.
65929         (main): Call set_program_name.
65930
65931         * modules/carray-list-tests (Depends-on): Add progname.
65932         * tests/test-carray_list.c: Include progname.h.
65933         (main): Call set_program_name.
65934
65935         * modules/avltreehash-list-tests (Depends-on): Add progname.
65936         * tests/test-avltreehash_list.c: Include progname.h.
65937         (main): Call set_program_name.
65938
65939         * modules/avltree-oset-tests (Depends-on): Add progname.
65940         * tests/test-avltree_oset.c: Include progname.h.
65941         (main): Call set_program_name.
65942
65943         * modules/avltree-list-tests (Depends-on): Add progname.
65944         * tests/test-avltree_list.c: Include progname.h.
65945         (main): Call set_program_name.
65946
65947         * modules/array-oset-tests (Depends-on): Add progname.
65948         * tests/test-array_oset.c: Include progname.h.
65949         (main): Call set_program_name.
65950
65951         * modules/array-list-tests (Depends-on): Add progname.
65952         * tests/test-array_list.c: Include progname.h.
65953         (main): Call set_program_name.
65954
65955         * modules/argp-tests (Depends-on): Add progname.
65956         * tests/test-argp.c: Include argp.h first. Include progname.h.
65957         (main): Call set_program_name.
65958
65959 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
65960
65961         * doc/gnulib-tool.texi (Initial import): Reword description of
65962         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
65963         limited effect even if defined after the first system include.
65964
65965 2007-03-01  Bruno Haible  <bruno@clisp.org>
65966
65967         * build-aux/config.libpath: Update to libtool-1.5.22.
65968         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65969
65970 2007-03-01  Bruno Haible  <bruno@clisp.org>
65971
65972         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
65973         foo_CFLAGS.
65974         Reported by Ralf Wildenhues.
65975
65976 2007-03-01  Bruno Haible  <bruno@clisp.org>
65977
65978         * build-aux/install-reloc: Remove object files left over by some
65979         compilers.
65980         Reported by Ralf Wildenhues.
65981
65982 2007-03-01  Bruno Haible  <bruno@clisp.org>
65983
65984         * build-aux/install-reloc: Break long lines.
65985
65986 2007-03-01  Bruno Haible  <bruno@clisp.org>
65987
65988         * doc/relocatable.texi: Document that it may not work on OpenBSD.
65989         Reported by Ralf Wildenhues.
65990
65991 2007-03-01  Bruno Haible  <bruno@clisp.org>
65992
65993         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
65994         include ordering constraints.
65995
65996 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65997
65998         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
65999         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66000         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66001         as another example.
66002         * lib/time_.h: Fix misspelling.
66003         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66004         Require gl_HEADER_TIME_H_DEFAULTS.
66005         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66006         * m4/time_r.m4 (gl_TIME_R): Likewise.
66007         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66008
66009 2007-03-01  Bruno Haible  <bruno@clisp.org>
66010
66011         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66012         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66013
66014 2007-03-01  Jim Meyering  <jim@meyering.net>
66015
66016         * modules/xreadlink (Maintainer): Add my name.
66017         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66018
66019 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66020             Bruno Haible  <bruno@clisp.org>
66021
66022         * build-aux/install-reloc: Compile also c-ctype.c.
66023         * build-aux/relocatable.sh.in: New file.
66024         * doc/relocatable.texi: New file.
66025         * doc/relocatable-maint.texi: New file.
66026         * doc/gnulib.texi: Include relocatable-maint.texi.
66027         * lib/progreloc.c: Include unistd.h unconditionally.
66028         * lib/relocwrapper.c: Include unistd.h unconditionally.
66029         Include c-ctype.h.
66030         (add_dotbin): Use c_tolower.
66031         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66032         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66033         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66034         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66035         to m4/relocatable-lib.m4.
66036         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66037         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66038         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66039         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66040         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66041         * modules/relocatable: New file.
66042         * modules/relocatable-lib: New file.
66043         * modules/relocatable-script: New file.
66044
66045 2007-02-28  Bruno Haible  <bruno@clisp.org>
66046
66047         Import --enable-relocatable infrastructure.
66048         * build-aux/config.libpath: New file, from GNU gettext.
66049         * build-aux/install-reloc: New file, from GNU gettext.
66050         * build-aux/reloc-ldflags: New file, from GNU gettext.
66051         * lib/relocatable.h: New file, from GNU gettext.
66052         * lib/relocatable.c: New file, from GNU gettext.
66053         * lib/relocwrapper.c: New file, from GNU gettext.
66054         * m4/relocatable.m4: New file, from GNU gettext.
66055
66056 2007-02-28  Bruno Haible  <bruno@clisp.org>
66057
66058         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66059
66060         * modules/xreadlink: New file, from GNU gettext with modifications.
66061         * lib/xreadlink.c: New file, from GNU gettext.
66062         * lib/xreadlink.h: Add comments.
66063         (xreadlink): New declaration.
66064
66065         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66066         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66067         lib/xreadlink-with-size.c.
66068         (configure.ac): Remove gl_XREADLINK invocation.
66069         (Makefile.am): Augment lib_SOURCES.
66070         * m4/xreadlink.m4: Remove file.
66071         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66072         (xreadlink_with_size): Renamed from xreadink.
66073         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66074         * modules/canonicalize (Depends-on): Replace xreadlink with
66075         xreadlink-with-size.
66076         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66077
66078 2007-02-25  Jim Meyering  <jim@meyering.net>
66079
66080         * build-aux/announce-gen: When complaining about excess arguments,
66081         list them.
66082
66083 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66084
66085         * README: Document signed integer overflow situation more
66086         accurately.
66087
66088 2007-02-25  Bruno Haible  <bruno@clisp.org>
66089
66090         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66091         'a' or 'A' conversion.
66092
66093 2007-02-25  Bruno Haible  <bruno@clisp.org>
66094
66095         * modules/filename: Renamed from modules/pathname.
66096         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66097         lib/concatpath.c with lib/concat-filename.c.
66098         (Makefile.am): Update.
66099         (Include): Replace pathname.h with filename.h.
66100         * lib/filename.h: Renamed from lib/pathname.h.
66101         (concatenated_filename): Renamed from concatenated_pathname.
66102         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66103         (concatenated_filename): Renamed from concatenated_pathname.
66104         * lib/findprog.c: Include filename.h instead of pathname.h.
66105         (find_in_path): Update.
66106         * lib/javacomp.c: Include filename.h instead of pathname.h.
66107         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66108         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66109         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66110         is_oldgcj_14_13_usable, is_javac_usable): Update.
66111         * lib/javaexec.c: Include filename.h instead of pathname.h.
66112         (execute_java_class): Update.
66113         * modules/findprog: Update.
66114         * modules/javacomp: Update.
66115         * modules/javaexec: Update.
66116         * MODULES.html.sh (File system functions): Add 'filename', remove
66117         'pathname'.
66118
66119 2007-02-25  Bruno Haible  <bruno@clisp.org>
66120
66121         * modules/printf-frexpl-tests: New file.
66122         * tests/test-printf-frexpl.c: New file.
66123
66124         * modules/printf-frexpl: New file.
66125         * lib/printf-frexpl.h: New file.
66126         * lib/printf-frexpl.c: New file.
66127         * m4/printf-frexpl.m4: New file.
66128
66129 2007-02-25  Bruno Haible  <bruno@clisp.org>
66130
66131         * modules/printf-frexp-tests: New file.
66132         * tests/test-printf-frexp.c: New file.
66133
66134         * modules/printf-frexp: New file.
66135         * lib/printf-frexp.h: New file.
66136         * lib/printf-frexp.c: New file.
66137         * m4/printf-frexp.m4: New file.
66138
66139 2007-02-25  Bruno Haible  <bruno@clisp.org>
66140
66141         Assume automake >= 1.10 for the tests.
66142         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66143         * modules/arctwo-tests: Likewise.
66144         * modules/argp-tests: Likewise.
66145         * modules/avltree-list-tests: Likewise.
66146         * modules/avltree-oset-tests: Likewise.
66147         * modules/avltreehash-list-tests: Likewise.
66148         * modules/carray-list-tests: Likewise.
66149         * modules/crc-tests: Likewise.
66150         * modules/des-tests: Likewise.
66151         * modules/gc-arcfour-tests: Likewise.
66152         * modules/gc-arctwo-tests: Likewise.
66153         * modules/gc-des-tests: Likewise.
66154         * modules/gc-hmac-md5-tests: Likewise.
66155         * modules/gc-hmac-sha1-tests: Likewise.
66156         * modules/gc-md2-tests: Likewise.
66157         * modules/gc-md4-tests: Likewise.
66158         * modules/gc-md5-tests: Likewise.
66159         * modules/gc-pbkdf2-sha1-tests: Likewise.
66160         * modules/gc-rijndael-tests: Likewise.
66161         * modules/gc-sha1-tests: Likewise.
66162         * modules/gc-tests: Likewise.
66163         * modules/getaddrinfo-tests: Likewise.
66164         * modules/hmac-md5-tests: Likewise.
66165         * modules/hmac-sha1-tests: Likewise.
66166         * modules/linked-list-tests: Likewise.
66167         * modules/linkedhash-list-tests: Likewise.
66168         * modules/lock-tests: Likewise.
66169         * modules/md2-tests: Likewise.
66170         * modules/md4-tests: Likewise.
66171         * modules/md5-tests: Likewise.
66172         * modules/rbtree-list-tests: Likewise.
66173         * modules/rbtree-oset-tests: Likewise.
66174         * modules/rbtreehash-list-tests: Likewise.
66175         * modules/read-file-tests: Likewise.
66176         * modules/rijndael-tests: Likewise.
66177         * modules/stdint-tests: Likewise.
66178         * modules/tls-tests: Likewise.
66179
66180 2007-02-24  Bruno Haible  <bruno@clisp.org>
66181
66182         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66183         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66184         function; instead check whether isnan with a double argument links.
66185         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66186         function; instead check whether isnan with a 'long double' argument
66187         links.
66188         Reported by Eric Blake <ebb9@byu.net>.
66189
66190 2007-02-24  Bruno Haible  <bruno@clisp.org>
66191
66192         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
66193         defined.
66194         * lib/isnanl.c: Remove all code. Just include isnan.c.
66195         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
66196
66197 2007-02-25  Jim Meyering  <jim@meyering.net>
66198
66199         Avoid conflicting types for 'unsetenv' on FreeBSD.
66200         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
66201         conflicting with FreeBSD's (5.0 and 6.1) function declaration
66202         in stdlib.h.
66203
66204 2007-02-24  Bruno Haible  <bruno@clisp.org>
66205
66206         * modules/isnanl-nolibm-tests: New file.
66207         * tests/test-isnanl.c: New file.
66208
66209         * modules/isnanl-nolibm: New file.
66210         * lib/isnanl.h: New file.
66211         * lib/isnanl.c: New file.
66212         * m4/isnanl.m4: New file.
66213
66214 2007-02-24  Bruno Haible  <bruno@clisp.org>
66215
66216         * modules/isnan-nolibm-tests: New file.
66217         * tests/test-isnan.c: New file.
66218
66219         * modules/isnan-nolibm: New file.
66220         * lib/isnan.h: New file.
66221         * lib/isnan.c: New file.
66222         * m4/isnan.m4: New file.
66223
66224 2007-02-24  Bruno Haible  <bruno@clisp.org>
66225
66226         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
66227         assume that an exponent fits in 20 bits.
66228
66229 2007-02-24  Jim Meyering  <jim@meyering.net>
66230
66231         * m4/regex.m4: Update the description of the configure-time option,
66232         --without-included-regex, to state accurately what the defaults are,
66233         and perhaps to give people an idea why using this option is risky.
66234
66235 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66236
66237         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
66238         loops on small arguments.  This attempts to avoid the problem
66239         Bruno Haible reported for AIX 4.3.2 in
66240         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
66241
66242 2007-02-23  Bruno Haible  <bruno@clisp.org>
66243
66244         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
66245         Needed for help2man.
66246
66247 2007-02-23  Karl Berry  <karl@gnu.org>
66248
66249         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
66250         exists, foo.h should be cvs-ignored, not committed.
66251
66252 2007-02-23  Eric Blake  <ebb9@byu.net>
66253
66254         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
66255         * lib/stat-time.h (includes): Likewise.
66256         * lib/utimecmp.c (includes): Likewise.
66257         * lib/utimens.h (includes): Likewise.
66258         * lib/getdate.y (includes): Also include "timespec.h" for use
66259         internal to the module.
66260         * modules/utimens (Depends-on): Revert yesterday's patch.
66261         * modules/nanosleep (Depends-on): Add missing dependency.
66262
66263 2007-02-22  Bruno Haible  <bruno@clisp.org>
66264
66265         * lib/glob.c: Don't include getlogin_r.h.
66266
66267 2007-02-22  Jim Meyering  <jim@meyering.net>
66268
66269         * modules/utimens (Depends-on): Add timespec, required for
66270         utimens.h's inclusion of timespec.h.
66271
66272 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
66273
66274         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
66275         long unreadable paths in GNU/Linux.  Problem reported by Andreas
66276         Schwab in
66277         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
66278         I'll try to think of a better way to fix the Solaris problem.
66279
66280         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
66281         like glibc; on Solaris 10, it fails with errno == EINVAL.
66282         POSIX says the behavior is unspecified if the first argument is NULL,
66283         so play it safe and never pass NULL to the system getcwd.
66284
66285 2007-02-21  Jim Meyering  <jim@meyering.net>
66286
66287         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
66288         of gettimeofday.  It would conflict with the one now always
66289         provided via sys_time_.h.  Reported by Matthew Woehlke, as
66290         an IRIX 6.5 build failure.
66291
66292 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66293
66294         Minor fixups to port to Solaris 10 with Sun C 5.8.
66295         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
66296         * modules/getcwd (Depends-on): Add dirfd.
66297         * lib/putenv.c (putenv): #undef it.
66298         (rpl_putenv): New decl.
66299         (malloc, free): Include <stdlib.h> rather than prototyping separately.
66300
66301 2007-02-20  Bruno Haible  <bruno@clisp.org>
66302
66303         * modules/stdio-tests: New file.
66304         * tests/test-stdio.c: New file.
66305
66306         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
66307         (Depends-on): Add stdio.
66308         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66309         (Include): Use <stdio.h> instead of vsnprintf.h.
66310         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66311         HAVE_DECL_VSNPRINTF.
66312         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
66313
66314         * modules/snprintf (Files): Remove lib/snprintf.h.
66315         (Depends-on): Add stdio.
66316         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66317         (Include): Use <stdio.h> instead of snprintf.h.
66318         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66319         HAVE_DECL_SNPRINTF.
66320         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
66321         * lib/getaddrinfo.c: Likewise.
66322
66323         * modules/stdio: New file.
66324         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
66325         * lib/snprintf.h: Remove file.
66326         * lib/vsnprintf.h: Remove file.
66327         * lib/.cppi-disable: Remove snprintf.h.
66328         * m4/stdio_h.m4: New file.
66329         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
66330
66331 2007-02-20  Jim Meyering  <jim@meyering.net>
66332
66333         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
66334         used by e.g., mingw.  From Bruno Haible.
66335
66336 2007-02-19  Bruno Haible  <bruno@clisp.org>
66337
66338         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
66339         warnings.
66340         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66341
66342 2007-02-19  Bruno Haible  <bruno@clisp.org>
66343
66344         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
66345         from mingw users.
66346
66347 2007-02-19  Bruno Haible  <bruno@clisp.org>
66348
66349         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
66350         warnings.
66351         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
66352
66353 2007-02-19  Jim Meyering  <jim@meyering.net>
66354
66355         Don't use FD after a successful "fdopendir (fd)".
66356         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
66357         Reset it by calling dirfd on the just-obtained DIR*.
66358
66359         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
66360         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
66361
66362 2007-02-18  Bruno Haible  <bruno@clisp.org>
66363
66364         * lib/readlink.c: Include <unistd.h>.
66365         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
66366         HAVE_READLINK.
66367         * modules/readlink (Depends-on): Add unistd.
66368         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66369         (Include): Add <unistd.h>.
66370
66371         * lib/getlogin_r.h: Remove file.
66372         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
66373         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
66374         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
66375         HAVE_DECL_GETLOGIN_R.
66376         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
66377         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66378         (Include): Use <unistd.h> instead of getlogin_r.h.
66379
66380         * lib/getcwd.h: Remove file.
66381         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
66382         * lib/xgetcwd.c: Likewise.
66383         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
66384         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
66385         * modules/getcwd (Files): Remove lib/getcwd.h.
66386         (Depends-on): Add unistd.
66387         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66388         (Include): Use <unistd.h> instad of getcwd.h.
66389
66390         * lib/ftruncate.c: Include <unistd.h> first.
66391         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
66392         Set HAVE_FTRUNCATE.
66393         * modules/ftruncate (Depends-on): Add unistd.
66394         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66395
66396         * lib/fchdir.c: Include <unistd.h> first.
66397         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
66398         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
66399         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
66400         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66401         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
66402
66403         * lib/dup2.c: Include <unistd.h> first.
66404         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
66405         HAVE_DUP2.
66406         * modules/dup2 (Depends-on): Add unistd.
66407         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66408
66409         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
66410         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
66411         REPLACE_CHOWN. Don't define chown as a macro here.
66412         * modules/chown (Depends-on): Add unistd.
66413         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66414
66415         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
66416         Add definition for GL_LINK_WARNING.
66417         (chown, dup2): New declarations.
66418         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
66419         link warning.
66420         (ftruncate): New declaration.
66421         (getcwd): New declaration, taken from old getcwd.h.
66422         (getlogin_r): New declaration, taken from old getlogin_r.h.
66423         (readlink): New declaration.
66424         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
66425         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
66426         (gl_PREREQ_UNISTD): Remove macro.
66427         (gl_UNISTD_MODULE_INDICATOR): New macro.
66428         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
66429         many new variables. Don't set UNISTD_H.
66430         * modules/unistd (Description): Change.
66431         (Depends-on): Add link-warning.
66432         (configure.ac): Update.
66433         (Makefile.am): Create unistd.h always. Substitute many new variables
66434         into it.
66435
66436 2007-02-18  Bruno Haible  <bruno@clisp.org>
66437
66438         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
66439         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
66440         HAVE_GETSUBOPT.
66441         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
66442         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
66443         * lib/getsubopt.h: Remove file.
66444         * modules/getsubopt (Files): Remove lib/getsubopt.h.
66445         (Depends-on): Add stdlib.
66446         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66447         (Includes): Use <stdlib.h> instead of getsubopt.h.
66448         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
66449         Set HAVE_GETSUBOPT.
66450         * lib/getsubopt.c: Don't include getsubopt.h.
66451
66452 2007-02-18  Bruno Haible  <bruno@clisp.org>
66453
66454         * modules/fchdir (Depends-on): Add dup2.
66455
66456 2007-02-18  Bruno Haible  <bruno@clisp.org>
66457
66458         * lib/stdlib_.h: Handle glibc's special invocation convention
66459         specially.
66460
66461 2007-02-18  Bruno Haible  <bruno@clisp.org>
66462
66463         * modules/stdlib-tests: New file.
66464         * tests/test-stdlib.c: New file.
66465
66466         * modules/mkstemp (Files): Remove lib/mkstemp.h.
66467         (Depends-on): Add stdlib.
66468         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66469         (Includes): Use <stdlib.h> instead of mkstemp.h.
66470         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66471         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
66472         * lib/mkstemp.c: Don't include mkstemp.h.
66473         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
66474         * lib/stdlib--.h: Don't include mkstemp.h.
66475
66476         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
66477         (Depends-on): Add stdlib.
66478         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66479         (Includes): Use <stdlib.h> instead of mkdtemp.h.
66480         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66481         HAVE_MKDTEMP.
66482         * lib/mkdtemp.c: Don't include mkdtemp.h.
66483         * lib/clean-temp.c: Don't include mkdtemp.h.
66484
66485         * modules/exit (Files): Remove lib/exit.h.
66486         (Depends-on): Add stdlib.
66487         (Makefile.am): Remove lib_SOURCES.
66488         (Include): Use <stdlib.h> instead of exit.h.
66489         * lib/argmatch.c: Don't include exit.h.
66490         * lib/execute.c: Likewise.
66491         * lib/pagealign_alloc.c: Likewise.
66492         * lib/pipe.c: Likewise.
66493         * lib/wait-process.c: Likewise.
66494         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
66495         * lib/exitfail.c: Likewise.
66496         * lib/savewd.c: Likewise.
66497         * lib/xsetenv.c: Likewise.
66498
66499         * modules/stdlib: New file.
66500         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
66501         and extra comments about mkstemp().
66502         * lib/exit.h: Remove file.
66503         * lib/mkdtemp.h: Remove file.
66504         * lib/mkstemp.h: Remove file.
66505         * m4/stdlib_h.m4: New file.
66506         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
66507
66508 2007-02-18  Bruno Haible  <bruno@clisp.org>
66509
66510         * modules/math-tests: New file.
66511         * tests/test-math.c: New file.
66512
66513         * modules/math: New file.
66514         * modules/mathl (Files): Remove lib/mathl.h.
66515         (Depends-on): Add math.
66516         (Makefile.am): Don't mention mathl.h.
66517         (Include): Use <math.h> instead of mathl.h.
66518         * lib/math_.h: New file.
66519         * lib/mathl.h: Remove file.
66520         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
66521         mathl.h.
66522         * lib/asinl.c: Likewise.
66523         * lib/atanl.c: Likewise.
66524         * lib/ceill.c: Likewise.
66525         * lib/cosl.c: Likewise.
66526         * lib/expl.c: Likewise.
66527         * lib/floorl.c: Likewise.
66528         * lib/frexpl.c: Likewise.
66529         * lib/ldexpl.c: Likewise.
66530         * lib/logl.c: Likewise.
66531         * lib/sincosl.c: Likewise.
66532         * lib/sinl.c: Likewise.
66533         * lib/sqrtl.c: Likewise.
66534         * lib/tanl.c: Likewise.
66535         * lib/trigl.c: Likewise.
66536         * m4/math_h.m4: New file.
66537         * MODULES.html.sh (Mathematics): Add math.
66538
66539 2007-02-17  Bruno Haible  <bruno@clisp.org>
66540
66541         * modules/wctype-tests: New file.
66542         * tests/test-wctype.c: New file.
66543
66544         * modules/wchar-tests: New file.
66545         * tests/test-wchar.c: New file.
66546
66547         * modules/unistd-tests: New file.
66548         * tests/test-unistd.c: New file.
66549
66550         * modules/time-tests: New file.
66551         * tests/test-time.c: New file.
66552
66553         * modules/sysexits-tests: New file.
66554         * tests/test-sysexits.c: New file.
66555
66556         * modules/sys_time-tests: New file.
66557         * tests/test-sys_time.c: New file.
66558
66559         * modules/sys_stat-tests: New file.
66560         * tests/test-sys_stat.c: New file.
66561
66562         * modules/sys_socket-tests: New file.
66563         * tests/test-sys_socket.c: New file.
66564
66565         * modules/sys_select-tests: New file.
66566         * tests/test-sys_select.c: New file.
66567
66568         * modules/string-tests: New file.
66569         * tests/test-string.c: New file.
66570
66571         * modules/stdbool-tests: New file.
66572         * tests/test-stdbool.c: New file.
66573
66574         * modules/netinet_in-tests: New file.
66575         * tests/test-netinet_in.c: New file.
66576
66577         * modules/inttypes-tests: New file.
66578         * tests/test-inttypes.c: New file.
66579
66580         * modules/fcntl-tests: New file.
66581         * tests/test-fcntl.c: New file.
66582
66583         * modules/byteswap-tests: New file.
66584         * tests/test-byteswap.c: New file.
66585
66586         * modules/arpa_inet-tests: New file.
66587         * tests/test-arpa_inet.c: New file.
66588
66589 2007-02-17  Bruno Haible  <bruno@clisp.org>
66590
66591         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
66592         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
66593         if the corresponding module is not enabled. Emit link warnings if
66594         the function is used nevertheless.
66595         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
66596         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
66597         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
66598         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
66599         * modules/inttypes (Depends-on): Add link-warning.
66600         (Makefile.am): Copy the contents of build-aux/link-warning.h into
66601         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
66602         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
66603         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
66604         * modules/imaxdiv (configure.ac): Likewise.
66605         * modules/strtoimax (configure.ac): Likewise.
66606         * modules/strtoumax (configure.ac): Likewise.
66607
66608 2007-02-17  Bruno Haible  <bruno@clisp.org>
66609
66610         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
66611         gl_STRING_MODULE_INDICATOR_DEFAULTS.
66612         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
66613         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
66614
66615 2007-02-17  Bruno Haible  <bruno@clisp.org>
66616
66617         * modules/link-warning: New file.
66618         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
66619         * lib/string_.h (GL_LINK_WARNING): Remove definition.
66620         * modules/string (Depends-on): Add link-warning.
66621         (Makefile.am): Copy the contents of build-aux/link-warning.h into
66622         string.h.
66623         * MODULES.html.sh (Support for building libraries and executables): Add
66624         link-warning.
66625
66626 2007-02-17  Bruno Haible  <bruno@clisp.org>
66627
66628         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
66629         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
66630         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
66631         long lines.
66632
66633 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
66634             Bruno Haible  <bruno@clisp.org>
66635
66636         * modules/tmpfile: New file.
66637         * lib/tmpfile.c: New file.
66638         * m4/tmpfile.m4: New file.
66639         * MODULES.html.sh (func_all_modules): New section "Input/output".
66640
66641 2007-02-15  Bruno Haible  <bruno@clisp.org>
66642
66643         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
66644         (supports_delete_on_close): New function.
66645         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
66646
66647 2007-02-14  Bruno Haible  <bruno@clisp.org>
66648
66649         * modules/mbspcasecmp-tests: New file.
66650         * tests/test-mbspcasecmp.sh: New file.
66651         * tests/test-mbspcasecmp.c: New file.
66652
66653         New module mbspcasecmp.
66654         * modules/mbspcasecmp: New file.
66655         * lib/mbspcasecmp.c: New file.
66656         * lib/string_.h (strncasecmp): Change warning message.
66657         (mbspcasecmp): New declaration.
66658         * m4/mbspcasecmp.m4: New file.
66659         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66660         GNULIB_MBSPCASECMP.
66661         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
66662         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
66663
66664 2007-02-14  Bruno Haible  <bruno@clisp.org>
66665
66666         * modules/mbsncasecmp-tests: New file.
66667         * tests/test-mbsncasecmp.sh: New file.
66668         * tests/test-mbsncasecmp.c: New file.
66669
66670         New module mbsncasecmp.
66671         * modules/mbsncasecmp: New file.
66672         * lib/mbsncasecmp.c: New file.
66673         * lib/string_.h (mbsncasecmp): New declaration.
66674         * m4/mbsncasecmp.m4: New file.
66675         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66676         GNULIB_MBSNCASECMP.
66677         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
66678         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
66679
66680 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
66681
66682         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
66683         Verify that it doesn't overlap with our flags.
66684         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
66685         do not have the desired effect in multibyte locales; instead, use
66686         mbscasecmp.
66687         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
66688         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
66689         we don't require GNU fnmatch ourselves (if our users require it, they
66690         should do so explicitly).
66691
66692         Fix regex code so it doesn't rely on strcasecmp.
66693         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
66694         Otherwise, include gnulib's langinfo.h.
66695         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
66696         undesirable behavior in non-C locales.  Instead, rely on localecharset.
66697         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
66698         * modules/regex (FILES): Remove m4/codeset.m4.
66699         (Depends-on): Add localcharset.  Remove strcase.
66700
66701 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66702
66703         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
66704         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
66705
66706 2007-02-13  Bruno Haible  <bruno@clisp.org>
66707
66708         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
66709         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66710
66711 2007-02-12  Bruno Haible  <bruno@clisp.org>
66712
66713         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66714         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
66715         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
66716         time warning rather than a link error.
66717
66718 2007-02-12  Bruno Haible  <bruno@clisp.org>
66719
66720         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
66721         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
66722         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66723
66724 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66725
66726         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
66727         args, not 2.
66728
66729 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66730
66731         New module 'time', so that apps can include <time.h> as per
66732         POSIX and GNU instead of separate include files like time_r.h
66733         and timegm.h.  This implementation tries out a simpler approach
66734         for replacing decls in standard include files (as compared to
66735         the string module), somewhat as an experiment.
66736
66737         * config/srclist.txt: Comment out mktime.c for now.
66738         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
66739         since it doesn't apply any more.  Use generic wording instead.
66740         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
66741         'time'.
66742         * lib/time_.h, m4/time_h.m4, modules/time: New files.
66743         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
66744         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
66745         Don't include <sys/types.h>; no longer needed since we assume C89.
66746         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
66747         * lib/strftime.c: Likewise.
66748         * lib/time_r.c: Likewise.
66749         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
66750         * lib/nanosleep.c: Include <time.h> first, to check interface.
66751         * lib/strptime.c: Likewise.
66752         * lib/time_r.c: Likewise.
66753         * lib/timegm.c: Likewise.
66754         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
66755         needed.
66756         * lib/timegm.c: Don't include timegm.h; no longer needed.
66757         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
66758         time.h now handles any problems in that area.
66759         (struct timespec, nanosleep): Remove; time.h now arranges for these.
66760         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
66761         that time.h defines struct timespec.
66762         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
66763         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
66764         handles that.
66765         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
66766         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
66767         needed.  Set REPLACE_LOCALTIME.
66768         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
66769         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
66770         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
66771         nanosleep; time_h.m4 now does that.  Don't require
66772         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
66773         module handles this now.
66774         * modules/getdate (Depends-on): Remove timespec.  Add time.
66775         * modules/nanosleep (Depends-on): Likewise.
66776         * modules/stat-time (Depends-on): Likewise.
66777         * modules/nanosleep (Include): Include time.h, not timespec.h.
66778         * modules/strptime (Files): Remove lib/strptime.h.
66779         (Depends-on): Add extensions, time.
66780         (Include): Include time.h, not strptime.h.
66781         * modules/time_r (Files): Remove lib/time_r.h.
66782         (Depends-on): Add time.
66783         (Include): Include time.h, not time_r.h.
66784         * modules/timegm: Likewise.
66785         * modules/timespec (Description): Now does timespec-related decls
66786         of our own, instead of struct timespec itself.
66787         (Depends-on): Add time; remove extensions.
66788         (Maintainer): Add self.
66789         * modules/utimecmp (Depends-on): Add time; remove timespec.
66790         * modules/utimens (Depends-on): Likewise.
66791         * modules/xnanosleep (Depends-on): Likewise.
66792
66793 2007-02-11  Bruno Haible  <bruno@clisp.org>
66794
66795         * lib/c-strstr.c: Include allocsa.h.
66796         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66797         * lib/c-strcasestr.c: Include allocsa.h.
66798         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66799         * lib/strcasestr.c: Include allocsa.h.
66800         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66801         * lib/mbsstr.c: Include allocsa.h.
66802         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66803         allocsa/freesa instead of malloc/free.
66804         * lib/mbscasestr.c: Include allocsa.h.
66805         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66806         allocsa/freesa instead of malloc/free.
66807         * modules/c-strstr (Depends-on): Add allocsa.
66808         * modules/c-strcasestr (Depends-on): Likewise.
66809         * modules/strcasestr (Depends-on): Likewise.
66810         * modules/mbsstr (Depends-on): Likewise.
66811         * modules/mbscasestr (Depends-on): Likewise.
66812
66813 2007-02-11  Bruno Haible  <bruno@clisp.org>
66814
66815         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
66816
66817         * modules/mbsspn-tests: New file.
66818         * tests/test-mbsspn.sh: New file.
66819         * tests/test-mbsspn.c: New file.
66820
66821 2007-02-11  Bruno Haible  <bruno@clisp.org>
66822
66823         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
66824
66825         * modules/mbspbrk-tests: New file.
66826         * tests/test-mbspbrk.sh: New file.
66827         * tests/test-mbspbrk.c: New file.
66828
66829 2007-02-11  Bruno Haible  <bruno@clisp.org>
66830
66831         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
66832         unneeded cast.
66833
66834         * modules/mbscspn-tests: New file.
66835         * tests/test-mbscspn.sh: New file.
66836         * tests/test-mbscspn.c: New file.
66837
66838 2007-02-11  Bruno Haible  <bruno@clisp.org>
66839
66840         * modules/mbscasecmp-tests: New file.
66841         * tests/test-mbscasecmp.sh: New file.
66842         * tests/test-mbscasecmp.c: New file.
66843
66844 2007-02-11  Bruno Haible  <bruno@clisp.org>
66845
66846         Ensure O(n) worst-case complexity of mbscasestr.
66847         * lib/mbscasestr.c: Include stdbool.h.
66848         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66849         functions.
66850         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
66851         the bookkeeping indicates that it's worth it.
66852         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
66853
66854         * modules/mbscasestr-tests: New file.
66855         * tests/test-mbscasestr1.c: New file.
66856         * tests/test-mbscasestr2.sh: New file.
66857         * tests/test-mbscasestr2.c: New file.
66858         * tests/test-mbscasestr3.sh: New file.
66859         * tests/test-mbscasestr3.c: New file.
66860         * tests/test-mbscasestr4.sh: New file.
66861         * tests/test-mbscasestr4.c: New file.
66862         * m4/locale-tr.m4: New file.
66863
66864 2007-02-11  Bruno Haible  <bruno@clisp.org>
66865
66866         Ensure O(n) worst-case complexity of mbsstr.
66867         * lib/mbsstr.c: Include stdbool.h.
66868         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66869         functions.
66870         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
66871         bookkeeping indicates that it's worth it.
66872         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
66873
66874         * modules/mbsstr-tests: New file.
66875         * tests/test-mbsstr1.c: New file.
66876         * tests/test-mbsstr2.sh: New file.
66877         * tests/test-mbsstr2.c: New file.
66878         * tests/test-mbsstr3.sh: New file.
66879         * tests/test-mbsstr3.c: New file.
66880         * m4/locale-fr.m4: New file.
66881
66882 2007-02-11  Bruno Haible  <bruno@clisp.org>
66883
66884         * lib/mbsrchr.c (mbsrchr): Fix bug.
66885
66886         * modules/mbsrchr-tests: New file.
66887         * tests/test-mbsrchr.sh: New file.
66888         * tests/test-mbsrchr.c: New file.
66889
66890 2007-02-11  Bruno Haible  <bruno@clisp.org>
66891
66892         * lib/mbschr.c (mbschr): Fix bug.
66893
66894         * modules/mbschr-tests: New file.
66895         * tests/test-mbschr.sh: New file.
66896         * tests/test-mbschr.c: New file.
66897         * m4/locale-zh.m4: New file.
66898
66899 2007-02-11  Bruno Haible  <bruno@clisp.org>
66900
66901         Support for copying multibyte string iterators.
66902         * lib/mbiter.h: Include <string.h>.
66903         (mbiter_multi_copy): New function.
66904         (mbi_copy): New macro.
66905         * lib/mbuiter.h: Include <string.h>.
66906         (mbuiter_multi_copy): New function.
66907         (mbui_copy): New macro.
66908
66909 2007-02-11  Bruno Haible  <bruno@clisp.org>
66910
66911         New module mbslen.
66912         * modules/mbslen: New file.
66913         * lib/mbslen.c: New file.
66914         * lib/string_.h (mbslen): New declaration.
66915         * m4/mbslen.m4: New file.
66916         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66917         GNULIB_MBSLEN.
66918         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
66919         * MODULES.html.sh (Internationalization functions): Add mbslen.
66920
66921 2007-02-11  Bruno Haible  <bruno@clisp.org>
66922
66923         Ensure O(n) worst-case complexity of strcasestr substitute.
66924         * lib/strcasestr.c: Include stdbool.h.
66925         (knuth_morris_pratt): New function.
66926         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66927         bookkeeping indicates that it's worth it.
66928         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
66929
66930         * modules/strcasestr-tests: New file.
66931         * tests/test-strcasestr.c: New file.
66932
66933 2007-02-11  Bruno Haible  <bruno@clisp.org>
66934
66935         Ensure O(n) worst-case complexity of c_strcasestr.
66936         * lib/c-strcasestr.c: Include stdbool.h, string.h.
66937         (knuth_morris_pratt): New function.
66938         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
66939         the bookkeeping indicates that it's worth it.
66940         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
66941
66942         * modules/c-strcasestr-tests: New file.
66943         * tests/test-c-strcasestr.c: New file.
66944
66945 2007-02-11  Bruno Haible  <bruno@clisp.org>
66946
66947         Ensure O(n) worst-case complexity of c_strstr.
66948         * lib/c-strstr.c: Include stdbool.h, string.h.
66949         (knuth_morris_pratt): New function.
66950         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66951         bookkeeping indicates that it's worth it.
66952         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
66953
66954         * lib/c-strstr.c: Complete rewrite for maintainability.
66955
66956         * modules/c-strstr-tests: New file.
66957         * tests/test-c-strstr.c: New file.
66958
66959 2007-02-11  Bruno Haible  <bruno@clisp.org>
66960
66961         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
66962         5.2.1 and earlier, whereby \055 was treated just like the range
66963         delimiter '-'.
66964         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66965
66966 2007-02-08  Bruno Haible  <bruno@clisp.org>
66967
66968         * modules/regex (Depends-on): Add stdbool.
66969         Reported by Dalibor Topic <robilad@kaffe.org>.
66970
66971 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
66972
66973         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
66974         Prefer returning from main to exiting from it.
66975         Remove unnecessary parens after sizeof.
66976
66977 2007-02-05  Bruno Haible  <bruno@clisp.org>
66978
66979         New module mbssep.
66980         * modules/mbssep: New file.
66981         * lib/mbssep.c: New file.
66982         * lib/string_.h (strsep): Add a conditional link warning.
66983         (mbssep): New declaration.
66984         * m4/mbssep.m4: New file.
66985         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66986         GNULIB_MBSSEP.
66987         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
66988         * MODULES.html.sh (Internationalization functions): Add mbssep.
66989
66990 2007-02-05  Bruno Haible  <bruno@clisp.org>
66991
66992         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
66993         Optimize search in case of 1 delimiter.
66994
66995 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66996
66997         * lib/acl.h: Include sys/types.h before sys/acl.h.
66998
66999 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67000
67001         Merge upstream fix for glibc bugzilla #3957:
67002
67003         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67004
67005         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67006         bit for RE_HAT_LISTS_NOT_NEWLINE.
67007         (build_charclass_op): Remove bogus comment.
67008
67009 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67010
67011         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67012
67013 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67014
67015         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67016         * lib/memmem.c [!defined _LIBC]: Include config.h.
67017
67018 2007-02-04  Bruno Haible  <bruno@clisp.org>
67019
67020         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67021         warning message.
67022
67023 2007-02-04  Bruno Haible  <bruno@clisp.org>
67024
67025         New module mbstok_r.
67026         * modules/mbstok_r: New file.
67027         * lib/mbstok_r.c: New file.
67028         * lib/string_.h (strtok_r): Change argument names to match the
67029         comments. Add a conditional link warning.
67030         (mbstok_r): New declaration.
67031         * m4/mbstok_r.m4: New file.
67032         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67033         GNULIB_MBSTOK_R.
67034         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67035         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67036
67037 2007-02-04  Bruno Haible  <bruno@clisp.org>
67038
67039         New module mbsspn.
67040         * modules/mbsspn: New file.
67041         * lib/mbsspn.c: New file.
67042         * lib/string_.h (strspn): Add a conditional link warning.
67043         (mbsspn): New declaration.
67044         * m4/mbsspn.m4: New file.
67045         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67046         GNULIB_MBSSPN.
67047         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67048         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67049
67050 2007-02-04  Bruno Haible  <bruno@clisp.org>
67051
67052         New module mbspbrk.
67053         * modules/mbspbrk: New file.
67054         * lib/mbspbrk.c: New file.
67055         * lib/string_.h (strpbrk): Add a conditional link warning.
67056         (mbspbrk): New declaration.
67057         * m4/mbspbrk.m4: New file.
67058         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67059         GNULIB_MBSPBRK.
67060         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67061         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67062
67063 2007-02-04  Bruno Haible  <bruno@clisp.org>
67064
67065         New module mbscspn.
67066         * modules/mbscspn: New file.
67067         * lib/mbscspn.c: New file.
67068         * lib/string_.h (strcspn): Add a conditional link warning.
67069         (mbscspn): New declaration.
67070         * m4/mbscspn.m4: New file.
67071         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67072         GNULIB_MBSCSPN.
67073         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67074         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67075
67076 2007-02-04  Bruno Haible  <bruno@clisp.org>
67077
67078         New module mbscasestr, reduced goal of strcasestr.
67079         * modules/mbscasestr: New file.
67080         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67081         (mbscasestr): Renamed from strcasestr.
67082         * lib/strcasestr.c: Don't include mbuiter.h.
67083         (strcasestr): Remove support for multibyte locales.
67084         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67085         Change the conditional link warning.
67086         (mbscasestr): New declaration.
67087         * m4/mbscasestr.m4: New file.
67088         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67089         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67090         REPLACE_STRCASESTR.
67091         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67092         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67093         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67094         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67095         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67096         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67097         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67098         (Depends-on): Remove mbuiter.
67099         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67100
67101 2007-02-04  Bruno Haible  <bruno@clisp.org>
67102
67103         Simplify handling of strncasecmp.
67104         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67105         the conditional link warning.
67106         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67107         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67108         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67109         * modules/strcase (configure.ac): Don't invoke
67110         gl_STRING_MODULE_INDICATOR.
67111         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67112
67113 2007-02-04  Bruno Haible  <bruno@clisp.org>
67114
67115         New module mbscasecmp, reduced goal of strcasecmp.
67116         * modules/mbscasecmp: New file.
67117         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67118         (mbscasecmp): Renamed from strcasecmp.
67119         * lib/strcasecmp.c: Don't include mbuiter.h.
67120         (strcasecmp): Remove support for multibyte locales.
67121         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67122         Change the conditional link warning.
67123         (mbscasecmp): New declaration.
67124         * m4/mbscasecmp.m4: New file.
67125         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67126         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67127         REPLACE_STRCASECMP.
67128         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67129         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67130         GNULIB_MBSCASECMP.
67131         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67132         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67133         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67134         (Depends-on): Remove mbuiter.
67135         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67136
67137 2007-02-04  Bruno Haible  <bruno@clisp.org>
67138
67139         New module mbsstr. Remove module strstr.
67140         * modules/mbsstr: New file.
67141         * modules/strstr: Remove file.
67142         * lib/mbsstr.c: Renamed from lib/strstr.c.
67143         (mbsstr): Renamed from strstr.
67144         * lib/string_.h (strstr): Remove declaration. Change the conditional
67145         link warning.
67146         (mbsstr): New declaration.
67147         * m4/mbsstr.m4: New file.
67148         * m4/strstr.m4: Remove file.
67149         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67150         REPLACE_STRSTR.
67151         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67152         Don't initialize GNULIB_STRSTR.
67153         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67154         substitute GNULIB_STRSTR and REPLACE_STRSTR.
67155         * MODULES.html.sh (Internationalization functions): Add mbsstr.
67156         (Support for systems lacking ANSI C 89): Remove strstr.
67157
67158 2007-02-04  Bruno Haible  <bruno@clisp.org>
67159
67160         New module mbsrchr.
67161         * modules/mbsrchr: New file.
67162         * lib/mbsrchr.c: New file.
67163         * lib/string_.h (strrchr): Add a conditional link warning.
67164         (mbsrchr): New declaration.
67165         * m4/mbsrchr.m4: New file.
67166         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67167         GNULIB_MBSRCHR.
67168         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67169         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67170
67171 2007-02-04  Bruno Haible  <bruno@clisp.org>
67172
67173         New module mbschr.
67174         * modules/mbschr: New file.
67175         * lib/mbschr.c: New file.
67176         * lib/string_.h (strchr): Add a conditional link warning.
67177         (mbschr): New declaration.
67178         * m4/mbschr.m4: New file.
67179         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67180         GNULIB_MBSCHR.
67181         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67182         * MODULES.html.sh (Internationalization functions): Add mbschr.
67183
67184 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67185
67186         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67187
67188         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
67189
67190 2007-02-04  Bruno Haible  <bruno@clisp.org>
67191
67192         New module description section 'configure.ac-early'.
67193         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
67194         (func_get_autoconf_early_snippet): New function.
67195         (func_import, func_create_testdir): Use it. Remove special cases for
67196         modules 'extensions' and 'lock'.
67197         * modules/extensions (configure.ac-early): Require
67198         gl_USE_SYSTEM_EXTENSIONS.
67199         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
67200
67201 2007-02-04  Bruno Haible  <bruno@clisp.org>
67202
67203         Make use of gcj-4.3's -fsource and -ftarget option.
67204         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
67205         and if so try the options -fsource and -ftarget.
67206         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
67207         source_version, ftarget_option, target_version arguments.
67208         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
67209         (is_envjavac_oldgcj_14_14_usable): Renamed from
67210         is_envjavac_gcj_14_14_usable.
67211         (is_envjavac_oldgcj_14_13_usable): Renamed from
67212         is_envjavac_gcj_14_13_usable.
67213         (is_gcj_present): Update.
67214         (is_gcj_43, is_gcj43_usable): New functions.
67215         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
67216         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
67217         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
67218         try the options -fsource and -ftarget.
67219
67220 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67221
67222         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
67223         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
67224         larger value.
67225
67226 2007-02-03  Jim Meyering  <jim@meyering.net>
67227
67228         Give tools a better chance to allocate space for very large buffers.
67229         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
67230
67231         Make pwd and readlink work also when run with an unreadable parent dir
67232         on systems with openat support.
67233         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
67234         provided getcwd function, even when we have openat support.
67235         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
67236
67237 2007-02-02  Bruno Haible  <bruno@clisp.org>
67238
67239         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67240         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
67241         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
67242         portability problems if one of these functions is only used on specific
67243         platforms.
67244         Reported by Paul Eggert.
67245
67246 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
67247
67248         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
67249         is causing more trouble than it's curing.
67250         * lib/regex_internal.h (__mempcpy): Remove.
67251         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
67252         (and make the code a tad smaller to boot).
67253         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
67254
67255 2007-02-02  Jim Meyering  <jim@meyering.net>
67256
67257         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
67258         section, not in the Makefile.am: one.
67259
67260 2007-02-02  Eric Blake  <ebb9@byu.net>
67261
67262         * lib/strchrnul.c: Always include config.h first.
67263
67264         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
67265         gnulib strstr is not necessary here.
67266
67267 2007-02-02  Simon Josefsson  <simon@josefsson.org>
67268
67269         * m4/socklen.m4: Fix typo.
67270
67271 2007-02-02  Eric Blake  <ebb9@byu.net>
67272
67273         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
67274         * modules/netinet_in (Makefile.am): Likewise.
67275
67276 2007-02-01  Bruno Haible  <bruno@clisp.org>
67277
67278         * lib/string_.h (GL_LINK_WARNING): New macro.
67279         (strcasecmp, strstr, strcasestr): If provided by the system,
67280         conditionally define as a macro that leads to a warning instead of to
67281         an error.
67282         (strncasecmp): Conditionally define as a macro that leads to a warning.
67283
67284 2007-02-01  Karl Berry  <karl@gnu.org>
67285
67286         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
67287
67288 2007-02-01  Bruno Haible  <bruno@clisp.org>
67289
67290         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
67291         renamings.
67292
67293 2007-02-01  Eric Blake  <ebb9@byu.net>
67294
67295         * modules/regex (Depends-on): Revert dependence on mempcpy.
67296         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
67297         module's definition of mempcpy.
67298         Reported by Paul Eggert.
67299
67300 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67301
67302         * lib/string_.h: If the gnulib module XYZ is not present, undefine
67303         the symbol XYZ before redefining it.  This fixes a problem with
67304         programs that don't use XYZ, when compiled on systems that define
67305         XYZ to something else.
67306
67307 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
67308
67309         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
67310         occurs when "mkdir -m foo" creates a setgid directory that is (1)
67311         writeable to group or other and (2) is intended to have a special
67312         mode bit that is set or cleared.  In such a case, the directory
67313         should be neither group- nor other-writeable until the special
67314         mode bits are right.
67315
67316 2007-01-31  Eric Blake  <ebb9@byu.net>
67317
67318         * modules/mountlist (Depends-on): Add strstr.
67319
67320         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
67321         bug.
67322         * modules/string (Makefile.am): Remove redundant replacement.
67323         * modules/regex (Depends-on): Add mempcpy.
67324
67325 2007-01-31  Bruno Haible  <bruno@clisp.org>
67326
67327         New module description field 'Link'.
67328         * gnulib-tool (func_usage): Document --extract-link-directive.
67329         (sed_extract_prog): Recognize 'Link' directive.
67330         (func_get_link_directive): New function.
67331         (func_import): Show summary of link directives.
67332         Handle --extract-link-directive option.
67333         * modules/acl (Link): New section.
67334         * modules/clock-time (Link): New section.
67335         * modules/euidaccess (Link): New section.
67336         * modules/gettext (Link): New section.
67337         * modules/iconv (Link): New section.
67338         * modules/lock (Link): New section.
67339         * modules/nanosleep (Link): New section.
67340         * modules/readline (Link): New section.
67341
67342 2007-01-27  Bruno Haible  <bruno@clisp.org>
67343
67344         Enforce the use of gnulib modules for unportable <string.h> functions.
67345         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
67346         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
67347         (gl_HEADER_STRING_H_BODY): Require it.
67348         * lib/string_.h: If the gnulib module XYZ is not present, redefine
67349         the symbol XYZ to one that gives a link error.
67350         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
67351         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
67352         * modules/mempcpy (configure.ac): Likewise.
67353         * modules/memrchr (configure.ac): Likewise.
67354         * modules/stpcpy (configure.ac): Likewise.
67355         * modules/stpncpy (configure.ac): Likewise.
67356         * modules/strcase (configure.ac): Likewise.
67357         * modules/strcasestr (configure.ac): Likewise.
67358         * modules/strchrnul (configure.ac): Likewise.
67359         * modules/strdup (configure.ac): Likewise.
67360         * modules/strndup (configure.ac): Likewise.
67361         * modules/strnlen (configure.ac): Likewise.
67362         * modules/strpbrk (configure.ac): Likewise.
67363         * modules/strsep (configure.ac): Likewise.
67364         * modules/strstr (configure.ac): Likewise.
67365         * modules/strtok_r (configure.ac): Likewise.
67366
67367 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
67368
67369         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
67370
67371 2007-01-30  Jim Meyering  <jim@meyering.net>
67372
67373         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
67374
67375 2007-01-29  Bruno Haible  <bruno@clisp.org>
67376
67377         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
67378         * lib/execute.c: Likewise.
67379         * lib/pipe.c: Likewise.
67380         * lib/printf-args.h: Likewise.
67381         * lib/printf-args.c: Likewise.
67382         * lib/printf-parse.c: Likewise.
67383         * lib/vasnprintf.c: Likewise.
67384
67385 2007-01-29  Eric Blake  <ebb9@byu.net>
67386
67387         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
67388         declaration.
67389
67390 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
67391
67392         * lib/strptime.h (strptime): Use 'restrict' for args where
67393         POSIX requires this.
67394         * lib/strptime.c (strptime): Likewise.
67395         Change license notice from LGPL to GPL, since gnulib-tool will
67396         change this as needed.
67397         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
67398         defined.
67399         Include "strptime.h" first, to check interface.
67400         Do not #undef _LIBC and _NL_CURRENT.
67401         Do not include <stdlib.h>; no longer needed.
67402         Include "time_r.h" and declare ptime_locale_status
67403         only if _LIBC is not defined.
67404         (__P): Remove unused macro.
67405         (match_string): Bring back glibc version, but use it only if _LIBC
67406         is defined.
67407         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
67408         Remove unnecessary assertion and abort() call.
67409         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
67410         * m4/strptime.m4: Fix serial number comment.
67411         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
67412         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
67413         (Depends-on): Add time_r.
67414
67415 2007-01-29  Bruno Haible  <bruno@clisp.org>
67416
67417         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67418         strptime.
67419         * modules/strptime (Depends-on): Add stdbool.
67420         * lib/strptime.h: Include <time.h> always. Add comments.
67421
67422 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67423
67424         * modules/strptime: New file.
67425         * lib/strptime.h: New file.
67426         * lib/strptime.c: New file.
67427         * m4/strptime.m4: New file.
67428
67429 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67430
67431         * MODULES.html.sh: New module mpsort.
67432         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
67433
67434         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
67435         a circularity problem with HP-UX ia64 reported by Bob Proulx in
67436         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
67437         All uses changed.
67438         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
67439         All uses changed.
67440         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
67441         to _Restrict_.
67442         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
67443         the parameter matches the prototype.
67444
67445 2007-01-28  Jim Meyering  <jim@meyering.net>
67446
67447         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
67448         sys/time.h here, reverting that part of the previous patch:
67449         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
67450
67451 2007-01-28  Bruno Haible  <bruno@clisp.org>
67452
67453         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
67454         value of $(SYS_TIME_H).
67455         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
67456         remove it conditionally, too. [added by Jim Meyering]
67457         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
67458         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67459         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
67460         GETTIMEOFDAY_REPLACEMENT to 1.
67461
67462 2007-01-28  Bruno Haible  <bruno@clisp.org>
67463
67464         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
67465         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
67466         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
67467         Set UNISTD_H instead of UNISTD_H2.
67468         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
67469
67470 2007-01-28  Bruno Haible  <bruno@clisp.org>
67471
67472         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
67473         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
67474
67475 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67476
67477         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
67478         (func_create_testdir): Ensure C locale for `grep' and `tr'
67479         character ranges.
67480         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
67481         ACLOCAL_AMFLAGS parsing state machine.
67482
67483 2007-01-27  Bruno Haible  <bruno@clisp.org>
67484
67485         * modules/unistr/base: Update.
67486
67487 2007-01-27  Bruno Haible  <bruno@clisp.org>
67488
67489         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
67490         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
67491         * modules/unistr/u32-mbtouc-unsafe: Renamed from
67492         modules/unistr/u32-mbtouc.
67493         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
67494         * lib/unistr.h: Update.
67495         * lib/linebreak.c: Update.
67496         * modules/unistr/u32-mbtouc: Renamed from
67497         modules/unistr/u32-mbtouc-safe.
67498         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
67499         * lib/unistr.h: Update.
67500         * lib/unistr/u32-to-u8.c: Update.
67501         * lib/unistr/u32-to-u16.c: Update.
67502
67503 2007-01-27  Bruno Haible  <bruno@clisp.org>
67504
67505         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
67506         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
67507         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
67508         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
67509         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
67510         * modules/unistr/u16-mbtouc-unsafe: Renamed from
67511         modules/unistr/u16-mbtouc.
67512         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
67513         * lib/unistr.h: Update.
67514         * lib/linebreak.c: Update.
67515         * modules/linebreak: Update.
67516         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
67517         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
67518         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
67519         * modules/unistr/u16-mbtouc: Renamed from
67520         modules/unistr/u16-mbtouc-safe.
67521         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
67522         * lib/unistr.h: Update.
67523         * lib/unistr/u16-to-u8.c: Update.
67524         * modules/unistr/u16-to-u8: Update.
67525         * lib/unistr/u16-to-u32.c: Update.
67526         * modules/unistr/u16-to-u32: Update.
67527
67528 2007-01-27  Bruno Haible  <bruno@clisp.org>
67529
67530         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
67531         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
67532         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
67533         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
67534         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
67535         * modules/unistr/u8-mbtouc-unsafe: Renamed from
67536         modules/unistr/u8-mbtouc.
67537         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
67538         * lib/unistr.h: Update.
67539         * lib/striconveh.c: Update.
67540         * modules/striconveh: Update.
67541         * lib/linebreak.c: Update.
67542         * modules/linebreak: Update.
67543         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
67544         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
67545         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
67546         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
67547         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
67548         * lib/unistr.h: Update.
67549         * lib/striconveh.c: Update.
67550         * modules/striconveh: Update.
67551         * lib/unistr/u8-to-u16.c: Update.
67552         * modules/unistr/u8-to-u16: Update.
67553         * lib/unistr/u8-to-u32.c: Update.
67554         * modules/unistr/u8-to-u32: Update.
67555
67556 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67557
67558         Sync from Libtool.
67559         * lib/argz.c: Do not include strings.h nor memory.h, include
67560         string.h unconditionally.  Patch by Simon Josefsson.
67561
67562 2007-01-27  Bruno Haible  <bruno@clisp.org>
67563
67564         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
67565         from gl_HEADER_STRING_H_BODY.
67566         (gl_HEADER_STRING_H_BODY): Require it.
67567         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
67568         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67569         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67570         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67571         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67572         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
67573         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
67574         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67575         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
67576         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67577         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67578         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
67579         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67580         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
67581         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67582
67583 2007-01-27  Bruno Haible  <bruno@clisp.org>
67584
67585         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
67586         check_PROGRAMS into noinst_PROGRAMS.
67587         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
67588         check_PROGRAMS in this case.
67589         (func_import): Set for_test to false.
67590         (func_create_testdir): Set for_test to true.
67591
67592 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67593             Bruno Haible  <bruno@clisp.org>
67594
67595         * modules/strcasestr (Files): Remove lib/strcasestr.h.
67596         (Depends-on): Add string.
67597         (Includes): Use <string.h> instead of strcasestr.h.
67598         * modules/string (Makefile.am): Also substitute the value of
67599         REPLACE_STRCASESTR.
67600         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
67601         assume strcasestr is declared in <string.h> not <strings.h>. Also
67602         set REPLACE_STRCASESTR.
67603         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
67604         REPLACE_STRCASESTR.
67605         * lib/strcasestr.h: Remove file.
67606         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
67607         * lib/string_.h (strcasestr): New declaration.
67608
67609 2007-01-27  Bruno Haible  <bruno@clisp.org>
67610
67611         * lib/string_.h: Use 'extern'.
67612
67613 2007-01-27  Jim Meyering  <jim@meyering.net>
67614
67615         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
67616         of set-but-not-used local, "q".
67617
67618         * lib/mempcpy.c: Include <config.h> before <string.h>.
67619         This fixes a compilation error on HP-UX, due to the system's
67620         "restrict"-using mempcpy prototype.
67621
67622 2007-01-26  Bruno Haible  <bruno@clisp.org>
67623
67624         Small optimization.
67625         * lib/javacomp.c: Include c-strstr.h.
67626          (is_envjavac_gcj): Use c_strstr instead of strstr.
67627         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
67628
67629 2007-01-26  Bruno Haible  <bruno@clisp.org>
67630
67631         * MODULES.html.sh (Unicode string functions): Add the new modules.
67632
67633         * modules/uniconv/u32-strconv-to-locale: New file.
67634         * lib/uniconv/u32-strconv-to-locale.c: New file.
67635
67636         * modules/uniconv/u16-strconv-to-locale: New file.
67637         * lib/uniconv/u16-strconv-to-locale.c: New file.
67638
67639         * modules/uniconv/u8-strconv-to-locale: New file.
67640         * lib/uniconv/u8-strconv-to-locale.c: New file.
67641
67642         * modules/uniconv/u32-strconv-from-locale: New file.
67643         * lib/uniconv/u32-strconv-from-locale.c: New file.
67644
67645         * modules/uniconv/u16-strconv-from-locale: New file.
67646         * lib/uniconv/u16-strconv-from-locale.c: New file.
67647
67648         * modules/uniconv/u8-strconv-from-locale: New file.
67649         * lib/uniconv/u8-strconv-from-locale.c: New file.
67650
67651         * modules/uniconv/u32-strconv-to-enc: New file.
67652         * lib/uniconv/u32-strconv-to-enc.c: New file.
67653         * modules/uniconv/u32-strconv-to-enc-tests: New file.
67654         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
67655
67656         * modules/uniconv/u16-strconv-to-enc: New file.
67657         * lib/uniconv/u16-strconv-to-enc.c: New file.
67658         * lib/uniconv/u-strconv-to-enc.h: New file.
67659         * modules/uniconv/u16-strconv-to-enc-tests: New file.
67660         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
67661
67662         * modules/uniconv/u8-strconv-to-enc: New file.
67663         * lib/uniconv/u8-strconv-to-enc.c: New file.
67664         * modules/uniconv/u8-strconv-to-enc-tests: New file.
67665         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
67666
67667         * modules/uniconv/u32-strconv-from-enc: New file.
67668         * lib/uniconv/u32-strconv-from-enc.c: New file.
67669         * modules/uniconv/u32-strconv-from-enc-tests: New file.
67670         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
67671
67672         * modules/uniconv/u16-strconv-from-enc: New file.
67673         * lib/uniconv/u16-strconv-from-enc.c: New file.
67674         * modules/uniconv/u16-strconv-from-enc-tests: New file.
67675         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
67676
67677         * modules/uniconv/u8-strconv-from-enc: New file.
67678         * lib/uniconv/u8-strconv-from-enc.c: New file.
67679         * lib/uniconv/u-strconv-from-enc.h: New file.
67680         * modules/uniconv/u8-strconv-from-enc-tests: New file.
67681         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
67682
67683         * modules/uniconv/u32-conv-from-enc: New file.
67684         * lib/uniconv/u32-conv-from-enc.c: New file.
67685         * modules/uniconv/u32-conv-from-enc-tests: New file.
67686         * tests/uniconv/test-u32-conv-from-enc.c: New file.
67687
67688         * modules/uniconv/u16-conv-from-enc: New file.
67689         * lib/uniconv/u16-conv-from-enc.c: New file.
67690         * lib/uniconv/u-conv-from-enc.h: New file.
67691         * modules/uniconv/u16-conv-from-enc-tests: New file.
67692         * tests/uniconv/test-u16-conv-from-enc.c: New file.
67693
67694         * modules/uniconv/u8-conv-from-enc: New file.
67695         * lib/uniconv/u8-conv-from-enc.c: New file.
67696         * modules/uniconv/u8-conv-from-enc-tests: New file.
67697         * tests/uniconv/test-u8-conv-from-enc.c: New file.
67698
67699         * modules/uniconv/base: New file.
67700         * lib/uniconv.h: New file.
67701
67702 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
67703
67704         * doc/gnulib-tool.texi (Initial import): Update to match current
67705         behavior with strdup module.
67706         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
67707         * lib/memmem.h: Remove; all uses removed.  This is now done
67708         by <string.h>.
67709         * lib/mempcpy.h: Likewise.
67710         * lib/memrchr.h: Likewise.
67711         * lib/stpcpy.h: Likewise.
67712         * lib/stpncpy.h: Likewise.
67713         * lib/strcase.h: Likewise.
67714         * lib/strchrnul.h: Likewise.
67715         * lib/strdup.h: Likewise.
67716         * lib/strndup.h: Likewise.
67717         * lib/strnlen.h: Likewise.
67718         * lib/strpbrk.h: Likewise.
67719         * lib/strsep.h: Likewise.
67720         * lib/strstr.h: Likewise.
67721         * lib/strtok_r.h: Likewise.
67722         * lib/string_.h: New file.
67723         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
67724         Rely on <string.h> instead.
67725         * lib/canon-host.c: Likewise.
67726         * lib/chdir-long.c: Likewise.
67727         * lib/concatpath.c: Likewise.
67728         * lib/exclude.c: Likewise.
67729         * lib/fchdir.c: Likewise.
67730         * lib/getaddrinfo.c: Likewise.
67731         * lib/getcwd.c: Likewise.
67732         * lib/getsubopt.c: Likewise.
67733         * lib/glob.c: Likewise.
67734         * lib/hard-locale.c: Likewise.
67735         * lib/iconvme.c: Likewise.
67736         * lib/javacomp.c: Likewise.
67737         * lib/mempcpy.c: Likewise.
67738         * lib/memrchr.c: Likewise.
67739         * lib/regex_internal.h: Likewise.
67740         * lib/stpncpy.c: Likewise.
67741         * lib/strcasecmp.c: Likewise.
67742         * lib/strchrnul.c: Likewise.
67743         * lib/strdup.c: Likewise.
67744         * lib/striconv.c: Likewise.
67745         * lib/striconveh.c: Likewise.
67746         * lib/striconveha.c: Likewise.
67747         * lib/strncasecmp.c: Likewise.
67748         * lib/strndup.c: Likewise.
67749         * lib/strnlen.c: Likewise.
67750         * lib/strsep.c: Likewise.
67751         * lib/strstr.c: Likewise.
67752         * lib/strtok_r.c: Likewise.
67753         * lib/userspec.c: Likewise.
67754         * lib/w32spawn.h: Likewise.
67755         * lib/xstrndup.c: Likewise.
67756         * lib/mountlist.c (strstr): Remove decl.
67757         * m4/string_h.m4: New file.
67758         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
67759         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
67760         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
67761         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
67762         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
67763         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
67764         Set REPLACE_STRCASECMP if necessary.
67765         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
67766         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
67767         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
67768         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
67769         HAVE_DECL_STRDUP if necessary.
67770         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
67771         since gl_FUNC_STRNDUP does that now.
67772         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
67773         Check for decl here...
67774         (gl_PREREQ_STRNLEN): ... not here.
67775         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
67776         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
67777         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
67778         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
67779         necessary.
67780         * modules/string: New file.
67781         * modules/memmem (Files): Remove special-purpose include file.
67782         (Depends-on): Add string.
67783         (Include): Include <string.h>, not the removed file.
67784         * modules/mempcpy: Likewise.
67785         * modules/memrchr: Likewise.
67786         * modules/stpcpy: Likewise.
67787         * modules/stpncpy: Likewise.
67788         * modules/strcase: Likewise.
67789         * modules/strchrnul: Likewise.
67790         * modules/strdup: Likewise.
67791         * modules/strndup: Likewise.
67792         * modules/strnlen: Likewise.
67793         * modules/strpbrk: Likewise.
67794         * modules/strsep: Likewise.
67795         * modules/strstr: Likewise.
67796         * modules/strtok_r: Likewise.
67797         * tests/test-dirname.c: Don't include "strdup.h", since
67798         <string.h> now suffices.
67799         * tests/test-memmem.c: Don't include "memmem.h", since
67800         <string.h> now suffices.
67801
67802 2007-01-25  Bruno Haible  <bruno@clisp.org>
67803
67804         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
67805         *resultp is 0.
67806
67807         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
67808         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
67809         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
67810         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
67811
67812         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
67813         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
67814         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
67815         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
67816         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
67817         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
67818
67819 2007-01-24  Bruno Haible  <bruno@clisp.org>
67820
67821         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
67822         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
67823         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
67824         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
67825         gl_FUNC_FTS_CORE.
67826         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
67827         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
67828         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67829         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
67830         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
67831         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
67832         gl_FUNC_FCHOWNAT.
67833         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
67834         gl_FUNC_STRFTIME.
67835         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
67836         Reported by Ralf Wildenhues.
67837
67838 2007-01-24  Bruno Haible  <bruno@clisp.org>
67839
67840         Drop AC_REQUIRE calls that are redundant with the module dependencies.
67841         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
67842         gl_GETADDRINFO.
67843         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
67844         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
67845         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
67846
67847 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
67848
67849         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
67850         Don't use 'exit'; just return from 'main'.
67851         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
67852
67853         * lib/fnmatch_.h: Readjust white space and comments to match
67854         glibc, to avoid spurious diffs.
67855
67856 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67857
67858         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
67859         2004-12-01 change by Jakub Jelinek, since this code won't compile
67860         if !LIBC.  Problem reported by Bob Proulx.
67861
67862 2007-01-23  Bruno Haible  <bruno@clisp.org>
67863
67864         * lib/striconveh.c: Include c-strcaseeq.h.
67865         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
67866         * modules/striconveh (Depends-on): Add c-strcaseeq.
67867
67868 2007-01-23  Bruno Haible  <bruno@clisp.org>
67869
67870         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
67871
67872         * modules/c-strcaseeq: New file.
67873         * lib/c-strcaseeq.h: New file.
67874
67875         * modules/streq: New file.
67876         * lib/streq.h: New file.
67877
67878 2007-01-23  Bruno Haible  <bruno@clisp.org>
67879
67880         * modules/striconveha-tests: New file.
67881         * tests/test-striconveha.c: New file.
67882
67883         * lib/striconveha.h: Include <stdbool.h>.
67884         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
67885         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
67886         (mem_iconveha_notranslit): Renamed from mem_iconveha.
67887         (mem_iconveha): New function.
67888         (str_iconveha_notranslit): Renamed from str_iconveha.
67889         (str_iconveha): New function.
67890         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
67891         c-strcase.
67892
67893 2007-01-23  Bruno Haible  <bruno@clisp.org>
67894
67895         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
67896         encodings without forgiving before trying any encoding with handler.
67897         (str_iconveha): Try all encodings without forgiving before trying any
67898         encoding with handler.
67899
67900 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67901
67902         Import the following changes from libc.
67903
67904         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67905
67906         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
67907
67908         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67909
67910         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
67911         normal_bracket label.
67912
67913         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
67914
67915         [BZ #361]
67916         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
67917         to normal_bracket after fetching the next character.
67918
67919 2007-01-22  Bruno Haible  <bruno@clisp.org>
67920
67921         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
67922         argument.
67923         * lib/striconveh.c (iconv_carefully_1): New function.
67924         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
67925         argument.
67926         (str_cd_iconveh): Update.
67927         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
67928         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
67929         * tests/test-striconveh.c (MAGIC): New macro.
67930         (new_offsets): New function.
67931         (main): Test call with and without offsets.
67932
67933 2007-01-22  Bruno Haible  <bruno@clisp.org>
67934
67935         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
67936         * modules/sys_select (Makefile.am): Likewise.
67937         * modules/sys_socket (Makefile.am): Likewise.
67938         * modules/sys_time (Makefile.am): Likewise.
67939
67940 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
67941
67942         * modules/gettimeofday (License): Change from GPL to LGPL, since
67943         gettimeofday is a library function.
67944
67945 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67946
67947         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
67948
67949 2007-01-21  Bruno Haible  <bruno@clisp.org>
67950
67951         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
67952
67953 2007-01-21  Bruno Haible  <bruno@clisp.org>
67954
67955         * modules/striconveha: New file.
67956         * lib/striconveha.h: New file.
67957         * lib/striconveha.c: New file.
67958         * MODULES.html.sh (Internationalization functions): Add striconveha.
67959         * lib/striconv.c (str_iconv): Optimize the case of an empty input
67960         string.
67961         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
67962
67963 2007-01-21  Bruno Haible  <bruno@clisp.org>
67964
67965         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
67966         * lib/striconveh.c (str_iconveh): Likewise.
67967
67968 2007-01-21  Bruno Haible  <bruno@clisp.org>
67969
67970         * lib/striconveh.h (mem_iconveh): New declaration.
67971         * lib/striconveh.c (mem_iconveh): New function.
67972         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
67973
67974 2007-01-21  Bruno Haible  <bruno@clisp.org>
67975
67976         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
67977
67978         * lib/striconveh.h (mem_cd_iconveh): Change specification.
67979         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
67980         original result buffer.
67981         (str_cd_iconveh): Update.
67982         * tests/test-striconveh.c (main): Update.
67983
67984         * lib/striconv.h (mem_cd_iconv): Change specification.
67985         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
67986         result buffer.
67987         (str_cd_iconv): Update.
67988         * tests/test-striconv.c (main): Update.
67989
67990 2007-01-21  Bruno Haible  <bruno@clisp.org>
67991
67992         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
67993
67994 2007-01-20  Jim Meyering  <jim@meyering.net>
67995
67996         * lib/userspec.c (parse_with_separator): If a user or group string
67997         starts with "+", skip the corresponding name-to-ID look-up, since
67998         such a look-up must fail: user and group names may not include "+".
67999
68000 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68001
68002         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68003         since we now assume the sys_time module.
68004         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68005         check for sys/time.h; no longer needed.
68006         * modules/poll (Depends-on): Depend on sys_time.
68007
68008 2007-01-18  Bruno Haible  <bruno@clisp.org>
68009
68010         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68011         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68012
68013         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68014         gettimeofday.
68015
68016         * tests/test-gettimeofday.c: Include <time.h>.
68017         (dummy): Remove variable.
68018
68019         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68020         gl_HEADER_SYS_TIME_H.
68021         (gl_HEADER_SYS_TIME_H): New macro.
68022
68023         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68024         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68025         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68026         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68027         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68028         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68029         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68030         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68031         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68032         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68033         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68034
68035         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68036         last change; it caused a compilation error when cross-compiling to
68037         Cygwin.
68038
68039 2007-01-18  Jim Meyering  <jim@meyering.net>
68040
68041         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68042         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68043         than the race-prone "test -d sys || mkdir sys".
68044         (configure.ac): Use AC_PROG_MKDIR_P.
68045         * modules/sys_select: Likewise.
68046         * modules/sys_socket: Likewise.
68047         * modules/sys_time: Likewise.
68048
68049 2007-01-18  Eric Blake  <ebb9@byu.net>
68050
68051         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68052         replace gettimeofday.
68053         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68054         name, to avoid infinite recursion.
68055
68056 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68057
68058         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68059         module sys_time.
68060         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68061         assume timespec.h defines struct timeval.
68062         * lib/settime.c: Likewise.
68063         * lib/utimens.c: Likewise.
68064         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68065         since we now assume the gettimeofday module.
68066         * lib/tempname.c (__gen_tempname): Likewise.
68067         * lib/gettimeofday.h: Remove.
68068         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68069         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68070         Include <time.h>, for 'time()'.
68071         (localtime_buffer_addr): Also use this workaround if
68072         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68073         to simplify the uses.  All uses changed.
68074         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68075         that #undef is inside {}, and 'const' follows type name consistently.
68076         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68077         (gettimeofday): Do not use the maximum possible value for
68078         tv->tv_usec, since that might break usages other than ls.c.
68079         Instead, we'll leave ls.c alone.  This undoes today's patch
68080         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68081         we've never observed the problem but might as well keep the
68082         canary.
68083         * lib/nanosleep.c: Include timespec.h first, for interface check.
68084         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68085         now assume the sys_time module.
68086         * lib/tempname.c: Likewise.
68087         * lib/timespec.h: Likewise.
68088         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68089         needed.
68090         * lib/strftime.c: Likewise.
68091         * lib/timespec.h: Likewise.
68092         * lib/posixtm.c: Include posixtm.h first, for interface check.
68093         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68094         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68095         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68096         * lib/sys_time_.h: New file.
68097         * lib/timespec.h (struct timespec): Use long int, not long.
68098         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68099         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68100         Remove obsolescent call to AC_HEADER_TIME.
68101         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68102         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68103         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68104         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68105         Likewise.
68106         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68107         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68108         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68109         into the sys_time module.  Check for gettimeofday just once.
68110         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68111         for gettimeofday signature to just check the signature.  Merely
68112         compile it, since linking doesn't test signature.  Improve test for
68113         whether gettimeofday.o is actually needed.
68114         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68115         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68116         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68117         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68118         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68119         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68120         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68121         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68122         than worrying about sys/time.h.
68123         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68124         Don't bother worrying about TIME_WITH_SYS_TIME.
68125         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68126         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68127         * m4/sys_time_h.m4: New file.
68128         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68129         Don't include sys/time.h.  Return from main rather than exiting.
68130         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68131         all uses changed.
68132         * modules/gethrxtime (Depends-on): Add sys_time.
68133         * modules/gettime (Depends-on): Likewise.
68134         * modules/gettimeofday (Depends-on): Likewise.
68135         * modules/nanosleep (Depends-on): Likewise.
68136         * modules/settime (Depends-on): Likewise.
68137         * modules/tempname (Depends-on): Likewise.
68138         * modules/utimens (Depends-on): Likewise.
68139         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68140         (Include): Change back to <sys/time.h>.
68141         (Maintainer): Add self.
68142         * modules/sys_time: New file.
68143         * modules/tempname (Depends-on): Add gettimeofday.
68144         * tests/test-gettimeofday.c: Include <sys/time.h>
68145         rather than gettimeofday.h.
68146
68147 2007-01-17  Bruno Haible  <bruno@clisp.org>
68148
68149         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68150         the license default to GPL.
68151         (func_create_testdir): Don't complain if a module is LGPL and its
68152         tests module depends on GPLed modules.
68153
68154 2007-01-17  Bruno Haible  <bruno@clisp.org>
68155
68156         * lib/gettimeofday.c (gettimeofday): Add code for the case
68157         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
68158         maximum possible value for tv->tv_usec, rather than the minimum one.
68159
68160 2005-10-08  Martin Lambers  <marlam@marlam.de>
68161 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68162 2007-01-16  Bruno Haible  <bruno@clisp.org>
68163
68164         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
68165         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
68166         gl_FUNC_GETTIMEOFDAY.
68167         (Include): Add gettimeofday.h.
68168         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68169         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68170         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68171         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68172         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68173         * lib/gettimeofday.h: New file.
68174         * lib/gettimeofday.c: Include <sys/timeb.h>.
68175         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68176         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68177         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68178         fall back on time().
68179
68180         * tests/test-gettimeofday.c: New file.
68181         * modules/gettimeofday-tests: New file.
68182
68183 2007-01-16  Eric Blake  <ebb9@byu.net>
68184
68185         * modules/fnmatch (Depends-on): Depend on wchar.
68186         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68187         * m4/fnmatch.m4: Likewise.
68188         * modules/mbchar (Makefile.am): Assume <wchar.h>.
68189         * m4/mbchar.m4: Likewise.
68190         * modules/mbswidth (Depends-on): Depend on wchar.
68191         * lib/mbswidth.c: Assume <wchar.h>.
68192         * m4/mbswidth.m4: Likewise.
68193         * modules/quotearg (Depends-on): Depend on wchar.
68194         * lib/quotearg.c: Assume <wchar.h>.
68195         * m4/quotearg.m4: Likewise.
68196         * modules/regex (Depends-on): Depend on wchar.
68197         * lib/regex_internal.h: Assume <wchar.h>.
68198         * m4/regex.m4: Likewise.
68199         * modules/stdint (Depends-on): Depend on wchar.
68200         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
68201         * m4/stdint.m4: Likewise.
68202         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
68203         * modules/strftime (Depends-on): Depend on wchar.
68204         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
68205         * modules/strtol (Depends-on): Depend on wchar.
68206         * lib/strtol.c: Assume <wchar.h>.
68207         * modules/wcwidth (Depends-on): Depend on wchar.
68208         * lib/wcwidth.h: Assume <wchar.h>.
68209         * m4/wcwidth.m4: Likewise.
68210
68211 2007-01-16  Bruno Haible  <bruno@clisp.org>
68212
68213         * modules/csharpexec-script: New, created from...
68214         * modules/csharpexec: ... this.
68215
68216 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
68217
68218         * modules/javaexec-script: New, created from...
68219         * modules/javaexec: ... this.
68220
68221 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68222
68223         * modules/poll (Dependencies): Add sys_select.
68224
68225 2007-01-15  Jim Meyering  <jim@meyering.net>
68226
68227         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
68228         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
68229         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
68230         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
68231
68232 2007-01-15  Bruno Haible  <bruno@clisp.org>
68233
68234         * modules/striconveh: New file.
68235         * lib/striconveh.h: New file.
68236         * lib/striconveh.c: New file.
68237         * MODULES.html.sh (Internationalization functions): Add striconveh.
68238
68239         * modules/striconveh-tests: New file.
68240         * tests/test-striconveh.c: New file.
68241
68242 2007-01-15  Bruno Haible  <bruno@clisp.org>
68243
68244         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
68245         not from GNU libiconv or GNU libc.
68246
68247 2007-01-15  Bruno Haible  <bruno@clisp.org>
68248
68249         * doc/gnulib-intro.texi (Copyright): Explain the different license
68250         terms for module descriptions, autoconf macros, tests, documentation.
68251
68252 2007-01-14  Bruno Haible  <bruno@clisp.org>
68253
68254         * modules/striconv-tests: New file.
68255         * tests/test-striconv.c: New file.
68256
68257 2007-01-14  Bruno Haible  <bruno@clisp.org>
68258
68259         * modules/iconv-tests: New file.
68260         * tests/test-iconv.c: New file.
68261
68262 2007-01-14  Bruno Haible  <bruno@clisp.org>
68263
68264         * gnulib-tool (func_get_license): For test modules, use the license of
68265         the main module.
68266
68267 2007-01-14  Bruno Haible  <bruno@clisp.org>
68268
68269         * modules/iconv (Include): Clarify that <iconv.h> can only be included
68270         if iconv is found to exist.
68271
68272 2007-01-14  Bruno Haible  <bruno@clisp.org>
68273
68274         * modules/c-ctype-tests: New file.
68275         * tests/test-c-ctype.c: New file.
68276
68277 2007-01-14  Bruno Haible  <bruno@clisp.org>
68278
68279         * modules/binary-io-tests: New file.
68280         * tests/test-binary-io.sh: New file.
68281         * tests/test-binary-io.c: New file.
68282
68283 2007-01-14  Bruno Haible  <bruno@clisp.org>
68284
68285         * modules/array-oset-tests: New file.
68286         * tests/test-array_oset.c: New file.
68287
68288 2007-01-14  Bruno Haible  <bruno@clisp.org>
68289
68290         * modules/array-list-tests: New file.
68291         * tests/test-array_list.c: New file.
68292
68293 2007-01-14  Bruno Haible  <bruno@clisp.org>
68294
68295         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
68296         and make.
68297         Reported by Simon Josefsson in
68298         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
68299
68300 2007-01-14  Bruno Haible  <bruno@clisp.org>
68301
68302         * modules/allocsa-tests: New file.
68303         * tests/test-allocsa.c: New file.
68304
68305 2007-01-14  Bruno Haible  <bruno@clisp.org>
68306
68307         * modules/fchdir (Depends-on): Add absolute-header.
68308         * modules/unistd (Depends-on): Likewise.
68309
68310 2006-12-30  Bruno Haible  <bruno@clisp.org>
68311
68312         * modules/fchdir: New file.
68313         * modules/unistd (Files): Add lib/unistd_.h.
68314         (Makefile.am): Generate unistd.h from unistd_.h.
68315         * lib/fchdir.c: New file.
68316         * lib/dirent_.h: New file.
68317         * lib/unistd_.h: New file.
68318         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
68319         * m4/fchdir.m4: New file.
68320         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
68321         (gl_HEADER_UNISTD): Invoke it.
68322         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
68323         function.
68324         * lib/backupfile.c (opendir, closedir): Undefine.
68325         * lib/chown.c (open, close): Undefine.
68326         * lib/clean-temp.c (open, close): Undefine.
68327         * lib/copy-file.c (open, close): Undefine.
68328         * lib/execute.c (open, close): Undefine.
68329         * lib/fsusage.c (open, close): Undefine.
68330         * lib/gc-gnulib.c (open, close): Undefine.
68331         * lib/getcwd.c (opendir, closedir): Undefine.
68332         * lib/glob.c (opendir, closedir): Undefine.
68333         * lib/javacomp.c (open, close): Undefine.
68334         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
68335         * lib/openat-proc.c (open, close): Undefine.
68336         * lib/pagealign_alloc.c (open, close): Undefine.
68337         * lib/pipe.c (open, close): Undefine.
68338         * lib/progreloc.c (open, close): Undefine.
68339         * lib/savedir.c (opendir, closedir): Undefine.
68340         * lib/utime.c (open, close): Undefine.
68341         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
68342
68343 2007-01-10  Bruno Haible  <bruno@clisp.org>
68344
68345         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
68346
68347 2007-01-12  Eric Blake  <ebb9@byu.net>
68348
68349         Provide a robust <wchar.h>.  Further simplifications are now
68350         possible in other modules, but not included here.
68351         * modules/wchar: New module.
68352         * m4/wchar.m4: New file.
68353         * lib/wchar_.h: Likewise.
68354         * modules/mbchar (Depends-on): Depend on wchar, as the first use
68355         of the new module.
68356         * MODULES.html.sh (Extended multibyte and wide character utilities):
68357         New section.
68358
68359 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
68360
68361         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
68362         to a reasonable default for memory allocation.
68363         (xreadlink): Don't allocate a huge buffer, to work around a buggy
68364         file system that reports garbage st_size values for symlinks.
68365         Problem reported by Liyang Hu.
68366
68367 2007-01-11  Simon Josefsson  <simon@josefsson.org>
68368
68369         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
68370         Emacs .#* auto-save files).
68371
68372 2007-01-11  Bruno Haible  <bruno@clisp.org>
68373
68374         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
68375         directory.
68376
68377 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68378
68379         Use @...@ consistently in lib/wctype_.h.
68380         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
68381         on it being set to 1 or 0.
68382         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
68383         go back to AC_SUBSTing it.
68384         * modules/wctype (Makefile.am): Undo previous change.
68385
68386 2007-01-10  Eric Blake  <ebb9@byu.net>
68387
68388         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
68389         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
68390         * modules/wctype (Makefile.am): Likewise.
68391         Reported by Chris McGuire.
68392
68393 2007-01-10  Jim Meyering  <jim@meyering.net>
68394
68395         fts.c: a small readability/maintainability improvement
68396         * lib/fts.c (fts_read): Make this code slightly more readable and
68397         maintainable by hoisting the "sp->fts_cur = p" assignments to
68398         immediately follow the statements that set P.  Derived from
68399         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
68400
68401 2007-01-10  Eric Blake  <ebb9@byu.net>
68402
68403         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
68404         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
68405         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68406         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
68407         Reported by Chris McGuire.
68408
68409 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68410
68411         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
68412         in sed script.
68413
68414 2007-01-09  Bruno Haible  <bruno@clisp.org>
68415
68416         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
68417         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
68418         variables.
68419         (func_module): Use them.
68420
68421 2007-01-09  Bruno Haible  <bruno@clisp.org>
68422
68423         * modules/unistr/base: New file.
68424         * lib/unistr.h: New file.
68425
68426         * modules/unistr/u8-to-u16: New file.
68427         * lib/unistr/u8-to-u16.c: New file.
68428
68429         * modules/unistr/u8-to-u32: New file.
68430         * lib/unistr/u8-to-u32.c: New file.
68431
68432         * modules/unistr/u16-to-u8: New file.
68433         * lib/unistr/u16-to-u8.c: New file.
68434
68435         * modules/unistr/u16-to-u32: New file.
68436         * lib/unistr/u16-to-u32.c: New file.
68437
68438         * modules/unistr/u32-to-u8: New file.
68439         * lib/unistr/u32-to-u8.c: New file.
68440
68441         * modules/unistr/u32-to-u16: New file.
68442         * lib/unistr/u32-to-u16.c: New file.
68443
68444         * modules/unistr/u8-check: New file.
68445         * modules/unistr/u16-check: New file.
68446         * modules/unistr/u32-check: New file.
68447         * lib/unistr/u8-check.c: New file.
68448         * lib/unistr/u16-check.c: New file.
68449         * lib/unistr/u32-check.c: New file.
68450
68451         * modules/unistr/u8-chr: New file.
68452         * modules/unistr/u16-chr: New file.
68453         * modules/unistr/u32-chr: New file.
68454         * lib/unistr/u8-chr.c: New file.
68455         * lib/unistr/u16-chr.c: New file.
68456         * lib/unistr/u32-chr.c: New file.
68457
68458         * modules/unistr/u8-cmp: New file.
68459         * modules/unistr/u16-cmp: New file.
68460         * modules/unistr/u32-cmp: New file.
68461         * lib/unistr/u8-cmp.c: New file.
68462         * lib/unistr/u16-cmp.c: New file.
68463         * lib/unistr/u32-cmp.c: New file.
68464
68465         * modules/unistr/u8-cpy: New file.
68466         * modules/unistr/u16-cpy: New file.
68467         * modules/unistr/u32-cpy: New file.
68468         * lib/unistr/u8-cpy.c: New file.
68469         * lib/unistr/u16-cpy.c: New file.
68470         * lib/unistr/u32-cpy.c: New file.
68471         * lib/unistr/u-cpy.h: New file.
68472
68473         * modules/unistr/u8-cpy-alloc: New file.
68474         * modules/unistr/u16-cpy-alloc: New file.
68475         * modules/unistr/u32-cpy-alloc: New file.
68476         * lib/unistr/u8-cpy-alloc.c: New file.
68477         * lib/unistr/u16-cpy-alloc.c: New file.
68478         * lib/unistr/u32-cpy-alloc.c: New file.
68479         * lib/unistr/u-cpy-alloc.h: New file.
68480
68481         * modules/unistr/u8-endswith: New file.
68482         * modules/unistr/u16-endswith: New file.
68483         * modules/unistr/u32-endswith: New file.
68484         * lib/unistr/u8-endswith.c: New file.
68485         * lib/unistr/u16-endswith.c: New file.
68486         * lib/unistr/u32-endswith.c: New file.
68487         * lib/unistr/u-endswith.h: New file.
68488
68489         * modules/unistr/u8-mblen: New file.
68490         * modules/unistr/u16-mblen: New file.
68491         * modules/unistr/u32-mblen: New file.
68492         * lib/unistr/u8-mblen.c: New file.
68493         * lib/unistr/u16-mblen.c: New file.
68494         * lib/unistr/u32-mblen.c: New file.
68495
68496         * modules/unistr/u8-mbtouc: New file.
68497         * modules/unistr/u16-mbtouc: New file.
68498         * modules/unistr/u32-mbtouc: New file.
68499         * lib/unistr/u8-mbtouc.c: New file.
68500         * lib/unistr/u16-mbtouc.c: New file.
68501         * lib/unistr/u32-mbtouc.c: New file.
68502
68503         * modules/unistr/u8-mbtouc-safe: New file.
68504         * modules/unistr/u16-mbtouc-safe: New file.
68505         * modules/unistr/u32-mbtouc-safe: New file.
68506         * lib/unistr/u8-mbtouc-safe.c: New file.
68507         * lib/unistr/u16-mbtouc-safe.c: New file.
68508         * lib/unistr/u32-mbtouc-safe.c: New file.
68509
68510         * modules/unistr/u8-move: New file.
68511         * modules/unistr/u16-move: New file.
68512         * modules/unistr/u32-move: New file.
68513         * lib/unistr/u8-move.c: New file.
68514         * lib/unistr/u16-move.c: New file.
68515         * lib/unistr/u32-move.c: New file.
68516         * lib/unistr/u-move.h: New file.
68517
68518         * modules/unistr/u8-next: New file.
68519         * modules/unistr/u16-next: New file.
68520         * modules/unistr/u32-next: New file.
68521         * lib/unistr/u8-next.c: New file.
68522         * lib/unistr/u16-next.c: New file.
68523         * lib/unistr/u32-next.c: New file.
68524
68525         * modules/unistr/u8-prev: New file.
68526         * modules/unistr/u16-prev: New file.
68527         * modules/unistr/u32-prev: New file.
68528         * lib/unistr/u8-prev.c: New file.
68529         * lib/unistr/u16-prev.c: New file.
68530         * lib/unistr/u32-prev.c: New file.
68531
68532         * modules/unistr/u8-set: New file.
68533         * modules/unistr/u16-set: New file.
68534         * modules/unistr/u32-set: New file.
68535         * lib/unistr/u8-set.c: New file.
68536         * lib/unistr/u16-set.c: New file.
68537         * lib/unistr/u32-set.c: New file.
68538         * lib/unistr/u-set.h: New file.
68539
68540         * modules/unistr/u8-startswith: New file.
68541         * modules/unistr/u16-startswith: New file.
68542         * modules/unistr/u32-startswith: New file.
68543         * lib/unistr/u8-startswith.c: New file.
68544         * lib/unistr/u16-startswith.c: New file.
68545         * lib/unistr/u32-startswith.c: New file.
68546         * lib/unistr/u-startswith.h: New file.
68547
68548         * modules/unistr/u8-stpcpy: New file.
68549         * modules/unistr/u16-stpcpy: New file.
68550         * modules/unistr/u32-stpcpy: New file.
68551         * lib/unistr/u8-stpcpy.c: New file.
68552         * lib/unistr/u16-stpcpy.c: New file.
68553         * lib/unistr/u32-stpcpy.c: New file.
68554         * lib/unistr/u-stpcpy.h: New file.
68555
68556         * modules/unistr/u8-stpncpy: New file.
68557         * modules/unistr/u16-stpncpy: New file.
68558         * modules/unistr/u32-stpncpy: New file.
68559         * lib/unistr/u8-stpncpy.c: New file.
68560         * lib/unistr/u16-stpncpy.c: New file.
68561         * lib/unistr/u32-stpncpy.c: New file.
68562         * lib/unistr/u-stpncpy.h: New file.
68563
68564         * modules/unistr/u8-strcat: New file.
68565         * modules/unistr/u16-strcat: New file.
68566         * modules/unistr/u32-strcat: New file.
68567         * lib/unistr/u8-strcat.c: New file.
68568         * lib/unistr/u16-strcat.c: New file.
68569         * lib/unistr/u32-strcat.c: New file.
68570         * lib/unistr/u-strcat.h: New file.
68571
68572         * modules/unistr/u8-strchr: New file.
68573         * modules/unistr/u16-strchr: New file.
68574         * modules/unistr/u32-strchr: New file.
68575         * lib/unistr/u8-strchr.c: New file.
68576         * lib/unistr/u16-strchr.c: New file.
68577         * lib/unistr/u32-strchr.c: New file.
68578
68579         * modules/unistr/u8-strcmp: New file.
68580         * modules/unistr/u16-strcmp: New file.
68581         * modules/unistr/u32-strcmp: New file.
68582         * lib/unistr/u8-strcmp.c: New file.
68583         * lib/unistr/u16-strcmp.c: New file.
68584         * lib/unistr/u32-strcmp.c: New file.
68585
68586         * modules/unistr/u8-strcpy: New file.
68587         * modules/unistr/u16-strcpy: New file.
68588         * modules/unistr/u32-strcpy: New file.
68589         * lib/unistr/u8-strcpy.c: New file.
68590         * lib/unistr/u16-strcpy.c: New file.
68591         * lib/unistr/u32-strcpy.c: New file.
68592         * lib/unistr/u-strcpy.h: New file.
68593
68594         * modules/unistr/u8-strcspn: New file.
68595         * modules/unistr/u16-strcspn: New file.
68596         * modules/unistr/u32-strcspn: New file.
68597         * lib/unistr/u8-strcspn.c: New file.
68598         * lib/unistr/u16-strcspn.c: New file.
68599         * lib/unistr/u32-strcspn.c: New file.
68600         * lib/unistr/u-strcspn.h: New file.
68601
68602         * modules/unistr/u8-strdup: New file.
68603         * modules/unistr/u16-strdup: New file.
68604         * modules/unistr/u32-strdup: New file.
68605         * lib/unistr/u8-strdup.c: New file.
68606         * lib/unistr/u16-strdup.c: New file.
68607         * lib/unistr/u32-strdup.c: New file.
68608         * lib/unistr/u-strdup.h: New file.
68609
68610         * modules/unistr/u8-strlen: New file.
68611         * modules/unistr/u16-strlen: New file.
68612         * modules/unistr/u32-strlen: New file.
68613         * lib/unistr/u8-strlen.c: New file.
68614         * lib/unistr/u16-strlen.c: New file.
68615         * lib/unistr/u32-strlen.c: New file.
68616         * lib/unistr/u-strlen.h: New file.
68617
68618         * modules/unistr/u8-strmblen: New file.
68619         * modules/unistr/u16-strmblen: New file.
68620         * modules/unistr/u32-strmblen: New file.
68621         * lib/unistr/u8-strmblen.c: New file.
68622         * lib/unistr/u16-strmblen.c: New file.
68623         * lib/unistr/u32-strmblen.c: New file.
68624
68625         * modules/unistr/u8-strmbtouc: New file.
68626         * modules/unistr/u16-strmbtouc: New file.
68627         * modules/unistr/u32-strmbtouc: New file.
68628         * lib/unistr/u8-strmbtouc.c: New file.
68629         * lib/unistr/u16-strmbtouc.c: New file.
68630         * lib/unistr/u32-strmbtouc.c: New file.
68631
68632         * modules/unistr/u8-strncat: New file.
68633         * modules/unistr/u16-strncat: New file.
68634         * modules/unistr/u32-strncat: New file.
68635         * lib/unistr/u8-strncat.c: New file.
68636         * lib/unistr/u16-strncat.c: New file.
68637         * lib/unistr/u32-strncat.c: New file.
68638         * lib/unistr/u-strncat.h: New file.
68639
68640         * modules/unistr/u8-strncmp: New file.
68641         * modules/unistr/u16-strncmp: New file.
68642         * modules/unistr/u32-strncmp: New file.
68643         * lib/unistr/u8-strncmp.c: New file.
68644         * lib/unistr/u16-strncmp.c: New file.
68645         * lib/unistr/u32-strncmp.c: New file.
68646
68647         * modules/unistr/u8-strncpy: New file.
68648         * modules/unistr/u16-strncpy: New file.
68649         * modules/unistr/u32-strncpy: New file.
68650         * lib/unistr/u8-strncpy.c: New file.
68651         * lib/unistr/u16-strncpy.c: New file.
68652         * lib/unistr/u32-strncpy.c: New file.
68653         * lib/unistr/u-strncpy.h: New file.
68654
68655         * modules/unistr/u8-strnlen: New file.
68656         * modules/unistr/u16-strnlen: New file.
68657         * modules/unistr/u32-strnlen: New file.
68658         * lib/unistr/u8-strnlen.c: New file.
68659         * lib/unistr/u16-strnlen.c: New file.
68660         * lib/unistr/u32-strnlen.c: New file.
68661         * lib/unistr/u-strnlen.h: New file.
68662
68663         * modules/unistr/u8-strpbrk: New file.
68664         * modules/unistr/u16-strpbrk: New file.
68665         * modules/unistr/u32-strpbrk: New file.
68666         * lib/unistr/u8-strpbrk.c: New file.
68667         * lib/unistr/u16-strpbrk.c: New file.
68668         * lib/unistr/u32-strpbrk.c: New file.
68669         * lib/unistr/u-strpbrk.h: New file.
68670
68671         * modules/unistr/u8-strrchr: New file.
68672         * modules/unistr/u16-strrchr: New file.
68673         * modules/unistr/u32-strrchr: New file.
68674         * lib/unistr/u8-strrchr.c: New file.
68675         * lib/unistr/u16-strrchr.c: New file.
68676         * lib/unistr/u32-strrchr.c: New file.
68677
68678         * modules/unistr/u8-strspn: New file.
68679         * modules/unistr/u16-strspn: New file.
68680         * modules/unistr/u32-strspn: New file.
68681         * lib/unistr/u8-strspn.c: New file.
68682         * lib/unistr/u16-strspn.c: New file.
68683         * lib/unistr/u32-strspn.c: New file.
68684         * lib/unistr/u-strspn.h: New file.
68685
68686         * modules/unistr/u8-strstr: New file.
68687         * modules/unistr/u16-strstr: New file.
68688         * modules/unistr/u32-strstr: New file.
68689         * lib/unistr/u8-strstr.c: New file.
68690         * lib/unistr/u16-strstr.c: New file.
68691         * lib/unistr/u32-strstr.c: New file.
68692         * lib/unistr/u-strstr.h: New file.
68693
68694         * modules/unistr/u8-strtok: New file.
68695         * modules/unistr/u16-strtok: New file.
68696         * modules/unistr/u32-strtok: New file.
68697         * lib/unistr/u8-strtok.c: New file.
68698         * lib/unistr/u16-strtok.c: New file.
68699         * lib/unistr/u32-strtok.c: New file.
68700         * lib/unistr/u-strtok.h: New file.
68701
68702         * modules/unistr/u8-uctomb: New file.
68703         * modules/unistr/u16-uctomb: New file.
68704         * modules/unistr/u32-uctomb: New file.
68705         * lib/unistr/u8-uctomb.c: New file.
68706         * lib/unistr/u16-uctomb.c: New file.
68707         * lib/unistr/u32-uctomb.c: New file.
68708
68709         * MODULES.html.sh (Unicode string functions): Add the new modules.
68710
68711 2007-01-08  Bruno Haible  <bruno@clisp.org>
68712
68713         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
68714         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
68715         subdirectories.
68716
68717 2007-01-08  Karl Berry  <karl@gnu.org>
68718
68719         * doc/error.texi: mention that main() fns must set program_name
68720         when progname is used.
68721
68722 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
68723
68724         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
68725         WCTYPE_H is empty, for the benefit of builds from non-distclean
68726         directories.  Problem reported by Eric Blake in
68727         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
68728
68729 2007-01-08  Bruno Haible  <bruno@clisp.org>
68730
68731         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
68732         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
68733         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
68734         PROVIDE_CANONICALIZE_FILENAME_MODE.
68735         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
68736
68737 2007-01-08  Bruno Haible  <bruno@clisp.org>
68738
68739         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
68740         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
68741         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
68742         * lib/fts.c: Likewise.
68743         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
68744
68745 2006-12-25  Bruno Haible  <bruno@clisp.org>
68746
68747         * modules/utf8-ucs4-safe: New file.
68748         * lib/utf8-ucs4-safe.h: New file.
68749         * lib/unistr/utf8-ucs4-safe.c: New file.
68750
68751         * modules/utf16-ucs4-safe: New file.
68752         * lib/utf16-ucs4-safe.h: New file.
68753         * lib/unistr/utf16-ucs4-safe.c: New file.
68754
68755         * MODULES.html.sh (Unicode string functions): Add the new modules.
68756
68757 2007-01-08  Bruno Haible  <bruno@clisp.org>
68758
68759         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
68760         (Depends-on): Add unitypes.
68761         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68762         (u8_mbtouc_aux): Move out to separate file.
68763         (u8_mbtouc): Use ucs4_t, uint8_t types.
68764         * lib/unistr/utf8-ucs4.c: New file.
68765
68766         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
68767         (Depends-on): Add unitypes.
68768         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68769         (u16_mbtouc_aux): Move out to separate file.
68770         (u16_mbtouc): Use ucs4_t, uint16_t types.
68771         * lib/unistr/utf16-ucs4.c: New file.
68772
68773         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
68774         (Depends-on): Add unitypes.
68775         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
68776         (u8_uctomb_aux): Move out to separate file.
68777         (u8_uctomb): Use ucs4_t, uint8_t types.
68778         * lib/unistr/ucs4-utf8.c: New file.
68779
68780         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
68781         (Depends-on): Add unitypes.
68782         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
68783         (u16_uctomb_aux): Move out to separate file.
68784         (u16_uctomb): Use ucs4_t, uint16_t types.
68785         * lib/unistr/ucs4-utf16.c: New file.
68786
68787 2006-12-25  Bruno Haible  <bruno@clisp.org>
68788
68789         * modules/unitypes: New file.
68790         * lib/unitypes.h: New file.
68791         * MODULES.html.sh (func_all_modules): New section "Unicode string
68792         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
68793         this section. Add unitypes.
68794
68795 2007-01-08  Bruno Haible  <bruno@clisp.org>
68796
68797         Avoid variable names that conflict with those from libtool.
68798         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
68799         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
68800         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
68801         library_names_spec to acl_library_names_spec, hardcode_* to
68802         acl_hardcode_*.
68803         Reported by Ralf Wildenhues.
68804
68805 2007-01-08  Bruno Haible  <bruno@clisp.org>
68806
68807         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
68808         definition.
68809         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
68810         definition.
68811         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
68812         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
68813         definition.
68814         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
68815         definition.
68816         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
68817         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
68818         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
68819         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
68820         definition.
68821         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
68822         definition.
68823         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
68824         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
68825         GC_USE_<algorithm>.
68826         * lib/gc-libgcrypt.c: Likewise.
68827         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
68828         * modules/gc-arctwo (configure.ac): Likewise.
68829         * modules/gc-des (configure.ac): Likewise.
68830         * modules/gc-hmac-md5 (configure.ac): Likewise.
68831         * modules/gc-hmac-sha1 (configure.ac): Likewise.
68832         * modules/gc-md2 (configure.ac): Likewise.
68833         * modules/gc-md4 (configure.ac): Likewise.
68834         * modules/gc-md5 (configure.ac): Likewise.
68835         * modules/gc-random (configure.ac): Likewise.
68836         * modules/gc-rijndael (configure.ac): Likewise.
68837         * modules/gc-sha1 (configure.ac): Likewise.
68838
68839 2007-01-08  Bruno Haible  <bruno@clisp.org>
68840
68841         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
68842         macro definition.
68843         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
68844         definition.
68845         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
68846         definition.
68847         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
68848         * modules/fcntl-safer (configure.ac): Likewise.
68849         * modules/fopen-safer (configure.ac): Likewise.
68850         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
68851         GNULIB_FWRITEERROR macro definition.
68852
68853 2007-01-08  Bruno Haible  <bruno@clisp.org>
68854
68855         * m4/gnulib-common.m4: New file.
68856         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
68857         (func_get_filelist): Add m4/gnulib-common.m4.
68858
68859 2007-01-08  Bruno Haible  <bruno@clisp.org>
68860
68861         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
68862         command.
68863
68864 2007-01-08  Jim Meyering  <jim@meyering.net>
68865
68866         Use a more robust test for a "can't happen" condition.
68867         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
68868         narrowed the st_size value.  Presuming the "can't happen" condition
68869         is true, that narrowing could conceivably convert an invalid st_size
68870         value into a valid one.  Instead, use a change based on Matthew
68871         Woehlke's original patch.
68872
68873         Slight readability improvement: use an assert-like macro
68874         in place of literal "abort ()" uses.
68875         * lib/fts.c (fts_assert): Define.
68876         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
68877         Use this macro instead of a bare 'abort'.
68878
68879 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
68880
68881         Don't worry about using IRIX 5.3's wctype.h broken definitions;
68882         simply work around them.
68883         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
68884         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
68885         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
68886         declaring.
68887         Don't bother to define as macros, since the standard doesn't require it.
68888         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
68889         longer worry about IRIX 5.3.
68890         (HAVE_WCTYPE_CTMP_BUG): Remove.
68891
68892 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68893
68894         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
68895         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
68896         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68897         Problems reported by Georg Schwarz for IRIX 5.3.
68898
68899         * gnulib-tool (autoconf_minversion): Take the maximum version number
68900         found, not the minimum.  Problem reported by James Youngman.
68901
68902 2007-01-03  Karl Berry  <karl@gnu.org>
68903
68904         * doc/error.texi: new file, explaining interaction with progname.
68905         * doc/gnulib.texi: include it.  Update copyright.
68906
68907 2007-01-03  Simon Josefsson  <simon@josefsson.org>
68908
68909         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
68910         AC_CANONICAL_HOST, to improve autobuild outputs.
68911
68912 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
68913             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68914
68915         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
68916         sockets, server sockets, and other file descriptors.  Count errors
68917         to compute the return value.  Reorder the code a bit to be easier
68918         to follow.  Don't set event bits that were not requested (except
68919         POLLERR and POLLHUP).
68920
68921 2007-01-01  Bruno Haible  <bruno@clisp.org>
68922
68923         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
68924
68925 2007-01-03  Jim Meyering  <jim@meyering.net>
68926
68927         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
68928
68929 2007-01-02  Bruno Haible  <bruno@clisp.org>
68930
68931         * modules/settime (Include): Require timespec.h.
68932         * modules/nanosleep (Include): Likewise.
68933
68934 2007-01-01  Bruno Haible  <bruno@clisp.org>
68935
68936         * gnulib-tool (func_emit_copyright_notice): Bump year.
68937         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
68938
68939 2007-01-01  Bruno Haible  <bruno@clisp.org>
68940
68941         Improve support for OpenBSD.
68942         * build-aux/config.rpath (libname_spec): Export.
68943         (library_names_spec): New variable. Export.
68944         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
68945         library_names_spec from the config.rpath output. Locate shared library
68946         through the name pattern in library_names_spec.
68947
68948 2007-01-01  Eric Blake  <ebb9@byu.net>
68949
68950         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
68951
68952 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
68953
68954         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
68955         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
68956         assume the C locale, and avoid an "eval" that could cause trouble.
68957         Problem with SORT reported by Bob Proulx.
68958
68959         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
68960         Define.  Trivial patch from Henning Nielsen Lund, originally
68961         sent to bug-grep@gnu.org today.
68962
68963 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
68964
68965         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
68966         struct stat.  Problem reported by Henning Nielsen Lund.
68967         * lib/acl.c: Include acl.h first, to check interface.  Don't
68968         bother to include sys/types.h and sys/stat.h again.
68969
68970 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68971
68972         Import the following change from libc; problem reported by
68973         Sven Verdoolaege.
68974
68975         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
68976
68977         [BZ #1373]
68978         * lib/argp.h: Remove __NTH for __argp_usage inline function.
68979
68980 2006-12-28  Jim Meyering  <jim@meyering.net>
68981
68982         * build-aux/announce-gen: Do not assume that the package
68983         builds any of tar.gz, tar.bz2, and .xdelta files.
68984         Suggestion from Simon Josefsson.
68985
68986 2006-12-28  Simon Josefsson  <simon@josefsson.org>
68987
68988         * modules/announce-gen: New file.
68989
68990 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
68991
68992         * lib/mbchar.h: Just include <wctype.h>; the wctype module
68993         handles its gotchas now.
68994         * lib/mbswidth.c: Likewise.
68995         * lib/wcwidth.h: Likewise.
68996         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
68997         and iswcntrl; the wctype module does this stuff now.
68998         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
68999         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69000         * modules/mbchar (Depends-on): Add wctype.
69001         * modules/mbswidth (Depends-on): Likewise.
69002         * modules/wcwidth (Depends-on): Likewise.
69003
69004 2006-12-27  Eric Blake  <ebb9@byu.net>
69005
69006         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69007         module uses more than what <wctype.h> is required to provide.
69008
69009 2006-12-26  Eric Blake  <ebb9@byu.net>
69010
69011         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69012
69013 2006-12-26  Eric Blake  <ebb9@byu.net>
69014
69015         * modules/absolute-header: New module.
69016         * modules/fcntl (Depends-on): Depend on it.
69017         * modules/inttypes (Depends-on): Likewise.
69018         * modules/stdint (Depends-on): Likewise.
69019         * modules/sys_stat (Depends-on): Likewise.
69020         * modules/wctype (Depends-on): Likewise.
69021         * MODULES.html.sh (Support for building libraries and
69022         executables): Document it.
69023
69024 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69025
69026         * gnulib-tool (SED): Remove, undoing previous change.
69027         The problem was that it broke coreutils on Solaris, because
69028         "sed --posix" leaked into a makefile.
69029         (sed): New alias, if 'alias' and GNU sed.
69030
69031 2006-12-24  Jim Meyering  <jim@meyering.net>
69032
69033         Work around an fchownat bug in glibc-2.4:
69034         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69035         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69036         in spite of the -P option.
69037         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69038         New macros.
69039         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69040         * modules/openat (Files): Add lib/fchownat.c.
69041         * lib/openat.c (fchownat): Don't define here.  Move to...
69042         * lib/fchownat.c: ...this new file.
69043
69044 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69045
69046         Fix bug reported by Bruno Haible in
69047         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69048         where quotearg.c didn't compile on Mac OS X 10.2 because it
69049         lacks <wchar.h> and wint_t.
69050         * lib/wctype_.h (__wctype_wint_t): New type.
69051         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69052         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69053         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69054         Arg is now of type __wctype_wint_t, not wint_t.
69055         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69056         substitute HAVE_WINT_T.
69057         * modules/wctype (Files): Add m4/wint_t.m4.
69058         (wctype.h): Substitute HAVE_WINT_T.
69059
69060 2006-12-23  Bruno Haible  <bruno@clisp.org>
69061
69062         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69063
69064 2006-12-23  Bruno Haible  <bruno@clisp.org>
69065
69066         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69067         S_ISLNK.
69068         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69069         mingw.
69070
69071 2006-12-22  Bruno Haible  <bruno@clisp.org>
69072
69073         * lib/copy-file.c: Include acl.h.
69074         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69075         Close the file descriptors only after being done with copy_acl.
69076         * modules/copy-file (Depends-on): Add acl.
69077
69078 2006-12-22  Bruno Haible  <bruno@clisp.org>
69079
69080         * gnulib-tool (SED): New variable.
69081         Use $SED instead of sed everywhere.
69082
69083 2006-12-22  Bruno Haible  <bruno@clisp.org>
69084
69085         * modules/no-c++: New file.
69086         * m4/no-c++.m4: New file.
69087         * MODULES.html.sh (Support for building libraries and executables):
69088         Add no-c++.
69089
69090 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69091
69092         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69093         Include <limits.h>, and use its INT_MAX to rewrite the
69094         j loop so that it does not overflow 'int'.  Problem reported by
69095         Ralf Wildenhues in
69096         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69097         Play it safe by shifting left by 1 rather than multiplying by 2,
69098         as GCC is less likely to optimize this away when the value
69099         is signed (when it assumes overflow leads to undefined behavior).
69100         Also, don't assume time_t uses two's complement.
69101
69102 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69103
69104         * MODULES.html.sh: New module wctype.
69105         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69106         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69107         <wctype.h>, since the new wctype module should fix this.
69108         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69109         the wctype module should arrange for it.
69110         * lib/regex_internal.h: Likewise.
69111         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69112         since the wctype module should handle this now.
69113         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69114         * modules/fnmatch (Depends-on): Add wctype.
69115         * modules/quotearg (Depends-on): Likewise.
69116         * modules/regex (Depends-on): Likewise.
69117
69118 2006-12-19  Bruno Haible  <bruno@clisp.org>
69119
69120         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69121         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69122
69123 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69124
69125         * modules/savewd (Depends-on): Fix dependency on fcntl.
69126
69127 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69128
69129         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69130         conforms to C99, rather than relying on the user's environment
69131         setting of STDINT_H.
69132
69133 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69134         and Eric Blake  <ebb9@byu.net>
69135
69136         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69137         This is more consistent with the other defines here.
69138         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69139         Port to z/OS.  Problem reported by Paul Gilmartin.
69140         Change local vars to use gl_ prefix rather than ac_.
69141         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69142         with other defines.
69143         * modules/double-slash-root: New module.
69144         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69145         (Depends-on): Add double-slash-root.
69146         * MODULES.html.sh (File system functions): Mention new module.
69147
69148 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69149
69150         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69151         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69152         This is for the benefit of gzip, which doesn't do i18n.
69153
69154 2006-12-12  Jim Meyering  <jim@meyering.net>
69155
69156         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
69157         Reported by Andreas Schwab <schwab@suse.de>.
69158
69159 2006-12-12  Bruno Haible  <bruno@clisp.org>
69160
69161         Merge these changes.
69162         2006-09-05  Bruno Haible  <bruno@clisp.org>
69163         * lib/iconvme.c (iconv_string): No need to save and restore errno when
69164         iconv_alloc succeeded.
69165         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
69166         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
69167         test for " && dest " at the end - dest is always != NULL there. Call
69168         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69169         with 2xNULL arguments, also to flush the state storage. Handle the
69170         IRIX iconv behaviour. Realloc the final result, to throw away unused
69171         memory.
69172
69173 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69174
69175         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69176         and fchmodat unconditionally, since glibc 2.4 has them.
69177         Problem reported by Arkadiusz Miskiewicz.
69178
69179 2006-12-10  Bruno Haible  <bruno@clisp.org>
69180
69181         * gnulib-tool (func_import): Show the include files only for those
69182         modules that are copied and specified.
69183         Reported by Karl Berry.
69184
69185 2006-12-08  Jim Meyering  <jim@meyering.net>
69186
69187         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
69188         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
69189
69190         * build-aux/announce-gen: Add two new options, both optional:
69191         --bootstrap-tools=TOOL_LIST
69192               a comma-separated list of tools, e.g.,
69193               autoconf,automake,bison,gnulib
69194         --gnulib-snapshot-date=DATE
69195               if gnulib is in the bootstrap tool list,
69196               then report this as the snapshot date.
69197               If not specified, use the current date/time.
69198               If you specify a date here, be sure it's UTC.
69199
69200 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69201
69202         * tests/test-argp-2.sh: Fix test to match actual output.
69203         (func_compare): Fix sed script to be portable.
69204
69205 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
69206
69207         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
69208         workaround for this case.  It is not autoconfigured now; offhand
69209         it's hard to see how to autoconfigure it.
69210
69211 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
69212
69213         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
69214         a directory that is about to be chowned.  Such a directory's
69215         initial file permissions should permit the owner only and this
69216         should not be changed until after the chown, since the group and
69217         other bits would be incorrect if they granted permission before
69218         the chown.
69219
69220         Fix porting problem for iswctype reported by Georg Schwarz in:
69221         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
69222         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
69223         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
69224         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
69225         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69226
69227 2006-12-03  Jim Meyering  <jim@meyering.net>
69228
69229         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
69230         p->fts_statp may not yet be defined.
69231         (fts_read): Instead, set it in the caller, once p->fts_statp is
69232         sure to be defined, and corresponds to a top-level directory.
69233         This bug made du -x fail.  Here's the coreutils test case:
69234         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
69235         Reported by Mike Frysinger.
69236
69237 2006-12-01  Jim Meyering  <jim@meyering.net>
69238
69239         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
69240         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
69241         Reported by Simon Josefsson.
69242
69243 2006-11-30  Jim Meyering  <jim@meyering.net>
69244
69245         * m4/warning.m4: Use the all-permissive copyright notice
69246         recommended by RMS (rather than LGPL).
69247         * m4/vararrays.m4: Likewise.
69248         * m4/flexmember.m4: Likewise.
69249
69250 2006-11-29  Bruno Haible  <bruno@clisp.org>
69251
69252         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69253         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
69254         using +=.
69255         Reported by Simon Josefsson <simon@josefsson.org>.
69256
69257 2006-11-28  James Youngman <jay@gnu.org>
69258
69259         * README: Advise users that they might find the bug-gnulib@gnu.org
69260         and autotools-announce@gnu.org mailing lists useful.
69261
69262 2006-11-28  Bruno Haible  <bruno@clisp.org>
69263
69264         * m4/ptrdiff_max.m4: Remove file.
69265
69266 2006-11-21  Bruno Haible  <bruno@clisp.org>
69267
69268         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
69269         _AC_COMPUTE_INT.
69270         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69271         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
69272         _AC_COMPUTE_INT.
69273         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69274         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
69275         _AC_COMPUTE_INT.
69276         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69277
69278 2006-11-28  Jim Meyering  <jim@meyering.net>
69279
69280         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
69281         warning from "gcc -Wshadow" about shadowing the builtin.
69282
69283 2006-11-27  Bruno Haible  <bruno@clisp.org>
69284
69285         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
69286         _AC_COMPUTE_INT.
69287         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69288
69289 2006-11-27  Bruno Haible  <bruno@clisp.org>
69290             Paul Eggert  <eggert@cs.ucla.edu>
69291
69292         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
69293
69294 2006-11-26  Bruno Haible  <bruno@clisp.org>
69295
69296         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69297         noinst_LTLIBRARIES.
69298
69299 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69300             Bruno Haible  <bruno@clisp.org>
69301
69302         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
69303         if compiling with "gcc -ansi".
69304
69305 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69306
69307         Fix some incompatibilities with gcc -ansi -pedantic.
69308         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
69309         if compiling pedantically with GCC, unless it's C99 or later.
69310         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
69311         it mishandles gcc -ansi -pedantic as well.
69312         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
69313         if gcc -pedantic.
69314         * lib/regexec.c (check_node_accept_bytes): Don't use auto
69315         initializers for struct if -pedantic, unless it's C99 or later.
69316
69317 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
69318
69319         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
69320         Don't close an fd more than once. Identical atimes indicate
69321         success, not failure.
69322
69323 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
69324
69325         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
69326
69327 2006-11-23  Jim Meyering  <jim@meyering.net>
69328
69329         * build-aux/announce-gen: New file.  From coreutils.
69330
69331 2006-11-22  Jim Meyering  <jim@meyering.net>
69332
69333         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
69334         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
69335         (fts_read): Use a temporary to narrow the overused st_size member
69336         before using it in a switch statement.  Reported by Matthew Woehlke.
69337
69338         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
69339         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69340
69341 2006-11-20  Bruno Haible  <bruno@clisp.org>
69342
69343         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
69344         changequote instead of pairs of brackets.
69345         Reported by Andreas Schwab <schwab@suse.de>.
69346
69347 2006-11-21  Jim Meyering  <jim@meyering.net>
69348
69349         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
69350         so as to remain compatible with older compilers.
69351         Patch from Michael Deutschmann.
69352
69353 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69354
69355         * MODULES.html.sh (File system functions): Add openat.
69356
69357         * lib/openat.h (rpl_fstatat): New macro, if
69358         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
69359         (fstatat): Define to rpl_fstatat under the same conditions,
69360         unless COMPILING_FSTATAT.
69361         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
69362         seems to have the bug.
69363         * lib/fstatat.c: New file.
69364         * modules/openat (Files): Add it.
69365
69366 2006-11-20  Bruno Haible  <bruno@clisp.org>
69367
69368         * Makefile: New file.
69369
69370 2006-11-20  Jim Meyering  <jim@meyering.net>
69371
69372         The beginnings of syntax-related checks for gnulib.
69373         * lib/Makefile: New file.
69374         * lib/t-idcache: New script.  Ensure that the two halves of
69375         idcache.c stay in sync.
69376
69377         * lib/idcache.c: Adjust comments in user- and group- portions to
69378         be more accurate, and to be consistent with one another.
69379
69380 2006-11-20  Jim Meyering  <jim@meyering.net>
69381
69382         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
69383         continue using the flexible array member (thus, this module performs
69384         half as many malloc calls), with the addition that...
69385         (getgroup, getuser): Consistently record a non-match via an empty
69386         "name" string, and map an empty string match to a NULL return value.
69387         * modules/idcache (Depends-on): Re-add flexmember.
69388
69389         * lib/idcache.c (getuser): Remove all uses of the register keyword.
69390         (getuidbyname, getgroup, getgidbyname): Likewise.
69391
69392         Use cleaner syntax: NULL rather than 0.
69393         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
69394
69395 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69396
69397         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
69398         It mishandled the case where the group was missing.
69399         Problem reported by Greg Schafer.
69400         * modules/idcache: Likewise.
69401
69402 2006-11-18  Jim Meyering  <jim@meyering.net>
69403
69404         * check-module (%exempt_header): Add exception for some
69405         conditionally-included headers.
69406
69407         * modules/i-ring (Depends-on): Add verify.
69408         (License): Change to LGPL.
69409
69410 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69411
69412         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
69413         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
69414         and inttostr.h.  Use snprintf rather than uinttostr, so that
69415         LGPLed code doesn't depend on GPLed.
69416
69417 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69418
69419         * modules/inline (License): Change from GPL to LGPL.
69420
69421 2006-11-17  Jim Meyering  <jim@meyering.net>
69422
69423         * modules/d-type (License): Switch to LGPL.
69424
69425 2006-11-15  Bruno Haible  <bruno@clisp.org>
69426
69427         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
69428
69429 2006-11-15  Eric Blake  <ebb9@byu.net>
69430
69431         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
69432         the module dependency.
69433
69434 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69435             Bruno Haible  <bruno@clisp.org>
69436
69437         * gnulib-tool (func_create_testdir): Add license consistency check.
69438
69439 2006-11-15  Eric Blake  <ebb9@byu.net>
69440
69441         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
69442         random "(cached)" in configure output.
69443
69444 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69445
69446         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
69447         test for conforming inttypes.h is both announced and cached.
69448
69449         * MODULES.html.sh (seen_modules, seen_files): New variables.
69450         (func_module): Rewrite to use a few less gnulib-tool and sed
69451         invocations.  Avoid a couple of quadratic algorithms for ...
69452         (missed_modules, missed_files): ... these, with ...
69453         (func_append, func_tmpdir): ... these new functions, from
69454         gnulib-tool.  Analogously, install traps for cleanup.
69455
69456         * tests/test-gc.c (main): Remove unused variables.
69457         * tests/test-read-file.c: Include stdlib.h, for 'free'.
69458
69459 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
69460
69461         * modules/inttostr (License): Change to LGPL.
69462
69463 2006-11-14  Eric Blake  <ebb9@byu.net>
69464
69465         * modules/tempname (License): Change to LGPL.
69466
69467 2006-11-14  Eric Blake  <ebb9@byu.net>
69468
69469         * doc/functions.texi (Function Portability): *printf functions on
69470         Cygwin now understand all POSIX size specifiers.
69471
69472 2006-11-14  Bruno Haible  <bruno@clisp.org>
69473
69474         * modules/c-ctype (License): Change to LGPL.
69475
69476 2006-11-12  Bruno Haible  <bruno@clisp.org>
69477
69478         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
69479         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
69480         for GNOME libraries, for which the include files are installed in
69481         subdirectories of $prefix/include.
69482
69483 2006-11-12  Bruno Haible  <bruno@clisp.org>
69484
69485         * m4/lib-link.m4: Require at least autoconf-2.54.
69486         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
69487         name to underscores for the --with option.
69488
69489 2006-11-13  Bruno Haible  <bruno@clisp.org>
69490
69491         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
69492         the tests directory.
69493         Reported by Ralf Wildenhues.
69494
69495 2006-11-13  Bruno Haible  <bruno@clisp.org>
69496
69497         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
69498         (func_emit_initmacro_end): Undo the override here.
69499         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
69500         Works around the famous automake error in coreutils.
69501
69502 2006-11-13  Eric Blake  <ebb9@byu.net>
69503
69504         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
69505         element, not its node.
69506
69507 2006-11-12  Bruno Haible  <bruno@clisp.org>
69508
69509         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
69510         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
69511
69512 2006-11-12  Bruno Haible  <bruno@clisp.org>
69513
69514         * gnulib-tool: New option --local-symlink.
69515         (func_usage): Document it.
69516         (lsymbolic): New variable.
69517         (func_import, func_create_testdir): If --symlink was not specified,
69518         test whether --local-symlink was specified and the file comes from
69519         the local_gnulib_dir.
69520
69521 2006-11-12  Bruno Haible  <bruno@clisp.org>
69522
69523         * gnulib-tool (func_ln): New function.
69524         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
69525
69526 2006-11-12  Bruno Haible  <bruno@clisp.org>
69527
69528         Finish support for source files in subdirectories.
69529         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
69530         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
69531         AUTOMAKE_OPTIONS.
69532         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
69533
69534 2006-11-12  Bruno Haible  <bruno@clisp.org>
69535
69536         * gnulib-tool (func_get_automake_snippet): Synthesize also an
69537         EXTRA_lib_SOURCES augmentation.
69538         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
69539
69540 2006-11-12  Jim Meyering  <jim@meyering.net>
69541
69542         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
69543         file descriptors.  This also averts a failure on systems with
69544         native openat support when a traversed directory lacks "x" access.
69545         * lib/fts_.h: Include "i-ring.h"
69546         (struct FTS) [fts_fd_ring]: New member.
69547         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
69548         (FCHDIR): Add parentheses.
69549         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
69550         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
69551         When descending, rather than simply closing the previous
69552         fts_cwd_fd value, push that file descriptor onto the ring.
69553         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
69554         (fts_open): Initialize the new fd_ring member.
69555         (fts_close): Clear the ring.
69556         (fts_safe_changedir): When possible, use our new fd_ring to skip
69557         the diropen and fstat and dev/ino comparison that would normally
69558         accompany a virtual `chdir ("..")'.
69559
69560         * modules/fts (Depends-on): Add i-ring.
69561         * modules/i-ring: New module.
69562         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
69563         * m4/i-ring.m4: New file.
69564
69565 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69566
69567         * gnulib-tool (func_create_testdir): Fix replacement of
69568         `build-aux' in configure.ac.  Run autotools in gltests
69569         subdirectory.
69570         (func_create_testdir, func_create_megatestdir, test): There is
69571         no need for '--force' in most autotool invocations in a new
69572         tree.  Actually fail the whole test if any of the tools, or the
69573         configure or make stages fail.
69574
69575         Sync from Automake.
69576         * build-aux/gnupload: Revert last change.  Add pointer to upload
69577         instructions of the GNU Maintenance Instructions.
69578         Suggestion by Karl Berry.
69579
69580 2006-11-10  Jim Meyering  <jim@meyering.net>
69581
69582         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
69583
69584 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69585
69586         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
69587         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
69588         (bind_textdomain_codeset) [! ENABLE_NLS]:
69589         Evaluate all the arguments.  That way, callers get compatible behavior
69590         if the arguments have side effects.  Also, it avoids some GCC
69591         diagnostics in some cases; Joel E. Denny reported problems when Bison
69592         was configured with --enable-gcc-warnigs.
69593
69594 2006-11-10  Jim Meyering  <jim@meyering.net>
69595
69596         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
69597         relevant options in CFLAGS (like -O, -fno-inline) are taken into
69598         account.
69599
69600 2006-11-10  Jim Meyering  <jim@meyering.net>
69601
69602         * modules/inline: New file/module.
69603         * modules/xalloc (Files): Remove m4/inline.m4.
69604         (Depends-on): Add inline, instead.
69605         * modules/oset: Likewise.
69606         * modules/list: Likewise.
69607
69608 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69609
69610         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
69611         Problem reported by Matthew Woehlke.
69612
69613 2006-11-09  Bruno Haible  <bruno@clisp.org>
69614
69615         * lib/tempname.c (gen_tempname): Remove variant that invokes
69616         __gen_tempname.
69617         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
69618         __gen_tempname.
69619
69620 2006-11-08  Bruno Haible  <bruno@clisp.org>
69621
69622         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
69623         to 'yes' instead of 'cross-compiling'.
69624
69625 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
69626
69627         * lib/quotearg.h (quotearg_free): New decl.
69628         * lib/quotearg.c (quotearg_free): New function.
69629         (slot0, nslots, slotvec0, slotvec):
69630         Now file-scope so that quotearg_free can get at them.
69631
69632 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69633
69634         Sync from Automake.
69635         * build-aux/gnupload: Add missing 'gnu' to example URL.
69636         Report by Karl Berry.
69637
69638 2006-11-08  Bruno Haible  <bruno@clisp.org>
69639
69640         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
69641         Suggested by Paul Eggert.
69642
69643 2006-11-08  Jim Meyering  <jim@meyering.net>
69644
69645         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
69646         It's already included if !_LIBC.
69647         (fts_safe_changedir): Add a comment.
69648
69649 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
69650
69651         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
69652         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
69653         Matthew Woehlke.
69654
69655         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
69656         definitions up, to avoid colliding with change below.
69657         (static_inline) [HAVE_INLINE]: New macro.
69658         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
69659         Provide extern decls when !HAVE_INLINE.  Do not define unless
69660         static_inline is defined, either by us or by xmalloc.c.  Use
69661         static_inline rather than static inline.
69662         (XCALLOC): Optimize sizeof(T) = 1 case.
69663         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
69664
69665 2006-11-07  Bruno Haible  <bruno@clisp.org>
69666
69667         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
69668         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
69669         AC_C_INLINE.
69670         * modules/xalloc (Files): Add m4/inline.m4.
69671
69672 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69673
69674         * README: Fix typo.
69675         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
69676         (Miscellanous Notes): ...from this.
69677
69678 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
69679
69680         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
69681         Mention that offsetof should be used instead of sizeof.
69682         From Bruno Haible.
69683
69684 2006-11-07  Bruno Haible  <bruno@clisp.org>
69685
69686         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
69687
69688 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69689
69690         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69691         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
69692         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69693         (gl_tree_add_before, gl_tree_add_after):
69694         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
69695         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
69696         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69697         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
69698         (gl_linked_add_after, gl_linked_add_at): Likewise.
69699         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
69700         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69701         (gl_tree_add_before, gl_tree_add_after): Likewise.
69702         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
69703         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
69704         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
69705
69706 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69707
69708         * lib/gl_oset.h: Use C comment style, not C++ comment style.
69709
69710 2006-11-06  Bruno Haible  <bruno@clisp.org>
69711
69712         * m4/inline.m4: New file.
69713         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
69714         * modules/list (Files): Add m4/inline.m4.
69715         * modules/oset (Files): Likewise.
69716
69717 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69718
69719         * lib/idcache.c: Include <stddef.h>, for offsetof.
69720         (struct userid.name): Change from char * to a flexible array member.
69721         All uses changed.
69722         * modules/idcache (Depends-on): Add flexmember.
69723
69724         * MODULES.html.sh (Core language properties): New module flexmember.
69725         * modules/flexmember, m4/flexmember.m4: New files.
69726
69727         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
69728         inline functions that are identical with the old xnmalloc_inline,
69729         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
69730         that we can avoid some unnecessary integer multiplications and
69731         divisions in the common case where the element size is known at
69732         compile time.
69733         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
69734         needed.
69735         (xnboundedmalloc): Remove.
69736         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
69737         arguments, for consistency with rest of this header.
69738         (xcharalloc): Rewrite using XNMALLOC.
69739         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
69740         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
69741         versions have been moved to lib/xalloc.h and renamed to be the
69742         non-*_inline versions.
69743         (xmalloc, xrealloc): Implement without reference to the xnmalloc
69744         and xnrealloc functions, since those functions are now inline and
69745         now call us.
69746         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
69747         renaming described above.
69748         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
69749         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
69750         captures the dependency in AC_C_INLINE.
69751
69752         New module canonicalize-lgpl, proposed by Charles Wilson in
69753         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
69754         with a few small changes afterwards.
69755         * MODULES.html.sh (File system functions): New module
69756         canonicalize-lgpl.
69757         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
69758         and canonicalize_file_name.
69759         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
69760         * modules/canonicalize-lgpl: New files.
69761
69762 2006-11-05  Bruno Haible  <bruno@clisp.org>
69763
69764         * gnulib-tool (func_import, func_create_testdir): Create directories
69765         also for files in subdirectories of lib/.
69766
69767 2006-11-05  Bruno Haible  <bruno@clisp.org>
69768
69769         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
69770         ANSI C compliant.
69771
69772 2006-11-03  Bruno Haible  <bruno@clisp.org>
69773
69774         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69775         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
69776         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
69777         (xnboundedmalloc): New inline function.
69778         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
69779         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
69780         xmalloc.
69781         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
69782         xmalloc.
69783         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
69784         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
69785         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
69786         xmalloc.
69787         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69788         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
69789         xmalloc.
69790         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
69791         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69792         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
69793         xmalloc.
69794         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69795         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
69796         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69797         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
69798         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
69799         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
69800         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
69801
69802 2006-11-03  Bruno Haible  <bruno@clisp.org>
69803
69804         * lib/c-ctype.h [C++]: Define functions without name mangling.
69805         * lib/fwriteerror.h [C++]: Likewise.
69806         * lib/gcd.h [C++]: Likewise.
69807         * lib/linebreak.h [C++]: Likewise.
69808
69809 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69810
69811         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
69812         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
69813         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
69814         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69815         Check for functions and headers just once.
69816         Check for declaration of canonicalize_file_name.
69817         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
69818
69819 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69820
69821         * gnulib-tool (func_import): Fix typo in actioncmd.
69822
69823 2006-11-02  Bruno Haible  <bruno@clisp.org>
69824
69825         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
69826         newline sequence in the Makefile.am snippet as a space, like "make"
69827         does.
69828         Reported by Roger Persson <perrog@gmail.com>.
69829
69830 2006-11-01  Bruno Haible  <bruno@clisp.org>
69831
69832         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
69833         already declared in <string.h>.
69834         * lib/strcase.h (strncasecmp): Don't declare it if yes.
69835
69836 2006-11-01  Bruno Haible  <bruno@clisp.org>
69837
69838         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
69839         * lib/strcase.h: Include <string.h>.
69840         (strcasecmp): Define to rpl_strcasecmp here.
69841
69842 2006-11-01  Bruno Haible  <bruno@clisp.org>
69843
69844         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
69845
69846 2006-11-01  Eric Blake  <ebb9@byu.net>
69847
69848         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
69849
69850         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
69851
69852 2006-10-29  Bruno Haible  <bruno@clisp.org>
69853
69854         Make it compile in C++ mode.
69855         * lib/full-write.c (full_rw): Add a cast.
69856
69857 2006-11-01  Bruno Haible  <bruno@clisp.org>
69858
69859         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
69860         be POSIX compliant.
69861         Reported by Roger Persson <perrog@gmail.com>.
69862
69863 2006-11-01  Eric Blake  <ebb9@byu.net>
69864
69865         * lib/getopt_.h: Fix comments.
69866
69867 2006-10-31  Eric Blake  <ebb9@byu.net>
69868
69869         * modules/tmpdir (Depends-on): Add sys_stat.
69870         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
69871         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
69872         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
69873         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
69874         tempname.
69875
69876 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
69877
69878         Avoid some C++ diagnostics reported by Bruno Haible.
69879         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
69880         xmalloc.
69881         (quotearg_alloc): Use xcharalloc rather than xmalloc.
69882         (struct slotvec): Move to top level.
69883         (quotearg_n_options): Rewrite to avoid xmalloc.
69884         * lib/xalloc.h (xcharalloc): New function.
69885         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
69886         [defined __cplusplus]: Add function template that provides result
69887         type propagation.  This part of the change is from Bruno Haible.
69888
69889 2006-10-29  Bruno Haible  <bruno@clisp.org>
69890
69891         Make it compile in C++ mode.
69892         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
69893         * lib/strnlen1.c (strnlen1): Cast memchr result.
69894         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
69895         * lib/clean-temp.c (string_equals, string_hash): Add casts.
69896         (create_temp_dir): Rename local variable 'template'.
69897         (compile_csharp_using_sscli): Add cast.
69898         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
69899         * lib/findprog.c (find_in_path): Likewise.
69900         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
69901         * lib/wait-process.c (register_slave_subprocess): Likewise.
69902
69903 2006-10-22  Bruno Haible  <bruno@clisp.org>
69904
69905         * modules/tsearch: New file.
69906         * lib/tsearch.h: New file.
69907         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
69908         * m4/tsearch.m4: New file.
69909         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
69910
69911 2006-10-29  Eric Blake  <ebb9@byu.net>
69912
69913         * lib/arcfour.c: Assume config.h.
69914         * lib/arctwo.c: Likewise.
69915         * lib/base64.c: Likewise.
69916         * lib/check-version.c: Likewise.
69917         * lib/crc.c: Likewise.
69918         * lib/des.c: Likewise.
69919         * lib/gc-gnulib.c: Likewise.
69920         * lib/gc-libgcrypt.c: Likewise.
69921         * lib/gc-pbkdf2-sha1.c: Likewise.
69922         * lib/getaddrinfo.c: Likewise.
69923         * lib/getdelim.c: Likewise.
69924         * lib/getline.c: Likewise.
69925         * lib/hmac-md5.c: Likewise.
69926         * lib/hmac-sha1.c: Likewise.
69927         * lib/iconvme.c: Likewise.
69928         * lib/md2.c: Likewise.
69929         * lib/md4.c: Likewise.
69930         * lib/memxor.c: Likewise.
69931         * lib/read-file.c: Likewise.
69932         * lib/readline.c: Likewise.
69933         * lib/rijndael-alg-fst.c: Likewise.
69934         * lib/rijndael-api-fst.c: Likewise.
69935         * lib/xgetdomainname.c: Likewise.
69936
69937 2006-10-28  Eric Blake  <ebb9@byu.net>
69938
69939         * lib/xstrndup.c: Assume config.h.
69940
69941 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69942
69943         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
69944         stat-macros.h is now for our own macros, whereas stat_h is for
69945         macros in the <sys/stat.h> name space.
69946         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
69947         (STAT_MACROS_H): Remove.
69948         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
69949         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
69950         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
69951         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
69952         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
69953         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
69954         Move these macros to ...
69955         * lib/stat_.h: here.  Don't include stat-macros.h.
69956         * lib/canonicalize.c: Don't include stat-macros.h.
69957         * lib/chown.c: Likewise.
69958         * lib/euidaccess.c: Likewise.
69959         * lib/file-type.c: Likewise.
69960         * lib/filemode.c: Likewise.
69961         * lib/glob.c: Likewise.
69962         * lib/isapipe.c: Likewise.
69963         * lib/lchown.c: Likewise.
69964         * lib/lstat.c: Likewise.
69965         * lib/mkdir-p.c: Likewise.
69966         * lib/rmdir.c: Likewise.
69967         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
69968         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
69969         unless mkdir isn't declared, to speed up 'configure'.
69970         Always create sys/stat.h, since it's unlikely any real sys/stat.h
69971         would define all the S_* symbols.
69972         * modules/canonicalize (Depends-on):
69973         Depend on sys_stat, not stat-macros.
69974         * modules/chown: Likewise.
69975         * modules/euidaccess: Likewise.
69976         * modules/filemode: Likewise.
69977         * modules/file-type: Likewise.
69978         * modules/glob: Likewise.
69979         * modules/isapipe: Likewise.
69980         * modules/lchown: Likewise.
69981         * modules/lstat: Likewise.
69982         * modules/mkancesdirs: Likewise.
69983         * modules/rmdir: Likewise.
69984         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
69985         * modules/modechange: Likewise.
69986         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
69987         (configure.ac): Remove gl_STAT_MACROS.
69988         * modules/sys_stat (Depends-on): Remove stat-macros.
69989
69990 2006-10-27  Bruno Haible  <bruno@clisp.org>
69991
69992         * m4/signed.m4: Remove file.
69993         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
69994         invocation.
69995         * modules/vasnprintf (Files): Remove m4/signed.m4.
69996
69997 2006-10-27  Bruno Haible  <bruno@clisp.org>
69998
69999         Update to GNU gettext 0.16.
70000         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70001         m4/inttypes-h.m4, m4/signed.m4.
70002         * m4/gettext.m4: Update to GNU gettext 0.16.
70003         * m4/intl.m4: New file, from GNU gettext.
70004         * m4/intldir.m4: New file, from GNU gettext.
70005         * config/srclist.txt: Update
70006
70007 2006-10-27  Eric Blake  <ebb9@byu.net>
70008
70009         * MODULES.html.sh: Document tempname.
70010         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70011         dependencies.
70012         (Files): Move lib/tempname.c...
70013         * modules/tempname: ...to this new module.
70014         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70015         (gl_PREREQ_TEMPNAME): Move...
70016         * m4/tempname.m4: ...to this new file.
70017         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70018         * modules/sys_stat (Depends-on): Add stat-macros.
70019         * lib/stat_.h (includes): Pick up stat macros.
70020         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70021         if stat macros are broken.
70022         * lib/tempname.c (includes): No need to include "stat-macros.h".
70023         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70024         (direxists, __path_search) [!_LIBC]: Don't compile these in
70025         gnulib; the tmpdir module covers that.
70026         * lib/tempname.h: New file.
70027
70028 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70029
70030         * COPYING: Explain how gnulib-tool converts licence headers.
70031         Almost all wording by Eric Blake.
70032
70033 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70034
70035         * lib/mbchar.h (is_basic_table): Make read-only.
70036         * lib/mbchar.c (is_basic_table): Likewise.
70037         Reported by John Darrington.
70038
70039 2006-10-25  Bruno Haible  <bruno@clisp.org>
70040
70041         * lib/progname.h (set_program_name): Undefine before defining.
70042
70043 2006-10-25  Bruno Haible  <bruno@clisp.org>
70044
70045         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70046         false for non-gcc C++ compilers.
70047         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70048
70049 2006-10-24  Bruno Haible  <bruno@clisp.org>
70050
70051         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70052         iconv implementations like Irix iconv.
70053
70054 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70055
70056         * modules/vararrays: New file.
70057         * m4/vararrays.m4: New file, taken from diffutils.
70058         * MODULES.html.sh: New module vararrays.
70059
70060 2006-10-24  Karl Berry  <karl@gnu.org>
70061
70062         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70063         Don't call GNU Unix.
70064
70065 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70066
70067         * users.txt: Add Libtool.
70068
70069         Sync from Libtool:
70070
70071         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70072
70073         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70074         to gnulib's policy of including config.h unconditionally.
70075
70076 2006-10-24  Bruno Haible  <bruno@clisp.org>
70077
70078         * modules/wcwidth (Files): Add m4/wint_t.m4.
70079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70080         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70081
70082 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70083
70084         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70085         to pacify GCC with some -W flags enabled.  Problem reported by
70086         Bruno Haible.
70087
70088 2006-10-24  Jim Meyering  <jim@meyering.net>
70089
70090         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70091         Reported by Karl Berry.
70092
70093 2006-10-23  Bruno Haible  <bruno@clisp.org>
70094
70095         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70096
70097 2006-10-24  Bruno Haible  <bruno@clisp.org>
70098
70099         * lib/gl_list.h: Use C comment style, not C++ comment style.
70100
70101 2006-10-23  Eric Blake  <ebb9@byu.net>
70102
70103         * lib/getaddrinfo.c (includes): Add missing include.
70104
70105 2006-10-23  Bruno Haible  <bruno@clisp.org>
70106             Paul Eggert  <eggert@cs.ucla.edu>
70107
70108         Ability to rename obstack_free.
70109         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70110         obstack_free.
70111         (obstack_free): Invoke the __obstack_free macro.
70112         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70113
70114 2006-10-23  Bruno Haible  <bruno@clisp.org>
70115             Paul Eggert  <eggert@cs.ucla.edu>
70116
70117         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70118         __argc, __argv from the declaration. (They are defined as macros on
70119         mingw.)
70120
70121 2006-10-22  Bruno Haible  <bruno@clisp.org>
70122
70123         * doc/gnulib-intro.texi: New file.
70124         * doc/gnulib.texi: Include it.
70125
70126 2006-10-21  Bruno Haible  <bruno@clisp.org>
70127
70128         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70129         "Introduction", "Miscellanous Notes", "Particular Modules".
70130
70131 2006-10-21  Bruno Haible  <bruno@clisp.org>
70132
70133         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70134         Change mostlyclean-local rule to avoid sh syntax error from bash
70135         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70136
70137 2006-10-23  Jim Meyering  <jim@meyering.net>
70138
70139         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70140         in place of snprintf.
70141
70142         * modules/inttostr (Files): Add lib/uinttostr.c.
70143         * lib/uinttostr.c (inttostr): New file/function.
70144         * lib/inttostr.h (uinttostr): Declare.
70145         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70146         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70147         Add uinttostr.
70148         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70149
70150 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70151
70152         * lib/canonicalize.c (ELOOP): Define if not already defined.
70153         Problem reported by Bruno Haible in
70154         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
70155
70156 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70157
70158         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
70159         Problem reported by Perry Smith and Ville Laurikari.
70160
70161         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
70162         uses.
70163
70164 2006-10-19  Bruno Haible  <bruno@clisp.org>
70165
70166         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
70167         for mingw.
70168
70169 2006-10-19  Bruno Haible  <bruno@clisp.org>
70170
70171         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70172         Needed for mingw.
70173
70174 2006-10-19  Bruno Haible  <bruno@clisp.org>
70175
70176         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70177
70178 2006-10-19  Bruno Haible  <bruno@clisp.org>
70179
70180         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70181         it.
70182
70183 2006-10-19  Bruno Haible  <bruno@clisp.org>
70184
70185         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70186         invocation.
70187
70188 2006-10-19  Bruno Haible  <bruno@clisp.org>
70189
70190         * gnulib-tool (func_create_testdir): Don't include ftruncate and
70191         mountlist by default.
70192
70193 2006-10-16  Bruno Haible  <bruno@clisp.org>
70194
70195         * lib/c-strstr.c: Include c-strstr.h.
70196
70197 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70198
70199         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
70200         in a slash.
70201
70202 2006-10-18  Bruno Haible  <bruno@clisp.org>
70203
70204         * lib/lock.h [C++]: Wrap definitions in extern "C".
70205
70206 2006-10-18  Bruno Haible  <bruno@clisp.org>
70207
70208         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
70209         gl_LIBOBJS list.
70210
70211 2006-10-18  Bruno Haible  <bruno@clisp.org>
70212
70213         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
70214
70215 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
70216
70217         * lib/xstrtol.h: Include gettext.h.
70218         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
70219         Problem reported by Eric Blake.
70220         * modules/xstrtol (Depends-on): Add gettext-h.
70221
70222 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
70223
70224         * lib/strftime.c (advance): New macro.
70225         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
70226         incomplete type, so you can't add 0 to it.  Problem and patch
70227         reported by Eelco Dolstra for dietlibc.
70228
70229 2006-10-18  Jim Meyering  <jim@meyering.net>
70230
70231         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
70232         type for a local, and rename it: s/up/user_proc/.
70233
70234 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
70235
70236         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
70237         READ_UTMP_USER_PROCESS.
70238         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
70239
70240 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70241
70242         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
70243         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
70244
70245 2006-10-17  Eric Blake  <ebb9@byu.net>
70246
70247         * lib/sigprocmask.c (sigprocmask): Fix typo.
70248
70249         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
70250
70251         * modules/clean-temp (Makefile.am): Don't add to make output...
70252         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
70253         config.h.
70254
70255 2006-10-17  Bruno Haible  <bruno@clisp.org>
70256
70257         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
70258         differently if DEFAULT_TEXT_DOMAIN is set.
70259
70260 2006-10-16  Bruno Haible  <bruno@clisp.org>
70261
70262         * lib/clean-temp.c: Include fwriteerror.h.
70263
70264 2006-10-16  Bruno Haible  <bruno@clisp.org>
70265
70266         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
70267
70268 2006-10-16  Bruno Haible  <bruno@clisp.org>
70269
70270         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
70271         * lib/sigprocmask.h: Include <sys/types.h>.
70272         (sigset_t): Use the system's definition if present.
70273
70274 2006-10-17  Eric Blake  <ebb9@byu.net>
70275
70276         * lib/xvasprintf.c (includes): Assume config.h.
70277         * lib/xasprintf.c (includes): Likewise.
70278
70279 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
70280
70281         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
70282         at least as wide as intmax_t.
70283
70284 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
70285
70286         (Imported from Automake.)
70287         * build-aux/gnupload: Update to version 1.1 of directive file.
70288
70289 2006-10-16  Eric Blake  <ebb9@byu.net>
70290
70291         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
70292         match Automake 1.10a.
70293
70294 2006-10-14  Bruno Haible  <bruno@clisp.org>
70295
70296         * modules/sigprocmask: New file.
70297         * lib/sigprocmask.h: New file.
70298         * lib/sigprocmask.c: New file.
70299         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
70300         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
70301         request sigprocmask.o.
70302         (gl_PREREQ_SIGPROCMASK): New macro.
70303         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
70304         (Depends-on): Add sigprocmask.
70305         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
70306         gt_SIGNALBLOCKING. Test for 'raise' only once.
70307         * lib/fatal-signal.c: Include sigprocmask.h.
70308         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
70309         unblock_fatal_signals): Define always.
70310         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70311         sigprocmask.
70312
70313 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70314
70315         Sync from Automake.
70316         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
70317         which incorrectly sets the mode of an existing destination
70318         directory.  In some cases the unpatched install-sh could do the
70319         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
70320         system.  We hope this is rare in practice, but it's clearly worth
70321         fixing.  Problem reported by Alex Unleashed in
70322         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
70323         Also, don't bother to check for -m bugs unless we're using -m;
70324         suggested by Stepan Kasal.
70325
70326 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70327
70328         Sync from Automake.
70329         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
70330         `-c' flag, so they appear at the same position as in %FASTDEP%
70331         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
70332         which ignores unknown options only after the first non-option.
70333         Bug report against M4 by Nelson H. F. Beebe.
70334
70335 2006-10-13  Jim Meyering  <jim@meyering.net>
70336
70337         Fix a bug in yesterday's change.
70338         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
70339         p->fts_statp->st_dev would be used uninitialized.
70340         Ensures that we always call fts_stat on the very first entry.
70341         Miklos Szeredi reported that find -xdev stopped working.
70342
70343 2006-10-12  Bruno Haible  <bruno@clisp.org>
70344
70345         * gnulib-tool (func_get_automake_snippet): Append an automatically
70346         computed EXTRA_DIST augmentation.
70347         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
70348         * modules/alloca-opt (Makefile.am): Likewise.
70349         * modules/allocsa (Makefile.am): Likewise.
70350         * modules/arcfour (Makefile.am): Likewise.
70351         * modules/arctwo (Makefile.am): Likewise.
70352         * modules/argmatch (Makefile.am): Likewise.
70353         * modules/argz (Makefile.am): Likewise.
70354         * modules/atexit (Makefile.am): Likewise.
70355         * modules/backupfile (Makefile.am): Likewise.
70356         * modules/byteswap (Makefile.am): Likewise.
70357         * modules/c-strtod (Makefile.am): Likewise.
70358         * modules/c-strtold (Makefile.am): Likewise.
70359         * modules/calloc (Makefile.am): Likewise.
70360         * modules/canon-host (Makefile.am): Likewise.
70361         * modules/canonicalize (Makefile.am): Likewise.
70362         * modules/chdir-long (Makefile.am): Likewise.
70363         * modules/chdir-safer (Makefile.am): Likewise.
70364         * modules/check-version (Makefile.am): Likewise.
70365         * modules/chown (Makefile.am): Likewise.
70366         * modules/cloexec (Makefile.am): Likewise.
70367         * modules/close-stream (Makefile.am): Likewise.
70368         * modules/closeout (Makefile.am): Likewise.
70369         * modules/crc (Makefile.am): Likewise.
70370         * modules/csharpexec (Makefile.am): Likewise.
70371         * modules/cycle-check (Makefile.am): Likewise.
70372         * modules/des (Makefile.am): Likewise.
70373         * modules/dev-ino (Makefile.am): Likewise.
70374         * modules/dirfd (Makefile.am): Likewise.
70375         * modules/dirname (Makefile.am): Likewise.
70376         * modules/dup2 (Makefile.am): Likewise.
70377         * modules/eealloc (Makefile.am): Likewise.
70378         * modules/error (Makefile.am): Likewise.
70379         * modules/euidaccess (Makefile.am): Likewise.
70380         * modules/exclude (Makefile.am): Likewise.
70381         * modules/exitfail (Makefile.am): Likewise.
70382         * modules/fcntl-safer (Makefile.am): Likewise.
70383         * modules/fcntl (Makefile.am): Likewise.
70384         * modules/file-type (Makefile.am): Likewise.
70385         * modules/fileblocks (Makefile.am): Likewise.
70386         * modules/filemode (Makefile.am): Likewise.
70387         * modules/filenamecat (Makefile.am): Likewise.
70388         * modules/fnmatch (Makefile.am): Likewise.
70389         * modules/fopen-safer (Makefile.am): Likewise.
70390         * modules/fpending (Makefile.am): Likewise.
70391         * modules/fprintftime (Makefile.am): Likewise.
70392         * modules/free (Makefile.am): Likewise.
70393         * modules/fsusage (Makefile.am): Likewise.
70394         * modules/ftruncate (Makefile.am): Likewise.
70395         * modules/fts (Makefile.am): Likewise.
70396         * modules/gc-arcfour (Makefile.am): Likewise.
70397         * modules/gc-des (Makefile.am): Likewise.
70398         * modules/gc-hmac-md5 (Makefile.am): Likewise.
70399         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
70400         * modules/gc-md4 (Makefile.am): Likewise.
70401         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70402         * modules/gc-sha1 (Makefile.am): Likewise.
70403         * modules/gc (Makefile.am): Likewise.
70404         * modules/getaddrinfo (Makefile.am): Likewise.
70405         * modules/getcwd (Makefile.am): Likewise.
70406         * modules/getdelim (Makefile.am): Likewise.
70407         * modules/getdomainname (Makefile.am): Likewise.
70408         * modules/getgroups (Makefile.am): Likewise.
70409         * modules/gethostname (Makefile.am): Likewise.
70410         * modules/gethrxtime (Makefile.am): Likewise.
70411         * modules/getline (Makefile.am): Likewise.
70412         * modules/getloadavg (Makefile.am): Likewise.
70413         * modules/getlogin_r (Makefile.am): Likewise.
70414         * modules/getndelim2 (Makefile.am): Likewise.
70415         * modules/getopt (Makefile.am): Likewise.
70416         * modules/getpagesize (Makefile.am): Likewise.
70417         * modules/getpass-gnu (Makefile.am): Likewise.
70418         * modules/getpass (Makefile.am): Likewise.
70419         * modules/getsubopt (Makefile.am): Likewise.
70420         * modules/gettime (Makefile.am): Likewise.
70421         * modules/gettimeofday (Makefile.am): Likewise.
70422         * modules/getugroups (Makefile.am): Likewise.
70423         * modules/getusershell (Makefile.am): Likewise.
70424         * modules/glob (Makefile.am): Likewise.
70425         * modules/group-member (Makefile.am): Likewise.
70426         * modules/hard-locale (Makefile.am): Likewise.
70427         * modules/hash (Makefile.am): Likewise.
70428         * modules/hmac-md5 (Makefile.am): Likewise.
70429         * modules/hmac-sha1 (Makefile.am): Likewise.
70430         * modules/human (Makefile.am): Likewise.
70431         * modules/idcache (Makefile.am): Likewise.
70432         * modules/imaxabs (Makefile.am): Likewise.
70433         * modules/imaxdiv (Makefile.am): Likewise.
70434         * modules/inet_ntop (Makefile.am): Likewise.
70435         * modules/inet_pton (Makefile.am): Likewise.
70436         * modules/intprops (Makefile.am): Likewise.
70437         * modules/inttostr (Makefile.am): Likewise.
70438         * modules/inttypes (Makefile.am): Likewise.
70439         * modules/isapipe (Makefile.am): Likewise.
70440         * modules/javaversion (Makefile.am): Likewise.
70441         * modules/lchmod (Makefile.am): Likewise.
70442         * modules/lchown (Makefile.am): Likewise.
70443         * modules/localcharset (Makefile.am): Likewise.
70444         * modules/long-options (Makefile.am): Likewise.
70445         * modules/lstat (Makefile.am): Likewise.
70446         * modules/malloc (Makefile.am): Likewise.
70447         * modules/mathl (Makefile.am): Likewise.
70448         * modules/mbchar (Makefile.am): Likewise.
70449         * modules/md2 (Makefile.am): Likewise.
70450         * modules/md4 (Makefile.am): Likewise.
70451         * modules/md5 (Makefile.am): Likewise.
70452         * modules/memcasecmp (Makefile.am): Likewise.
70453         * modules/memchr (Makefile.am): Likewise.
70454         * modules/memcmp (Makefile.am): Likewise.
70455         * modules/memcoll (Makefile.am): Likewise.
70456         * modules/memcpy (Makefile.am): Likewise.
70457         * modules/memmem (Makefile.am): Likewise.
70458         * modules/memmove (Makefile.am): Likewise.
70459         * modules/mempcpy (Makefile.am): Likewise.
70460         * modules/memrchr (Makefile.am): Likewise.
70461         * modules/memset (Makefile.am): Likewise.
70462         * modules/memxor (Makefile.am): Likewise.
70463         * modules/mkancesdirs (Makefile.am): Likewise.
70464         * modules/mkdir-p (Makefile.am): Likewise.
70465         * modules/mkdir (Makefile.am): Likewise.
70466         * modules/mkdtemp (Makefile.am): Likewise.
70467         * modules/mkstemp (Makefile.am): Likewise.
70468         * modules/mktime (Makefile.am): Likewise.
70469         * modules/modechange (Makefile.am): Likewise.
70470         * modules/mountlist (Makefile.am): Likewise.
70471         * modules/nanosleep (Makefile.am): Likewise.
70472         * modules/obstack (Makefile.am): Likewise.
70473         * modules/openat (Makefile.am): Likewise.
70474         * modules/pagealign_alloc (Makefile.am): Likewise.
70475         * modules/pathmax (Makefile.am): Likewise.
70476         * modules/physmem (Makefile.am): Likewise.
70477         * modules/poll (Makefile.am): Likewise.
70478         * modules/posixtm (Makefile.am): Likewise.
70479         * modules/posixver (Makefile.am): Likewise.
70480         * modules/putenv (Makefile.am): Likewise.
70481         * modules/quote (Makefile.am): Likewise.
70482         * modules/quotearg (Makefile.am): Likewise.
70483         * modules/raise (Makefile.am): Likewise.
70484         * modules/read-file (Makefile.am): Likewise.
70485         * modules/readline (Makefile.am): Likewise.
70486         * modules/readlink (Makefile.am): Likewise.
70487         * modules/readtokens (Makefile.am): Likewise.
70488         * modules/readutmp (Makefile.am): Likewise.
70489         * modules/realloc (Makefile.am): Likewise.
70490         * modules/regex (Makefile.am): Likewise.
70491         * modules/rename-dest-slash (Makefile.am): Likewise.
70492         * modules/rename (Makefile.am): Likewise.
70493         * modules/rijndael (Makefile.am): Likewise.
70494         * modules/rmdir (Makefile.am): Likewise.
70495         * modules/rpmatch (Makefile.am): Likewise.
70496         * modules/safe-read (Makefile.am): Likewise.
70497         * modules/safe-write (Makefile.am): Likewise.
70498         * modules/same-inode (Makefile.am): Likewise.
70499         * modules/same (Makefile.am): Likewise.
70500         * modules/save-cwd (Makefile.am): Likewise.
70501         * modules/savedir (Makefile.am): Likewise.
70502         * modules/setenv (Makefile.am): Likewise.
70503         * modules/settime (Makefile.am): Likewise.
70504         * modules/sha1 (Makefile.am): Likewise.
70505         * modules/sig2str (Makefile.am): Likewise.
70506         * modules/snprintf (Makefile.am): Likewise.
70507         * modules/stat-macros (Makefile.am): Likewise.
70508         * modules/stat-time (Makefile.am): Likewise.
70509         * modules/stdbool (Makefile.am): Likewise.
70510         * modules/stdint (Makefile.am): Likewise.
70511         * modules/stdlib-safer (Makefile.am): Likewise.
70512         * modules/stpcpy (Makefile.am): Likewise.
70513         * modules/stpncpy (Makefile.am): Likewise.
70514         * modules/strcase (Makefile.am): Likewise.
70515         * modules/strcasestr (Makefile.am): Likewise.
70516         * modules/strchrnul (Makefile.am): Likewise.
70517         * modules/strcspn (Makefile.am): Likewise.
70518         * modules/strdup (Makefile.am): Likewise.
70519         * modules/strerror (Makefile.am): Likewise.
70520         * modules/strftime (Makefile.am): Likewise.
70521         * modules/strndup (Makefile.am): Likewise.
70522         * modules/strnlen (Makefile.am): Likewise.
70523         * modules/strpbrk (Makefile.am): Likewise.
70524         * modules/strsep (Makefile.am): Likewise.
70525         * modules/strstr (Makefile.am): Likewise.
70526         * modules/strtod (Makefile.am): Likewise.
70527         * modules/strtoimax (Makefile.am): Likewise.
70528         * modules/strtok_r (Makefile.am): Likewise.
70529         * modules/strtol (Makefile.am): Likewise.
70530         * modules/strtoll (Makefile.am): Likewise.
70531         * modules/strtoul (Makefile.am): Likewise.
70532         * modules/strtoull (Makefile.am): Likewise.
70533         * modules/strtoumax (Makefile.am): Likewise.
70534         * modules/strverscmp (Makefile.am): Likewise.
70535         * modules/sys_socket (Makefile.am): Likewise.
70536         * modules/sys_stat (Makefile.am): Likewise.
70537         * modules/sysexits (Makefile.am): Likewise.
70538         * modules/time_r (Makefile.am): Likewise.
70539         * modules/timegm (Makefile.am): Likewise.
70540         * modules/timespec (Makefile.am): Likewise.
70541         * modules/tmpfile-safer (Makefile.am): Likewise.
70542         * modules/trim (Makefile.am): Likewise.
70543         * modules/unistd-safer (Makefile.am): Likewise.
70544         * modules/unlinkdir (Makefile.am): Likewise.
70545         * modules/unlocked-io (Makefile.am): Likewise.
70546         * modules/userspec (Makefile.am): Likewise.
70547         * modules/utime (Makefile.am): Likewise.
70548         * modules/utimecmp (Makefile.am): Likewise.
70549         * modules/utimens (Makefile.am): Likewise.
70550         * modules/vasnprintf (Makefile.am): Likewise.
70551         * modules/vasprintf (Makefile.am): Likewise.
70552         * modules/vsnprintf (Makefile.am): Likewise.
70553         * modules/xalloc (Makefile.am): Likewise.
70554         * modules/xgetcwd (Makefile.am): Likewise.
70555         * modules/xnanosleep (Makefile.am): Likewise.
70556         * modules/xreadlink (Makefile.am): Likewise.
70557         * modules/xstrtod (Makefile.am): Likewise.
70558         * modules/xstrtol (Makefile.am): Likewise.
70559         * modules/xstrtold (Makefile.am): Likewise.
70560         * modules/yesno (Makefile.am): Likewise.
70561         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
70562
70563 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70564
70565         * modules/error (Makefile.am): Distribute files through
70566         EXTRA_DIST, not lib_SOURCES.
70567
70568 2006-10-12  Eric Blake  <ebb9@byu.net>
70569
70570         * modules/error (Makefile.am): Distribute files in /lib.
70571         * modules/obstack (Makefile.am): Likewise.
70572
70573 2006-10-12  Bruno Haible  <bruno@clisp.org>
70574
70575         * modules/acl (Makefile.am): Distribute all files in lib/ through
70576         EXTRA_DIST.
70577         * modules/arcfour (Makefile.am): Likewise.
70578         * modules/arctwo (Makefile.am): Likewise.
70579         * modules/argmatch (Makefile.am): Likewise.
70580         * modules/argz (Makefile.am): Likewise.
70581         * modules/atexit (Makefile.am): Likewise.
70582         * modules/backupfile (Makefile.am): Likewise.
70583         * modules/c-strtod (Makefile.am): Likewise.
70584         * modules/c-strtold (Makefile.am): Likewise.
70585         * modules/calloc (Makefile.am): Likewise.
70586         * modules/canon-host (Makefile.am): Likewise.
70587         * modules/canonicalize (Makefile.am): Likewise.
70588         * modules/chdir-long (Makefile.am): Likewise.
70589         * modules/chdir-safer (Makefile.am): Likewise.
70590         * modules/check-version (Makefile.am): Likewise.
70591         * modules/chown (Makefile.am): Likewise.
70592         * modules/cloexec (Makefile.am): Likewise.
70593         * modules/close-stream (Makefile.am): Likewise.
70594         * modules/closeout (Makefile.am): Likewise.
70595         * modules/crc (Makefile.am): Likewise.
70596         * modules/cycle-check (Makefile.am): Likewise.
70597         * modules/des (Makefile.am): Likewise.
70598         * modules/dirfd (Makefile.am): Likewise.
70599         * modules/dirname (Makefile.am): Likewise.
70600         * modules/dup2 (Makefile.am): Likewise.
70601         * modules/euidaccess (Makefile.am): Likewise.
70602         * modules/exclude (Makefile.am): Likewise.
70603         * modules/exitfail (Makefile.am): Likewise.
70604         * modules/fcntl-safer (Makefile.am): Likewise.
70605         * modules/file-type (Makefile.am): Likewise.
70606         * modules/fileblocks (Makefile.am): Likewise.
70607         * modules/filemode (Makefile.am): Likewise.
70608         * modules/filenamecat (Makefile.am): Likewise.
70609         * modules/fnmatch (Makefile.am): Likewise.
70610         * modules/fopen-safer (Makefile.am): Likewise.
70611         * modules/fpending (Makefile.am): Likewise.
70612         * modules/fprintftime (Makefile.am): Likewise.
70613         * modules/free (Makefile.am): Likewise.
70614         * modules/fsusage (Makefile.am): Likewise.
70615         * modules/ftruncate (Makefile.am): Likewise.
70616         * modules/fts (Makefile.am): Likewise.
70617         * modules/gc (Makefile.am): Likewise.
70618         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70619         * modules/getaddrinfo (Makefile.am): Likewise.
70620         * modules/getcwd (Makefile.am): Likewise.
70621         * modules/getdelim (Makefile.am): Likewise.
70622         * modules/getdomainname (Makefile.am): Likewise.
70623         * modules/getgroups (Makefile.am): Likewise.
70624         * modules/gethostname (Makefile.am): Likewise.
70625         * modules/gethrxtime (Makefile.am): Likewise.
70626         * modules/getline (Makefile.am): Likewise.
70627         * modules/getloadavg (Makefile.am): Likewise.
70628         * modules/getlogin_r (Makefile.am): Likewise.
70629         * modules/getopt (Makefile.am): Likewise.
70630         * modules/getpass (Makefile.am): Likewise.
70631         * modules/getpass-gnu (Makefile.am): Likewise.
70632         * modules/getsubopt (Makefile.am): Likewise.
70633         * modules/gettime (Makefile.am): Likewise.
70634         * modules/gettimeofday (Makefile.am): Likewise.
70635         * modules/getugroups (Makefile.am): Likewise.
70636         * modules/getusershell (Makefile.am): Likewise.
70637         * modules/glob (Makefile.am): Likewise.
70638         * modules/group-member (Makefile.am): Likewise.
70639         * modules/hard-locale (Makefile.am): Likewise.
70640         * modules/hash (Makefile.am): Likewise.
70641         * modules/hmac-md5 (Makefile.am): Likewise.
70642         * modules/hmac-sha1 (Makefile.am): Likewise.
70643         * modules/human (Makefile.am): Likewise.
70644         * modules/idcache (Makefile.am): Likewise.
70645         * modules/imaxabs (Makefile.am): Likewise.
70646         * modules/imaxdiv (Makefile.am): Likewise.
70647         * modules/inet_ntop (Makefile.am): Likewise.
70648         * modules/inet_pton (Makefile.am): Likewise.
70649         * modules/inttostr (Makefile.am): Likewise.
70650         * modules/isapipe (Makefile.am): Likewise.
70651         * modules/lchown (Makefile.am): Likewise.
70652         * modules/long-options (Makefile.am): Likewise.
70653         * modules/lstat (Makefile.am): Likewise.
70654         * modules/malloc (Makefile.am): Likewise.
70655         * modules/mathl (Makefile.am): Likewise.
70656         * modules/mbchar (Makefile.am): Likewise.
70657         * modules/md2 (Makefile.am): Likewise.
70658         * modules/md4 (Makefile.am): Likewise.
70659         * modules/md5 (Makefile.am): Likewise.
70660         * modules/memcasecmp (Makefile.am): Likewise.
70661         * modules/memchr (Makefile.am): Likewise.
70662         * modules/memcmp (Makefile.am): Likewise.
70663         * modules/memcoll (Makefile.am): Likewise.
70664         * modules/memcpy (Makefile.am): Likewise.
70665         * modules/memmem (Makefile.am): Likewise.
70666         * modules/memmove (Makefile.am): Likewise.
70667         * modules/mempcpy (Makefile.am): Likewise.
70668         * modules/memrchr (Makefile.am): Likewise.
70669         * modules/memset (Makefile.am): Likewise.
70670         * modules/memxor (Makefile.am): Likewise.
70671         * modules/mkancesdirs (Makefile.am): Likewise.
70672         * modules/mkdir (Makefile.am): Likewise.
70673         * modules/mkdir-p (Makefile.am): Likewise.
70674         * modules/mkdtemp (Makefile.am): Likewise.
70675         * modules/mkstemp (Makefile.am): Likewise.
70676         * modules/mktime (Makefile.am): Likewise.
70677         * modules/modechange (Makefile.am): Likewise.
70678         * modules/mountlist (Makefile.am): Likewise.
70679         * modules/nanosleep (Makefile.am): Likewise.
70680         * modules/openat (Makefile.am): Likewise.
70681         * modules/pagealign_alloc (Makefile.am): Likewise.
70682         * modules/physmem (Makefile.am): Likewise.
70683         * modules/poll (Makefile.am): Likewise.
70684         * modules/posixtm (Makefile.am): Likewise.
70685         * modules/posixver (Makefile.am): Likewise.
70686         * modules/putenv (Makefile.am): Likewise.
70687         * modules/quote (Makefile.am): Likewise.
70688         * modules/quotearg (Makefile.am): Likewise.
70689         * modules/raise (Makefile.am): Likewise.
70690         * modules/read-file (Makefile.am): Likewise.
70691         * modules/readline (Makefile.am): Likewise.
70692         * modules/readlink (Makefile.am): Likewise.
70693         * modules/readtokens (Makefile.am): Likewise.
70694         * modules/readutmp (Makefile.am): Likewise.
70695         * modules/realloc (Makefile.am): Likewise.
70696         * modules/regex (Makefile.am): Likewise.
70697         * modules/rename (Makefile.am): Likewise.
70698         * modules/rename-dest-slash (Makefile.am): Likewise.
70699         * modules/rijndael (Makefile.am): Likewise.
70700         * modules/rmdir (Makefile.am): Likewise.
70701         * modules/rpmatch (Makefile.am): Likewise.
70702         * modules/safe-read (Makefile.am): Likewise.
70703         * modules/safe-write (Makefile.am): Likewise.
70704         * modules/same (Makefile.am): Likewise.
70705         * modules/save-cwd (Makefile.am): Likewise.
70706         * modules/savedir (Makefile.am): Likewise.
70707         * modules/setenv (Makefile.am): Likewise.
70708         * modules/settime (Makefile.am): Likewise.
70709         * modules/sha1 (Makefile.am): Likewise.
70710         * modules/sig2str (Makefile.am): Likewise.
70711         * modules/snprintf (Makefile.am): Likewise.
70712         * modules/stdlib-safer (Makefile.am): Likewise.
70713         * modules/stpcpy (Makefile.am): Likewise.
70714         * modules/stpncpy (Makefile.am): Likewise.
70715         * modules/strcase (Makefile.am): Likewise.
70716         * modules/strcasestr (Makefile.am): Likewise.
70717         * modules/strchrnul (Makefile.am): Likewise.
70718         * modules/strcspn (Makefile.am): Likewise.
70719         * modules/strdup (Makefile.am): Likewise.
70720         * modules/strerror (Makefile.am): Likewise.
70721         * modules/strftime (Makefile.am): Likewise.
70722         * modules/strndup (Makefile.am): Likewise.
70723         * modules/strnlen (Makefile.am): Likewise.
70724         * modules/strpbrk (Makefile.am): Likewise.
70725         * modules/strsep (Makefile.am): Likewise.
70726         * modules/strstr (Makefile.am): Likewise.
70727         * modules/strtod (Makefile.am): Likewise.
70728         * modules/strtoimax (Makefile.am): Likewise.
70729         * modules/strtok_r (Makefile.am): Likewise.
70730         * modules/strtol (Makefile.am): Likewise.
70731         * modules/strtoll (Makefile.am): Likewise.
70732         * modules/strtoul (Makefile.am): Likewise.
70733         * modules/strtoull (Makefile.am): Likewise.
70734         * modules/strtoumax (Makefile.am): Likewise.
70735         * modules/strverscmp (Makefile.am): Likewise.
70736         * modules/time_r (Makefile.am): Likewise.
70737         * modules/timegm (Makefile.am): Likewise.
70738         * modules/tmpfile-safer (Makefile.am): Likewise.
70739         * modules/unistd-safer (Makefile.am): Likewise.
70740         * modules/unlinkdir (Makefile.am): Likewise.
70741         * modules/userspec (Makefile.am): Likewise.
70742         * modules/utime (Makefile.am): Likewise.
70743         * modules/utimecmp (Makefile.am): Likewise.
70744         * modules/utimens (Makefile.am): Likewise.
70745         * modules/vasnprintf (Makefile.am): Likewise.
70746         * modules/vasprintf (Makefile.am): Likewise.
70747         * modules/vsnprintf (Makefile.am): Likewise.
70748         * modules/xalloc (Makefile.am): Likewise.
70749         * modules/xgetcwd (Makefile.am): Likewise.
70750         * modules/xnanosleep (Makefile.am): Likewise.
70751         * modules/xreadlink (Makefile.am): Likewise.
70752         * modules/xstrtod (Makefile.am): Likewise.
70753         * modules/xstrtol (Makefile.am): Likewise.
70754         * modules/xstrtold (Makefile.am): Likewise.
70755         * modules/yesno (Makefile.am): Likewise.
70756
70757 2006-10-12  Jim Meyering  <jim@meyering.net>
70758
70759         * m4/getloadavg.m4: Revert the change below.
70760
70761         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
70762         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
70763         fail with a symlink, which is what coreutils' ./bootstrap now
70764         creates by default.
70765
70766 2006-10-12  Bruno Haible  <bruno@clisp.org>
70767
70768         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
70769         mingw.
70770         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
70771         MSVC and mingw explicitly.
70772
70773 2006-10-11  Simon Josefsson  <jas@extundo.com>
70774             Bruno Haible  <bruno@clisp.org>
70775
70776         Add support for multiple gnulib-tool invocations in the scope of a
70777         single configure.ac file.
70778         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
70779         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
70780         with the same contents as the _LIBADD variable.
70781         (func_emit_initmacro_start, func_emit_initmacro_end,
70782         func_emit_initmacro_done): New functions.
70783         (func_import, func_create_testdir): Invoke them. Allow the identifiers
70784         gl_LIBOBJS and gl_LTLIBOBJS.
70785
70786 2006-10-11  Bruno Haible  <bruno@clisp.org>
70787
70788         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
70789         (func_create_testdir): Don't create po/Makefile.am, don't invoke
70790         autoreconf. Instead, invoke autopoint explicitly but move back the
70791         *.m4 files from gnulib.
70792
70793 2006-10-11  Bruno Haible  <bruno@clisp.org>
70794
70795         * gnulib-tool (func_usage): Make module names after --create-testdir
70796         optional.
70797         (func_create_testdir): If no module was specified, use nearly all
70798         modules.
70799
70800 2006-10-12  Jim Meyering  <jim@meyering.net>
70801
70802         Big performance improvement for fts-based tools that use FTS_NOSTAT.
70803         Avoid spurious inode-mismatch problems on non-POSIX file systems.
70804         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
70805         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
70806         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
70807         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
70808         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
70809         (fts_set_stat_required): New function.
70810         (fts_open): Defer the calls to fts_stat, if possible or requested.
70811         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
70812         into fts_stat itself.
70813         (fts_read): Perform any required (deferred) fts_stat call.
70814         (fts_build): Likewise, for the directory we're about to open and read.
70815         In the readdir loop, carefully decide whether each entry will require
70816         an eventual call to fts_stat, using dirent.d_type info if available.
70817         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
70818         a command line argument into this function.  Update all callers.
70819         Map a return value of FTS_DOT to FTS_D for a command line argument.
70820         * modules/fts (Depends-on): Add d-type.  Alphabetize.
70821         Thanks to Miklos Szeredi for his tenacity and for the initial
70822         bug report about "find" failing on a FUSE-based file system.
70823
70824         * lib/fts.c (fts_open): Use consistent indentation.
70825
70826 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70827
70828         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
70829         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
70830         reported by Jim Meyering.  All uses of cache variables renamed
70831         to match Autoconf's.
70832         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
70833         the other one.
70834
70835         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
70836         Fix misspelling in diagnostic.
70837
70838 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70839
70840         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
70841         defined.  Problem reported by Matthew Woehlke.
70842
70843         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
70844         Add support for Tandem NonStop R series.
70845         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
70846         Use new macro.
70847
70848         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
70849         (has_trailing_slash): Omit size arg; all callers changed.
70850         Omit 'inline', since it doesn't help performance and we'd
70851         need to configure it.
70852         Don't count //, ///, etc. as having a trailing slash.
70853         As a side effect, this removes a C99ism reported by Matthew Woehlke.
70854         (rpl_rename_dest_slash): On failure, use rename's errno rather
70855         than (in some cases) an incorrect or junk errno.
70856         Simplify code by removing need to compute length; this does
70857         cause it to make two passes instead of one over the file name,
70858         but it's worth it.
70859
70860         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
70861         change, since Autoconf's version may no longer be appropriate now
70862         that we are using CVS Autoconf's version.  Add support for Tandem.
70863
70864 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70865             Bruno Haible  <bruno@clisp.org>
70866
70867         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
70868         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
70869         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
70870         gl_AC_TYPE_LONG_LONG.
70871
70872         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
70873         instead of HAVE_LONG_LONG.
70874         * lib/printf-args.c (printf_fetchargs): Likewise.
70875         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
70876         * lib/vasnprintf.c (VASNPRINTF): Likewise.
70877         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
70878         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
70879         gl_AC_TYPE_LONG_LONG.
70880
70881 2006-10-11  Bruno Haible  <bruno@clisp.org>
70882
70883         * m4/longlong.m4: Add comments.
70884         * m4/ulonglong.m4: Likewise.
70885
70886 2006-10-10  Bruno Haible  <bruno@clisp.org>
70887
70888         Make it possible to #define stpcpy, strdup to aliases.
70889         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
70890         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
70891
70892 2006-10-10  Bruno Haible  <bruno@clisp.org>
70893
70894         Make it possible to #define gcd to an alias.
70895         * lib/gcd.c: Include config.h.
70896
70897 2006-10-10  Bruno Haible  <bruno@clisp.org>
70898
70899         Make it possible to #define c_isascii to an alias.
70900         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
70901         defined. Undefine the macros before defining them, to avoid gcc
70902         warnings.
70903         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
70904         define NO_C_CTYPE_MACROS early.
70905
70906 2006-10-10  Bruno Haible  <bruno@clisp.org>
70907
70908         Make it possible to #define set_program_name to an alias.
70909         * lib/progname.c: Don't undefine set_program_name; instead, undefine
70910         ENABLE_RELOCATABLE early.
70911
70912 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70913
70914         Port to Tandem NSK OSS, which has 64-bit signed int but at most
70915         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
70916         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
70917         More generally, don't assume that 64-bit signed int is available
70918         if unsigned int is, and vice versa.
70919         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
70920         unsigned symbols, not on their signed counterparts.
70921         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
70922         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
70923         (UINT64_C, UINTMAX_C):
70924         Likewise.
70925         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
70926         unsigned counterparts.
70927         (Have_long_long, Unsigned): New macros.
70928         (Int): Renamed from INT.
70929         (strtoimax): Use the new macros.
70930         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
70931         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
70932         * modules/inttypes (inttypes.h): Substitute
70933         HAVE_UNSIGNED_LONG_LONG_INT.
70934         * modules/stdint (stdint.h): Likewise.
70935         (Files): Add m4/ulonglong.m4.
70936
70937 2006-10-10  Bruno Haible  <bruno@clisp.org>
70938
70939         Fix a gcc -Wshadow warning.
70940         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
70941         to 'bucket'.
70942         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
70943         gl_linked_indexof_from_to): Likewise.
70944         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
70945         Likewise.
70946         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
70947         Likewise.
70948         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
70949         Reported by Eric Blake.
70950
70951 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
70952
70953         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
70954         for NetBSD.  Problem reported by Bruno Haible.
70955
70956 2006-10-09  Jim Meyering  <jim@meyering.net>
70957
70958         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
70959         Patch from Bruno Haible.
70960
70961 2006-10-09  Jim Meyering  <jim@meyering.net>
70962
70963         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
70964         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
70965         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
70966
70967 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70968
70969         Don't include <config.h> twice; this doesn't work in some cases,
70970         e.g., when config.h has "#define intmax_t long long int" and
70971         we include <config.h>, <inttypes.h>, <config.h> in that order.
70972         Problem reported by Matthew Woehlke in:
70973         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
70974         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
70975         * lib/fts-cycle.c: Don't include config.h.
70976         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
70977         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
70978         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
70979         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
70980         inttypes.h.
70981         * lib/xstrtoumax.c: Likewise.
70982         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
70983         __strtol and the like, so that this module is more like its siblings.
70984         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
70985         Remove; no longer needed now that we assume gnulib inttypes.h.
70986
70987 2006-10-08  Bruno Haible  <bruno@clisp.org>
70988
70989         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
70990         option.
70991
70992 2006-10-07  Jim Meyering  <jim@meyering.net>
70993
70994         * modules/inttypes (inttypes.h): Revert what seems to have been
70995         an inadvertent part of today's change: use "|", not "/" in the
70996         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
70997
70998 2006-10-07  Bruno Haible  <bruno@clisp.org>
70999
71000         * modules/sublist: New file.
71001
71002 2006-10-07  Bruno Haible  <bruno@clisp.org>
71003
71004         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71005         * modules/argz (argz.h): Likewise.
71006         * modules/arpa_inet (arpa/inet.h): Likewise.
71007         * modules/byteswap (byteswap.h): Likewise.
71008         * modules/configmake (configmake.h): Likewise.
71009         * modules/fcntl (fcntl.h): Likewise.
71010         * modules/fnmatch (fnmatch.h): Likewise.
71011         * modules/getopt (getopt.h): Likewise.
71012         * modules/glob (glob.h): Likewise.
71013         * modules/inttypes (inttypes.h): Likewise.
71014         * modules/netinet_in (netinet/in.h): Likewise.
71015         * modules/poll (poll.h): Likewise.
71016         * modules/stdbool (stdbool.h): Likewise.
71017         * modules/stdint (stdint.h): Likewise.
71018         * modules/sys_select (sys/select.h): Likewise.
71019         * modules/sys_socket (sys/socket.h): Likewise.
71020         * modules/sys_stat (sys/stat.h): Likewise.
71021         * modules/sysexits (sysexits.h): Likewise.
71022         * modules/unistd (unistd.h): Likewise.
71023         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71024         Add a "DO NOT EDIT" comment to the generated file.
71025         (func_import): Likewise for gnulib-comp.m4.
71026
71027 2006-10-07  Bruno Haible  <bruno@clisp.org>
71028
71029         * lib/gl_sublist.h: New file.
71030         * lib/gl_sublist.c: New file.
71031
71032 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71033
71034         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71035         name (relative to the original working directory) and the file
71036         name component (relative to the temporary working directory).  All
71037         callers changed.
71038         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71039         * lib/mkdir-p.c (make_dir_parents): Likewise.
71040         * lib/mkdir-p.h (make_dir_parents): Likewise.
71041
71042 2006-10-06  Eric Blake  <ebb9@byu.net>
71043
71044         Define several macros for use by the clean-temp module.
71045         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71046         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71047         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71048
71049         * lib/clean-temp.h (close_stream_temp): New declaration.
71050         * lib/clean-temp.c (includes): Pull in headers according to what
71051         other modules are in use.
71052         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71053
71054 2006-10-06  Bruno Haible  <bruno@clisp.org>
71055
71056         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71057         instead of fopen, fwriteerror.
71058
71059 2006-10-06  Bruno Haible  <bruno@clisp.org>
71060
71061         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71062         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71063         int.
71064         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71065         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71066         Return an error indicator.
71067         Suggested by Eric Blake.
71068
71069 2006-10-06  Bruno Haible  <bruno@clisp.org>
71070
71071         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71072         Reported by Eric Blake.
71073
71074 2006-10-06  Bruno Haible  <bruno@clisp.org>
71075
71076         * modules/closeout (Description): Mention stderr too.
71077
71078 2006-10-06  Bruno Haible  <bruno@clisp.org>
71079         and Paul Eggert  <eggert@cs.ucla.edu>
71080
71081         * lib/closeout.c (close_stdout): Also close stderr.
71082         * lib/closeout.h: Update comment.
71083
71084 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71085
71086         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71087         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71088         * lib/dirchownmod.c: Include lchown.h.
71089         * lib/lchown.c: Don't include files that lchown.h now includes.
71090         Don't declare chown, since lchown.h now does that.
71091         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71092         (lchown): Define to rpl_chown if lchown is declared but
71093         does not exist.  Declare using a prototype if lchown is not
71094         declared.  Add a copyright notice.
71095         * lib/mkstemp.h: Include <unistd.h>.
71096         * lib/openat.c: Include lchown.h.
71097
71098         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71099         we now test for that separately.
71100         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71101         rather than O_NOFOLLOW, when testing whether it's possible to
71102         avoid a race condition reliably.
71103         * lib/savewd.c (savewd_chdir): Likewise.
71104
71105         Remove macros that are no longer needed now that stdint.h is
71106         reliable.
71107         * lib/fsusage.c (UINTMAX_MAX): Remove.
71108         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71109         * lib/utimecmp.c (SIZE_MAX): Remove.
71110
71111         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71112
71113         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71114         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71115         O_NOATIME works.
71116
71117 2006-10-05  Bruno Haible  <bruno@clisp.org>
71118
71119         * lib/gl_list.h (gl_sortedlist_search_from_to,
71120         gl_sortedlist_indexof_from_to): New declarations.
71121         (gl_list_implementation): New fields sortedlist_search_from_to,
71122         sortedlist_indexof_from_to.
71123         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71124         inline functions.
71125         * lib/gl_list.c (gl_sortedlist_search_from_to,
71126         gl_sortedlist_indexof_from_to): New functions.
71127         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71128         function.
71129         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71130         (gl_array_sortedlist_search_from_to): New function.
71131         (gl_array_list_implementation): Update.
71132         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71133         function.
71134         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71135         (gl_carray_sortedlist_search_from_to): New function.
71136         (gl_carray_list_implementation): Update.
71137         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71138         gl_linked_sortedlist_indexof_from_to): New functions.
71139         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71140         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71141         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71142         gl_tree_sortedlist_indexof_from_to): New functions.
71143         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71144         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71145         Update.
71146         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71147         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71148         Update.
71149
71150 2006-10-05  Bruno Haible  <bruno@clisp.org>
71151
71152         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71153         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71154         (struct gl_list_implementation): Add fields search_from_to,
71155         indexof_from_to. Remove fields search, indexof.
71156         (gl_list_search): Use the search_from_to method.
71157         (gl_list_search_from, gl_list_search_from_to): New functions.
71158         (gl_list_indexof): Use the indexof_from_to method.
71159         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71160         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
71161         (gl_list_search_from, gl_list_search_from_to): New functions.
71162         (gl_list_indexof): Use the indexof_from_to method.
71163         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71164         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
71165         gl_array_indexof. Add start_index, end_index arguments.
71166         (gl_array_search_from_to): Renamed from gl_array_search. Add
71167         start_index, end_index arguments.
71168         (gl_array_remove, gl_array_list_implementation): Update.
71169         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71170         gl_carray_indexof. Add start_index, end_index arguments.
71171         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71172         start_index, end_index arguments.
71173         (gl_carray_remove, gl_carray_list_implementation): Update.
71174         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71175         gl_linked_search. Add start_index, end_index arguments.
71176         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71177         start_index, end_index arguments.
71178         (gl_linked_remove): Update.
71179         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71180         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71181         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
71182         field to 'size_t'.
71183         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71184         gl_tree_search. Add start_index, end_index arguments.
71185         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71186         start_index, end_index arguments.
71187         (gl_tree_remove): Update.
71188         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71189         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71190         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
71191         function.
71192         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
71193         gl_tree_search. Add start_index, end_index arguments.
71194         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71195         start_index, end_index arguments.
71196         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71197         Update.
71198         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
71199
71200 2006-10-05  Bruno Haible  <bruno@clisp.org>
71201
71202         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
71203
71204         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
71205         fwriteerror_temp): New declarations.
71206         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
71207         (descriptors): New variable.
71208         (cleanup): First, close the descriptors.
71209         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
71210         fclose_temp, fwriteerror_temp): New functions.
71211
71212 2006-10-04  Jim Meyering  <jim@meyering.net>
71213
71214         * lib/fts.c (fts_open): Tiny comment change.
71215
71216 2006-10-04  Bruno Haible  <bruno@clisp.org>
71217
71218         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
71219         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
71220         gl_LOCK_BODY.
71221         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
71222         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
71223         gl_LOCK_EARLY_BODY.
71224         (gl_LOCK): Require gl_LOCK_BODY.
71225
71226 2006-10-04  Bruno Haible  <bruno@clisp.org>
71227
71228         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
71229         (gl_oset_search_atleast): New declaration.
71230         (struct gl_oset_implementation): Add field 'search_atleast'.
71231         (gl_oset_search_atleast): New inline function.
71232         * lib/gl_oset.c (gl_oset_search_atleast): New function.
71233         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
71234         (gl_array_oset_implementation): Update.
71235         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
71236         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
71237         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
71238
71239 2006-10-04  Bruno Haible  <bruno@clisp.org>
71240
71241         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
71242
71243 2006-10-03  Bruno Haible  <bruno@clisp.org>
71244
71245         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
71246         from gl_avltreehash_list_implementation.
71247
71248 2006-10-03  Bruno Haible  <bruno@clisp.org>
71249
71250         * lib/gl_oset.c (gl_oset_add): Fix return type.
71251
71252 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
71253
71254         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
71255
71256 2006-10-02  Eric Blake  <ebb9@byu.net>
71257
71258         * modules/strnlen (Depends-on): Add extensions.
71259
71260 2006-10-02  Eric Blake  <ebb9@byu.net>
71261
71262         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
71263         definition in 2.60+.
71264
71265 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
71266
71267         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
71268         checks.
71269
71270 2006-10-02  Bruno Haible  <bruno@clisp.org>
71271
71272         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
71273         to the AUTOMAKE_OPTIONS.
71274         Reported by Jim Meyering.
71275
71276 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71277
71278         Work around bug in Solaris 10 /proc file system:
71279         /proc/self/fd/NNN/.. isn't the parent directory of
71280         the directory whose file descriptor is NNN.  This needs to
71281         be worked around at run time, not compile time, since a
71282         program might be built on Solaris 8, where things work, and
71283         run on Solaris 10.
71284         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
71285         to use the following interface instead:
71286         (OPENAT_BUFFER_SIZE): New macro.
71287         (openat_proc_name): New function.
71288         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
71289         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
71290         Likewise.
71291         * lib/openat-proc.c: New file.
71292         * modules/openat (Files): Add lib/openat-proc.c.
71293         (Depends-on): Add same-inode, stdbool.
71294         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
71295
71296 2006-09-29  Bruno Haible  <bruno@clisp.org>
71297
71298         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
71299         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
71300         argument. Set stdout_closed before testing for ferror, not after.
71301         (fwriteerror, fwriteerror_no_ebadf): New functions.
71302
71303 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71304
71305         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
71306
71307 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
71308
71309         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
71310         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
71311
71312 2006-09-28  Jim Meyering  <jim@meyering.net>
71313
71314         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
71315         Include <unistd.h>.
71316
71317 2006-09-28  Bruno Haible  <bruno@clisp.org>
71318
71319         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
71320         * modules/linkedhash-list (Depends-on): Likewise.
71321         * modules/rbtreehash-list (Depends-on): Likewise.
71322
71323 2006-09-28  Bruno Haible  <bruno@clisp.org>
71324
71325         * lib/strndup.h: Simplify the redefinition of strndup.
71326         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
71327         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
71328
71329 2006-09-28  Bruno Haible  <bruno@clisp.org>
71330
71331         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
71332         * lib/gl_linkedhash_list.c: Likewise.
71333         * lib/gl_rbtreehash_list.c: Likewise.
71334
71335 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71336
71337         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
71338         getaddrinfo.
71339
71340         * lib/__fpending.h: Don't include <stdio_ext.h> unless
71341         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
71342         it causes <stdio_ext.h> to cause a compile-time error.
71343         Problem reported by Nelson H. F. Beebe.
71344         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
71345         of HAVE_DECL___PENDING.
71346
71347         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
71348         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
71349         declaration.
71350
71351 2006-09-27  Jim Meyering  <jim@meyering.net>
71352
71353         This file could end up with a definition for a function
71354         named __strndup, rather than rpl_strndup on a system with
71355         incomplete weak_alias support.
71356         * lib/strndup.c (strndup): Rename from __strndup.
71357         Remove #defines that used to map __strndup to strndup.
71358         Don't use K&R prototypes.
71359         Remove LIBC-related code, since this file is not sync'd with glibc.
71360         * lib/strndup.h: Revamp, accordingly.
71361         * m4/strndup.m4: Modernize.
71362
71363 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71364
71365         * modules/savewd (Depends-on): Add 'raise'.
71366         * lib/savewd.c: Include <signal.h>, for 'raise'.
71367
71368 2006-09-26  Jim Meyering  <jim@meyering.net>
71369
71370         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
71371         when we detect Darwin 8.7.0's acl_get_file bug.
71372         Rearrange to perform the new (below) run-test while $LIBS
71373         contains any acl-related library.  Set USE_ACL at the end.
71374         (gl_ACL_GET_FILE): New function.
71375
71376 2006-09-26  Eric Blake  <ebb9@byu.net>
71377
71378         * lib/verror.c: Include <config.h> unconditionally.
71379
71380 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
71381
71382         * modules/clock-time (Maintainer): Add self.
71383         * modules/getlogin_r (Depends-on): Add extensions.
71384
71385 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71386
71387         * modules/clock-time: New module.
71388         * modules/nanosleep (Depends-on): Add clock-time.
71389         * modules/gethrxtime (Depends-on): Likewise.
71390         * modules/gettime (Depends-on): Likewise.
71391         * modules/settime (Depends-on): Likewise.
71392
71393         * modules/fts-lgpl: Depend on openat.
71394         * modules/mkancesdirs: Depend on savewd.
71395         * modules/mkdir-p: Likewise.
71396
71397 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71398
71399         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
71400
71401         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
71402         `gl_have_arbitrary_file_name_length_limit' to
71403         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
71404         actually works between configure runs.
71405
71406 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71407             Bruno Haible  <bruno@clisp.org>
71408
71409         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
71410
71411 2006-09-25  Jim Meyering  <jim@meyering.net>
71412
71413         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
71414         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
71415
71416 2006-09-25  Eric Blake  <ebb9@byu.net>
71417
71418         * gnulib-tool (func_import, func_create_testdir): Fix typos in
71419         exec's in 2006-09-18 patch when shuffling fds.
71420
71421 2006-09-25  Bruno Haible  <bruno@clisp.org>
71422
71423         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
71424         Reported by Jim Meyering.
71425
71426 2006-09-24  Jim Meyering  <jim@meyering.net>
71427
71428         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
71429         compare a pointer against a literal "0".  That caused failures with
71430         at least HP-UX's hpcc.
71431
71432 2006-09-22  Simon Josefsson  <jas@extundo.com>
71433
71434         * modules/gc-sha1:
71435         * modules/gc-md4:
71436         * modules/gc-hmac-sha1:
71437         * modules/gc-hmac-md5:
71438         * modules/gc-des:
71439         * modules/gc-arcfour: Distribute more files.
71440
71441 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71442
71443         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
71444         (gl_linked_iterator_from_to): Initialize struct completely.
71445         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
71446         (gl_tree_iterator_from_to): Likewise
71447         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
71448         * lib/gl_array_list.c [lint] (gl_array_iterator)
71449         (gl_array_iterator_from_to): Likewise.
71450         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
71451         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
71452         (gl_carray_iterator_from_to): Likewise.
71453
71454         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
71455         * lib/md4.c (md4_process_block): Remove unused variable.
71456         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
71457         parentheses for clarity.
71458
71459 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71460
71461         * modules/bison-i18n (Depends-on): Add gettext.
71462
71463 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71464
71465         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
71466         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
71467         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
71468         also add missing comma that caused broken test.
71469         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
71470         stdlib.h, for `abort'.
71471         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
71472         variables.
71473         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
71474         include unistd.h if present, for `rmdir'.
71475         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
71476         variables.
71477         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
71478         in the process include standard headers for prototypes.
71479         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
71480         gets declared on GNU/Linux.
71481         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
71482         unistd.h, for `rmdir'.
71483         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
71484
71485         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
71486         always true.
71487         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
71488
71489         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
71490
71491 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71492
71493         * gnulib-tool (func_version): Create output all at once.  This
71494         may help avoid triggering unnecessary SIGPIPEs, and at any
71495         rate it doesn't hurt.
71496
71497 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71498             Bruno Haible  <bruno@clisp.org>
71499
71500         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
71501         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71502         * m4/signed.m4 (bh_C_SIGNED): Likewise.
71503
71504         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
71505         (gl_FUNC_VASPRINTF): Invoke it.
71506
71507 2006-09-22  Bruno Haible  <bruno@clisp.org>
71508
71509         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
71510         getloadavg.c as first argument.
71511
71512 2006-09-22  Bruno Haible  <bruno@clisp.org>
71513
71514         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
71515         at the beginning of the gl_INIT macro.
71516         * modules/getloadavg (configure.ac): Pass $gl_source_base to
71517         gl_GETLOADAVG.
71518
71519 2006-09-22  Bruno Haible  <bruno@clisp.org>
71520
71521         * gnulib-tool (func_create_megatestdir): Don't include the config-h
71522         module.
71523         Suggested by Ralf Wildenhues.
71524
71525 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71526
71527         Import this patch from libc:
71528
71529         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
71530
71531         * lib/regex_internal.c (re_string_reconstruct): Handle
71532         offset < pstr->valid_raw_len && pstr->offsets_needed case.
71533         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
71534         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
71535         re_string_context_at.
71536
71537         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
71538         now requires it.
71539         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
71540         gl_REGEX now does it for us.
71541         (gl_REGEX): Add test taken from
71542         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
71543
71544         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
71545         Check that large offsets work.  Modernize Autoconf usages.
71546         Prefer "yes" to mean a good thing rather than a bad.
71547         Don't put "#define mkstemp" in config.h, as this might interfere
71548         with standard system headers that "#define mkstemp mkstemp64".
71549
71550         * modules/mkstemp (Depends-on): Add extensions, so that
71551         mkstemp is visible on some platforms.
71552         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
71553         (Include): Change to "mkstemp.h" from <stdlib.h>.
71554         (Files): Add mkstemp.h.
71555
71556         * lib/mkstemp.h: New file, since some standard headers
71557         #define mkstemp.
71558         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
71559         Include "mkstemp.h".
71560         Make the _LIBC code resemble glibc original more,
71561         e.g., use K&R style.
71562         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
71563         (mkstemp): Remove, since mkstemp.h does this for us.
71564         * lib/stdlib--.h: Include mkstemp.h.
71565
71566         Import this patch from libc:
71567
71568         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71569
71570         * lib/tempname.c (__gen_tempname): Change attempts_min
71571         into a macro.  Use preprocessor to decide how to initialize
71572         attempts [Coverity CID 67].
71573
71574 2006-09-20  Bruno Haible  <bruno@clisp.org>
71575
71576         * lib/mkdtemp.c: Import from libc.
71577         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71578                 * sysdeps/posix/tempname.c (__gen_tempname): Change
71579                 attempts_min into a macro.  Use preprocessor to decide how to
71580                 initialize attempts [Coverity CID 67].
71581         2001-11-27  Paul Eggert  <eggert@twinsun.com>
71582                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
71583                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
71584
71585 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71586
71587         * gnulib-tool (func_exit): New function, to allow to pass the
71588         exit status portably through the trap.  Use everywhere.
71589         (--help, --version): Signal a write error.
71590         (trap): catch SIGPIPE, for write errors.
71591         Exit at the end of the trap, with the correct exit status.
71592
71593 2006-09-19  Karl Berry  <karl@gnu.org>
71594
71595         * doc/gnulib.texi: note about the license texinfo files.
71596
71597 2006-09-19  Eric Blake  <ebb9@byu.net>
71598
71599         * gnulib-tool: Avoid space-tab.
71600
71601 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
71602
71603         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
71604         that prevented coreutils 6.1 from building.  Problem reported
71605         by Petter Reinholdtsen.
71606
71607 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
71608
71609         * gnulib-tool (avoidlist): Fix typo that broke options like
71610         --avoid=lock that are used by coreutils bootstrap.
71611
71612 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
71613
71614         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
71615         more systematically.
71616
71617 2006-09-18  Jim Meyering  <jim@meyering.net>
71618
71619         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
71620
71621 2006-09-18  Bruno Haible  <bruno@clisp.org>
71622
71623         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
71624
71625 2006-09-18  Bruno Haible  <bruno@clisp.org>
71626
71627         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
71628         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
71629         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
71630         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
71631         * m4/gettext.m4: Require autoconf >= 2.52.
71632         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
71633         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
71634         of gl_cv_header_inttypes_h.
71635
71636 2006-09-18  Bruno Haible  <bruno@clisp.org>
71637
71638         * lib/javaversion.c: Include configmake.h.
71639
71640 2006-09-18  Bruno Haible  <bruno@clisp.org>
71641
71642         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
71643         avoid that the while loops be executed in a subshell.
71644
71645 2006-09-18  Bruno Haible  <bruno@clisp.org>
71646
71647         * MODULES.html.sh (func_module): Break long lines.
71648         Suggested by Bruce Korb <bkorb@gnu.org>.
71649
71650 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71651
71652         Speed up by a factor of 1.12.
71653         * gnulib-tool (nl): New variable.
71654         (func_import): Rewrite include directive extraction to only read each
71655         directive once.
71656
71657 2006-09-17  Bruno Haible  <bruno@clisp.org>
71658
71659         * modules/javaversion (Makefile.am): Remove DEFS setting.
71660         (Depends-on): Add configmake, for PKGDATADIR definition.
71661
71662 2006-09-17  Bruno Haible  <bruno@clisp.org>
71663
71664         * gnulib-tool (func_create_testdir): Rewrite all files at once.
71665
71666 2006-09-17  Bruno Haible  <bruno@clisp.org>
71667
71668         * gnulib-tool (func_append): New function, stolen from libtool.m4.
71669         (func_modules_transitive_closure, func_modules_add_dummy,
71670         func_modules_to_filelist, func_import, func_create_testdir,
71671         func_create_megatestdir, ...): Use it wherever possible.
71672         Suggested by Ralf Wildenhues.
71673
71674 2006-09-16  Karl Berry  <karl@gnu.org>
71675
71676         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
71677         to avoid sectioning errors.
71678         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
71679         [ifinfo]: blank line after @center-ed titles.
71680         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
71681         Spell FSF address consistently with others.
71682         (These changes approved by rms.)
71683
71684 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71685
71686         Speed up by a factor of 1.61.
71687         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
71688         already checked module names again.
71689
71690 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71691
71692         Speed up by a factor of 1.13.
71693         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
71694         for new_files, and the input to func_add_or_update.
71695
71696 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71697
71698         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
71699         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
71700
71701 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71702
71703         * modules/mkancesdirs (Depends-on): Add fcntl.
71704         * modules/savewd: New file.
71705         * MODULES.html.sh (File system functions): Add savewd.
71706
71707         * modules/configmake (Makefile.am): Add support for the
71708         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
71709
71710 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71711
71712         * m4/savewd.m4: New file.
71713
71714 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71715
71716         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
71717         (dirchownmod): New arg FD.  All callers changed.
71718         Use FD rather than opening the directory ourself, as opening is
71719         now the caller's responsibility.
71720         * lib/dirchownmod.h: Likewise.
71721         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
71722         hosts that require <sys/types.h> before <sys/stat.h>.  Include
71723         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
71724         (test_dir): Remove.
71725         (mkancesdirs): Return length of prefix of FILE that has already
71726         been made, or -2 if there is a child doing the work.  Redo
71727         algorithm so that it is O(N) rather than O(N**2).  Optimize away
71728         ".", and treat ".." specially since it might stray back into
71729         already-created areas.  Use a subprocess if necessary.  New arg
71730         WD; all users changed.  MAKE_DIR function should now return 1
71731         if it creates a directory that is not readable.  Return -2 if
71732         a child process is spun off.
71733         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
71734         Adjust signature to match code.
71735         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
71736         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
71737         all users changed.
71738         * lib/savewd.c, lib/savewd.h: New files.
71739
71740 2006-09-15  Jim Meyering  <jim@meyering.net>
71741
71742         * modules/rename-dest-slash: New module.
71743         * MODULES.html.sh (posix_compat): Add it here.
71744
71745         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
71746
71747 2006-09-15  Jim Meyering  <jim@meyering.net>
71748
71749         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
71750         file.
71751
71752         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
71753
71754 2006-09-15  Jim Meyering  <jim@meyering.net>
71755
71756         * lib/rename-dest-slash.c (has_trailing_slash): Use
71757         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
71758         (rpl_rename_dest_slash): Perform the cheaper trailing slash
71759         test before testing whether SRC is a directory.
71760         Suggestions from Bruno Haible.
71761
71762         Avoid a warning about an unused variable.
71763         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
71764         into the #ifdef block where it's used.
71765
71766         * lib/rename-dest-slash.c: New file.
71767
71768 2006-09-14  Bruno Haible  <bruno@clisp.org>
71769
71770         * lib/allocsa.c: Include <config.h> unconditionally.
71771         * lib/asnprintf.c: Likewise.
71772         * lib/asprintf.c: Likewise.
71773         * lib/c-strcasecmp.c: Likewise.
71774         * lib/c-strcasestr.c: Likewise.
71775         * lib/c-strncasecmp.c: Likewise.
71776         * lib/c-strstr.c: Likewise.
71777         * lib/classpath.c: Likewise.
71778         * lib/clean-temp.c: Likewise.
71779         * lib/concatpath.c: Likewise.
71780         * lib/copy-file.c: Likewise.
71781         * lib/csharpcomp.c: Likewise.
71782         * lib/csharpexec.c: Likewise.
71783         * lib/execute.c: Likewise.
71784         * lib/fatal-signal.c: Likewise.
71785         * lib/findprog.c: Likewise.
71786         * lib/fwriteerror.c: Likewise.
71787         * lib/gl_array_list.c: Likewise.
71788         * lib/gl_array_oset.c: Likewise.
71789         * lib/gl_avltree_list.c: Likewise.
71790         * lib/gl_avltree_oset.c: Likewise.
71791         * lib/gl_avltreehash_list.c: Likewise.
71792         * lib/gl_carray_list.c: Likewise.
71793         * lib/gl_linked_list.c: Likewise.
71794         * lib/gl_linkedhash_list.c: Likewise.
71795         * lib/gl_list.c: Likewise.
71796         * lib/gl_oset.c: Likewise.
71797         * lib/gl_rbtree_list.c: Likewise.
71798         * lib/gl_rbtree_oset.c: Likewise.
71799         * lib/gl_rbtreehash_list.c: Likewise.
71800         * lib/imaxabs.c: Likewise.
71801         * lib/imaxdiv.c: Likewise.
71802         * lib/javacomp.c: Likewise.
71803         * lib/javaexec.c: Likewise.
71804         * lib/javaversion.c: Likewise.
71805         * lib/linebreak.c: Likewise.
71806         * lib/localcharset.c: Likewise.
71807         * lib/lock.c: Likewise.
71808         * lib/mbchar.c: Likewise.
71809         * lib/mbswidth.c: Likewise.
71810         * lib/mkdtemp.c: Likewise.
71811         * lib/pipe.c: Likewise.
71812         * lib/printf-args.c: Likewise.
71813         * lib/printf-parse.c: Likewise.
71814         * lib/progname.c: Likewise.
71815         * lib/progreloc.c: Likewise.
71816         * lib/readlink.c: Likewise.
71817         * lib/sh-quote.c: Likewise.
71818         * lib/stpcpy.c: Likewise.
71819         * lib/stpncpy.c: Likewise.
71820         * lib/strcasecmp.c: Likewise.
71821         * lib/strcasestr.c: Likewise.
71822         * lib/strcspn.c: Likewise.
71823         * lib/striconv.c: Likewise.
71824         * lib/strncasecmp.c: Likewise.
71825         * lib/strnlen1.c: Likewise.
71826         * lib/strstr.c: Likewise.
71827         * lib/strtok_r.c: Likewise.
71828         * lib/tls.c: Likewise.
71829         * lib/tmpdir.c: Likewise.
71830         * lib/unicodeio.c: Likewise.
71831         * lib/unsetenv.c: Likewise.
71832         * lib/vasnprintf.c: Likewise.
71833         * lib/vasprintf.c: Likewise.
71834         * lib/wait-process.c: Likewise.
71835         * lib/xallocsa.c: Likewise.
71836         * lib/xsetenv.c: Likewise.
71837         * lib/xstriconv.c: Likewise.
71838
71839 2006-09-13  Simon Josefsson  <jas@extundo.com>
71840
71841         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
71842         that internally, suggested by Ralf Wildenhues
71843         <Ralf.Wildenhues@gmx.de>.
71844
71845 2006-09-13  Simon Josefsson  <jas@extundo.com>
71846
71847         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
71848         @LIBOBJS@.
71849         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71850
71851 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71852
71853         * lib/_fpending.c: Include <config.h> unconditionally, since we no
71854         longer worry about uses that don't define HAVE_CONFIG_H.
71855         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
71856         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
71857         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
71858         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
71859         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
71860         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
71861         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
71862         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
71863         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
71864         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
71865         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
71866         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
71867         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
71868         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
71869         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
71870         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
71871         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
71872         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
71873         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
71874         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
71875         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
71876         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
71877         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
71878         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
71879         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
71880         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
71881         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
71882         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
71883         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
71884         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
71885         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
71886         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
71887         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
71888         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
71889         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
71890         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
71891         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
71892         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
71893         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
71894         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
71895         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
71896         Likewise.
71897
71898 2006-09-13  Eric Blake  <ebb9@byu.net>
71899
71900         * lib/getopt.c: Fix typo in last commit.
71901
71902 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
71903
71904         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
71905         dgettext.
71906
71907 2006-09-12  Jim Meyering  <jim@meyering.net>
71908
71909         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
71910         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
71911         Reported by Nelson H. F. Beebe.
71912
71913 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
71914
71915         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
71916         program_invocation_name and program_invocation_short_name are
71917         initialized.
71918         * lib/argp-namefrob.h: Move declarations of program_invocation_name
71919         and program_invocation_short_name to argp.h, so they are visible
71920         to user programs.
71921         * lib/argp.h: Likewise
71922
71923 2006-09-10  Bruno Haible  <bruno@clisp.org>
71924
71925         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71926         m4/inttypes_h.m4, m4/uintmax_t.m4.
71927
71928 2006-09-10  Bruno Haible  <bruno@clisp.org>
71929
71930         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
71931         gl_AC_TYPE_UINTMAX_T.
71932
71933 2006-09-10  Bruno Haible  <bruno@clisp.org>
71934
71935         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
71936
71937 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71938
71939         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
71940         convention.  Text proposed by Bruno Haible.
71941         (struct argp_option): Document the use of N_() wrappers.
71942
71943         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
71944         '\v', and translate the two parts separately, instead of feeding
71945         the whole string to gettext.  This allows to exclude
71946         '\v' from the strings visible to the translator by writing doc
71947         strings as N_("..") "\v" N_("..").
71948
71949 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
71950
71951         * config/srclist.txt: Undo latest change; the bug was fixed.
71952
71953 2006-09-09  Bruno Haible  <bruno@clisp.org>
71954
71955         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
71956         assignments if building a library without libtool.
71957         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
71958         in func_emit_lib_Makefile_am.
71959         (func_import): When building a static library libfoo.a, arrange to
71960         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
71961         (func_create_testdir): Likewise.
71962         * modules/gc (configure.ac, Makefile.am): If building statically,
71963         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
71964         * modules/iconvme (configure.ac, Makefile.am): Likewise.
71965         * modules/striconv (configure.ac, Makefile.am): Likewise.
71966         Based on a suggestion by Ralf Wildenhues.
71967
71968 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71969
71970         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71971         Check for unistd.h too, since Autoconf doesn't assume POSIX.
71972         Also:
71973
71974         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71975         Add year_2050_test to catch glibc bug 2821
71976         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71977
71978         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71979         Prefer #ifdef to #if.
71980
71981         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
71982         Return from 'main' instead of calling 'exit'.
71983
71984 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71985
71986         * lib/mktime.c (guess_time_tm): Fix bug where mktime
71987         returned the maximum time_t value rather than (time_t) -1.
71988         Problem originally reported by William Bardwell
71989         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71990
71991         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71992         Moved to here ...
71993         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71994         ... from here.
71995
71996 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71997
71998         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
71999         2821 is fixed.
72000
72001 2006-09-08  Jim Meyering  <jim@meyering.net>
72002
72003         Don't make generated files read-only.  That would bother too many
72004         people.  However, do retain the ability to work when targets are
72005         read-only: remove the destination and temporary files before writing
72006         them (when generated via sed or echo), or by using the -f option for
72007         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72008         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72009         * modules/byteswap, modules/configmake, modules/fcntl:
72010         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72011         * modules/localcharset, modules/netinet_in, modules/poll:
72012         * modules/stdbool, modules/stdint, modules/sys_select:
72013         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72014
72015 2006-09-08  Jim Meyering  <jim@meyering.net>
72016
72017         Avoid new build failure on FreeBSD 6.0.
72018         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72019         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72020         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72021
72022 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72023
72024         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72025
72026 2006-09-07  Jim Meyering  <jim@meyering.net>
72027
72028         Fix global typo in last change: use chmod u-w, not chmod u-x.
72029         Spotted by Paul Eggert and Bruce Korb.
72030         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72031         * modules/byteswap, modules/configmake, modules/fcntl:
72032         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72033         * modules/localcharset, modules/netinet_in, modules/poll:
72034         * modules/stdbool, modules/stdint, modules/sys_select:
72035         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72036
72037 2006-09-06  Jim Meyering  <jim@meyering.net>
72038
72039         Make generated files be read-only.
72040         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72041         Ensure that each generated file is now read-only.
72042         * modules/argz: Likewise.
72043         * modules/arpa_inet: Likewise.
72044         * modules/byteswap: Likewise.
72045         * modules/configmake: Likewise.
72046         * modules/fcntl: Likewise.
72047         * modules/fnmatch: Likewise.
72048         * modules/getopt: Likewise.
72049         * modules/glob: Likewise.
72050         * modules/inttypes: Likewise.
72051         * modules/netinet_in: Likewise.
72052         * modules/poll: Likewise.
72053         * modules/stdbool: Likewise.
72054         * modules/stdint: Likewise.
72055         * modules/sys_select: Likewise.
72056         * modules/sys_socket: Likewise.
72057         * modules/sys_stat: Likewise.
72058         * modules/sysexits: Likewise.
72059         * modules/localcharset: Same as above, but continue using temporary
72060         file named "t-$@" (why different?) rather than the "$@-t" used
72061         everywhere else.
72062
72063         * modules/sysexits (Makefile.am): Replace literal occurrences
72064         of "sysexit.h" more readable, and more consistent, "$@".
72065
72066 2006-09-06  Bruno Haible  <bruno@clisp.org>
72067
72068         * modules/striconv: New file.
72069         * modules/xstriconv: New file.
72070         * MODULES.html.sh (Internationalization functions): Add striconv,
72071         xstriconv.
72072
72073 2006-09-06  Bruno Haible  <bruno@clisp.org>
72074
72075         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72076         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72077         not using libtool correctly.
72078
72079 2006-09-06  Bruno Haible  <bruno@clisp.org>
72080
72081         * lib/striconv.h: New file.
72082         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72083         iconvstring.c.
72084         * lib/xstriconv.h: New file.
72085         * lib/xstriconv.c: New file.
72086
72087 2006-09-06  Bruno Haible  <bruno@clisp.org>
72088
72089         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72090         lib_..._LDFLAGS.
72091
72092 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72093
72094         * lib/argz_.h: Sync from Libtool.
72095
72096         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72097                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72098
72099         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72100
72101 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72102
72103         * modules/trim: New file.
72104
72105 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72106
72107         * lib/trim.h: New file.
72108         * lib/trim.c: New file.
72109
72110 2006-09-05  Bruno Haible  <bruno@clisp.org>
72111
72112         * MODULES.html.sh (String handling): Add trim.
72113
72114 2006-09-04  Karl Berry  <karl@gnu.org>
72115
72116         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72117         until next release.
72118
72119 2006-09-03  Bruno Haible  <bruno@clisp.org>
72120
72121         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72122         correctly.
72123
72124 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72125
72126         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72127         not gl_GETLOADAVG.  Omit unneeded semicolons.
72128         Problems reported by Ralf Wildenhues in
72129         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72130         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72131         at the end, which is the usual gnulib style.
72132
72133         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72134         of doing all the work ourselves.
72135         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72136         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72137
72138 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72139
72140         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72141         Problem reported by Ralf Wildenhues in
72142         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72143
72144         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72145         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72146
72147 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72148
72149         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72150         yesterday's patch by changing test -n to test -z.
72151
72152 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72153
72154         * modules/getloadavg (Files): Add m4/getloadavg.m4.
72155         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
72156         the former is now obsolescent.
72157
72158         * modules/chdir-long (Depends-on): Add fcntl.
72159
72160 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72161
72162         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
72163         obsolescent, and programs should use gnulib instead.
72164         * m4/getloadavg.m4: New file, with contents taken from Autoconf
72165         but with prefixes changed.
72166
72167 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72168
72169         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72170         or stdbool.h, because they might not exist while configuring.
72171
72172         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72173         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72174         does that for us.
72175         (O_DIRECTORY): Remove.
72176
72177 2006-08-31  Eric Blake  <ebb9@byu.net>
72178
72179         * gnulib-tool: Don't let emacs change spaces to TAB.
72180
72181 2006-08-31  Bruno Haible  <bruno@clisp.org>
72182
72183         * gnulib-tool: When calling func_import more than once, do it in a
72184         subshell.
72185         Reported by Eric Blake <ebb9@byu.net>.
72186
72187 2006-08-31  Bruno Haible  <bruno@clisp.org>
72188
72189         * gnulib-tool (nl): Remove variable.
72190         (sed_transform_lib_file): Use more robust test for config-h module.
72191         (func_import): Fix typo in 2006-08-25 patch.
72192
72193 2006-08-31  Bruno Haible  <bruno@clisp.org>
72194
72195         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
72196         specified, augment Makefile.am variables instead of assigning them.
72197
72198 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72199
72200         Work around a bug in both the Linux and SunOS 64-bit kernels:
72201         nanosleep mishandles sleeps for longer than 2**31 seconds.
72202         Problem reported by Frank v Waveren in
72203         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72204         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
72205         Check for nanosleep bug.
72206         (LIB_NANOSLEEP): Append clock_gettime library if needed.
72207
72208 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72209
72210         Work around a bug in both the Linux and SunOS 64-bit kernels:
72211         nanosleep mishandles sleeps for longer than 2**31 seconds.
72212         Problem reported by Frank v Waveren in
72213         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72214         * lib/nanosleep.c (BILLION): New constant.
72215         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
72216         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
72217         implementation.
72218
72219 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72220
72221         * modules/nanosleep (Depends-on): Add gettime.
72222
72223 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72224         and Simon Josefsson  <jas@extundo.com>
72225         and Oskar Liljeblad  <oskar@osk.mine.nu>
72226
72227         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
72228         * gnulib-tool (func_import): New license type 'unmodifiable license
72229         text'.
72230         * modules/fdl: Use it.  Longer description.
72231         * module/gpl, module/lgpl: New files.
72232
72233 2006-08-30  Jim Meyering  <jim@meyering.net>
72234
72235         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
72236         shadowing the parameter.
72237
72238 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72239
72240         Sync from Libtool:
72241
72242         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72243
72244         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
72245         sharing with gnulib.  Report by Eric Blake.
72246
72247 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72248
72249         * modules/isapipe: New file.
72250         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
72251
72252 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72253
72254         * modules/configmake (Makefile.am): Add a comment, and omit
72255         the CONFIGMAKE_ prefix from generated macro names.  Suggested
72256         by Bruno Haible.
72257
72258 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72259
72260         * m4/isapipe.m4: New file.
72261
72262 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72263
72264         * lib/isapipe.c, lib/isapipe.h: New files.
72265
72266 2006-08-29  Jim Meyering  <jim@meyering.net>
72267
72268         * modules/configmake (Makefile.am): Make configmake.h depend on
72269         Makefile.  Otherwise, a stale configmake.h could hang around.
72270
72271 2006-08-29  Eric Blake  <ebb9@byu.net>
72272
72273         * lib/error.c (error_at_line, print_errno_message): Match libc, after
72274         resolution of upstream bug 3044.
72275
72276 2006-08-29  Bruno Haible  <bruno@clisp.org>
72277
72278         * modules/localcharset (Depends-on): Add configmake.
72279         (Makefile.am): Remove setting of LIBDIR through DEFS.
72280
72281 2006-08-29  Bruno Haible  <bruno@clisp.org>
72282
72283         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
72284         defined.
72285
72286 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72287
72288         * modules/fcntl: New file.
72289         * modules/chdir-safer (Depends-on): Add fcntl.
72290         * modules/fts: Likewise.
72291         * modules/mkdir-p: Likewise.
72292
72293         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
72294         This undoes the most recent change, since we're now addressing the
72295         problem in a different way.
72296
72297         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
72298         into output, since the output might be called Makefile.am even
72299         if $makefile_name is something different.
72300         (func_import): Use $makefile_am rather than
72301         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
72302         empty.
72303
72304         * modules/inttypes (Files): Add m4/inttypes-h.m4.
72305
72306 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72307
72308         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
72309         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
72310         recent change to stdint.m4, since we're now addressing the problem in a
72311         different way.
72312
72313 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72314
72315         * m4/fcntl_h.m4: New file.
72316
72317 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72318
72319         * lib/fcntl_.h: New file.
72320         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
72321         the fcntl module.
72322         * lib/dirchownmod.c: Likewise.
72323         * lib/fts.c: Likewise.
72324
72325         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
72326         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
72327         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
72328         just before including <inttypes.h>, to avoid circular inclusion.
72329
72330 2006-08-28  Jim Meyering  <jim@meyering.net>
72331
72332         * doc/visibility.texi: Actually read and correct the grammar of the
72333         sentence affected by yesterday's change.
72334
72335 2006-08-28  Eric Blake  <ebb9@byu.net>
72336
72337         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
72338         needs wrapper.
72339
72340 2006-08-28  Eric Blake  <ebb9@byu.net>
72341
72342         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
72343
72344 2006-08-28  Eric Blake  <ebb9@byu.net>
72345
72346         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
72347
72348 2006-08-28  Bruno Haible  <bruno@clisp.org>
72349
72350         * modules/c-strstr: New file, from GNU gettext.
72351         * MODULES.html.sh (String handling): Add c-strstr.
72352
72353 2006-08-28  Bruno Haible  <bruno@clisp.org>
72354
72355         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
72356         macros.
72357         Reported by Eric Blake.
72358
72359 2006-08-28  Bruno Haible  <bruno@clisp.org>
72360
72361         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
72362         (VASNPRINTF): Return a string of length > INT_MAX without failing.
72363         * lib/vasprintf.c: Include errno.h, limits.h.
72364         (EOVERFLOW): New fallback definition.
72365         (vasprintf): Test here whether the string length is > INT_MAX.
72366         * lib/vsnprintf.c: Include errno.h, limits.h.
72367         (EOVERFLOW): New fallback definition.
72368         (vsnprintf): Fix bug when generated string was too long for the buffer.
72369         Test here whether the string length is > INT_MAX.
72370
72371 2006-08-28  Bruno Haible  <bruno@clisp.org>
72372
72373         * lib/inttypes_.h (SCNX*): Remove definitions.
72374         Reported by Eric Blake.
72375
72376 2006-08-28  Bruno Haible  <bruno@clisp.org>
72377
72378         * lib/c-strstr.h: New file, from GNU gettext.
72379         * lib/c-strstr.c: New file, from GNU gettext.
72380
72381 2006-08-28  Bruno Haible  <bruno@clisp.org>
72382
72383         * gnulib-tool: Reorder some statements.
72384
72385 2006-08-28  Bruno Haible  <bruno@clisp.org>
72386
72387         * gnulib-tool: New option --makefile-name.
72388         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
72389         $makefile_name.
72390         (func_import): Write $makefile_name to the cache file, and read it from
72391         there unless explicitly specified. Use $makefile_name as file name
72392         instead of Makefile.am. Adjust the recommendations accordingly.
72393
72394 2006-08-28  Bruno Haible  <bruno@clisp.org>
72395
72396         * gnulib-tool (func_verify_module): Check against misapplying patch.
72397
72398 2006-08-28  Bruno Haible  <bruno@clisp.org>
72399
72400         * gnulib-tool (func_relativize, func_relconcat): New functions.
72401         Give an error if --local-dir is given with --update.
72402         Remove trailing slashes from $local_gnulib_dir.
72403         (func_import): Store the relativized $local_gnulib_dir in
72404         gnulib-cache.m4, and read it from there if not specified explicitly.
72405
72406 2006-08-28  Bruno Haible  <bruno@clisp.org>
72407
72408         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
72409         is the current directory. Respect also $local_gnulib_dir.
72410
72411 2006-08-28  Bruno Haible  <bruno@clisp.org>
72412             Simon Josefsson  <jas@extundo.com>
72413
72414         BeOS portability.
72415         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
72416
72417 2006-08-27  Jim Meyering  <jim@meyering.net>
72418
72419         * doc/visibility.texi: Remove duplicate word: "pointer".
72420
72421 2006-08-26  Bruno Haible  <bruno@clisp.org>
72422
72423         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
72424         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
72425         (Makefile.am): Create inttypes.h from inttypes_.h.
72426         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
72427
72428         * modules/imaxabs: New file.
72429
72430         * modules/imaxdiv: New file.
72431
72432 2006-08-26  Bruno Haible  <bruno@clisp.org>
72433
72434         * m4/inttypes.m4: New file.
72435         * m4/_inttypes_h.m4: Remove file.
72436         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
72437         PRI_MACROS_BROKEN.
72438         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
72439
72440         * m4/imaxabs.m4: New file.
72441
72442         * m4/imaxdiv.m4: New file.
72443
72444 2006-08-26  Bruno Haible  <bruno@clisp.org>
72445
72446         * lib/inttypes_.h: New file.
72447         * lib/inttypes.h: Remove file.
72448         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
72449
72450         * lib/imaxabs.c: New file.
72451
72452         * lib/imaxdiv.c: New file.
72453
72454 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72455
72456         New config-h module, so that "make" output needn't be cluttered
72457         by -DHAVE_CONFIG_H.
72458         * MODULES.html.sh (Support for building libraries and executables):
72459         Add config-h.
72460         * modules/config-h: New file.
72461         * gnulib-tool (nl, sed_transform_lib_file): New vars.
72462         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
72463         the config-h module is used.
72464
72465         New configmake module, so that "make" output needn't be cluttered
72466         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
72467         * MODULES.html.sh (Support for building libraries and executables):
72468         Add configmake.
72469         * modules/configmake: New file.
72470
72471 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72472
72473         * m4/config-h.m4: New file.
72474
72475 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72476
72477         * config/srclist.txt: Add elisp-comp.
72478
72479 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         * MODULES.html.sh (Support for building libraries and executables):
72482         Add elisp-comp.
72483         * build-aux/elisp-comp: New file.
72484         * modules/elisp-comp: New file.
72485
72486 2006-08-24  Bruno Haible  <bruno@clisp.org>
72487
72488         * gnulib-tool (func_create_testdir): Use non-default values of
72489         sourcebase and m4base.
72490
72491 2006-08-24  Bruno Haible  <bruno@clisp.org>
72492
72493         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
72494         HTML structure.
72495
72496 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72497
72498         * modules/openat (Depends-on): Add lchown.
72499
72500 2006-08-23  Bruno Haible  <bruno@clisp.org>
72501
72502         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
72503         of gl_LOCK_EARLY instead of gl_LOCK.
72504
72505 2006-08-23  Bruno Haible  <bruno@clisp.org>
72506
72507         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
72508         on OSF/1 to no.
72509         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
72510
72511 2006-08-23  Bruno Haible  <bruno@clisp.org>
72512
72513         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
72514         as unusable.
72515
72516         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
72517         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
72518         (gl_LOCK): New macro.
72519
72520 2006-08-22  Simon Josefsson  <jas@extundo.com>
72521
72522         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
72523         to md5 module.
72524
72525 2006-08-22  Simon Josefsson  <jas@extundo.com>
72526
72527         * MODULES.html.sh: Add "Support for maintaining and release
72528         projects".
72529
72530         * build-aux/gnupload: New file, from coreutils.
72531
72532 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72533
72534         Avoid the need for AC_LIBSOURCES in m4 macros.
72535         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
72536         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
72537         * modules/check-version (EXTRA_DIST): Add check-version.h.
72538         * modules/crc (EXTRA_DIST): Add crc.h.
72539         * modules/des (EXTRA_DIST): Add des.h.
72540         * modules/gc (EXTRA_DIST): Add gc.h.
72541         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
72542         * modules/getline (EXTRA_DIST): Add getline.h.
72543         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
72544         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
72545         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
72546         * modules/md2 (EXTRA_DIST): Add md2.h.
72547         * modules/md4 (EXTRA_DIST): Add md4.h.
72548         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
72549         * modules/read-file (EXTRA_DIST): Add read-file.h.
72550         * modules/readline (EXTRA_DIST): Add readline.h.
72551         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
72552         rijndael-api-fst.h.
72553
72554 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72555
72556         * m4/rijndael.m4 (gl_ARCFOUR):
72557         * m4/arctwo.m4 (gl_ARCTWO):
72558         * m4/check-version.m4 (gl_CHECK_VERSION):
72559         * m4/crc.m4 (gl_CRC):
72560         * m4/des.m4 (gl_DES):
72561         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
72562         * m4/gc.m4 (gl_GC):
72563         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
72564         * m4/getline.m4 (gl_FUNC_GETLINE):
72565         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
72566         * m4/hmac-md5.m4 (gl_HMAC_MD5):
72567         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
72568         * m4/md2.m4 (gl_MD2):
72569         * m4/md4.m4 (gl_MD4):
72570         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
72571         * m4/read-file.m4 (gl_FUNC_READ_FILE):
72572         * m4/readline.m4 (gl_FUNC_READLINE):
72573         * m4/rijndael.m4 (gl_RIJNDAEL):
72574         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72575         to get the necessary .h files and whatnot.
72576
72577 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72578
72579         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
72580         gnulib rather than the other way around.
72581         * config/srclistvars.sh (COREUTILS): Remove.
72582
72583 2006-08-22  Jim Meyering  <jim@meyering.net>
72584
72585         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
72586
72587         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
72588
72589 2006-08-22  Eric Blake  <ebb9@byu.net>
72590
72591         * modules/regexprops-generic: New file.
72592         * MODULES.html.sh (Support for building documentation): List it.
72593
72594 2006-08-22  Eric Blake  <ebb9@byu.net>
72595
72596         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
72597         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
72598         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
72599         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
72600
72601 2006-08-22  Bruno Haible  <bruno@clisp.org>
72602
72603         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
72604         and lib_LTLIBRARIES like the other lib_* variables.
72605
72606 2006-08-22  Bruno Haible  <bruno@clisp.org>
72607
72608         * build-aux/x-to-1.in: New file, from GNU gettext.
72609
72610 2006-08-22  Bruno Haible  <bruno@clisp.org>
72611
72612         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
72613         <utmpx.h> exists.
72614
72615 2006-08-22  Bruno Haible  <bruno@clisp.org>
72616
72617         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
72618         <utmpx.h> exists.
72619
72620 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72621
72622         BeOS portability.
72623         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
72624         exist.
72625         Problem reported by Bruno Haible.
72626
72627 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72628
72629         Avoid the need for AC_LIBSOURCES in m4 macros.
72630         * modules/acl (EXTRA_DIST): Add acl.h.
72631         * modules/argmatch (Files): Add m4/argmatch.m4.
72632         (configure.ac): Add gl_ARGMATCH.
72633         (EXTRA_DIST): Renamed from lib_SOURCES, for
72634         consistency with the other modules.  Remove argmatch.c.
72635         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
72636         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
72637         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
72638         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
72639         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
72640         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
72641         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
72642         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
72643         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
72644         * modules/closeout (EXTRA_DIST): Add closeout.h.
72645         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
72646         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
72647         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
72648         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
72649         dirname.h; remove basename.c and stripslash.c.
72650         * modules/exclude (EXTRA_DIST): Add exclude.h.
72651         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
72652         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
72653         * modules/file-type (EXTRA_DIST): Add file-type.h.
72654         * modules/filemode (EXTRA_DIST): Add filemode.h.
72655         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
72656         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72657         * modules/fpending (EXTRA_DIST): Add __fpending.h.
72658         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
72659         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
72660         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
72661         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
72662         * modules/getdate (EXTRA_DIST): Add getdate.c.
72663         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
72664         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
72665         * modules/getpass (EXTRA_DIST): Add getpass.h.
72666         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
72667         * modules/group-member (EXTRA_DIST): Add group-member.h.
72668         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
72669         * modules/hash (EXTRA_DIST): Add hash.h.
72670         * modules/human (EXTRA_DIST): Add human.h.
72671         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
72672         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
72673         * modules/lchown (EXTRA_DIST): Add lchown.h.
72674         * modules/long-options (EXTRA_DIST): Add long-options.h.
72675         * modules/lstat (EXTRA_DIST): Add lstat.h.
72676         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
72677         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
72678         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
72679         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
72680         * modules/memxor (EXTRA_DIST): Add memxor.h.
72681         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
72682         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
72683         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
72684         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
72685         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
72686         * modules/physmem (EXTRA_DIST): Add physmem.h.
72687         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
72688         * modules/posixver (EXTRA_DIST): Add posixver.h.
72689         * modules/quote (EXTRA_DIST): Add quote.h.
72690         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
72691         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
72692         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
72693         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
72694         regex_internal.h regexec.c.
72695         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
72696         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
72697         * modules/same (EXTRA_DIST): Add same.h.
72698         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
72699         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
72700         * modules/savedir (EXTRA_DIST): Add savedir.h.
72701         * modules/sha1 (EXTRA_DIST): Add sha1.h.
72702         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
72703         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
72704         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
72705         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
72706         * modules/strdup (EXTRA_DIST): Add strdup.h.
72707         * modules/strftime (EXTRA_DIST): Add strftime.h.
72708         * modules/strndup (EXTRA_DIST): Add strndup.h.
72709         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
72710         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
72711         * modules/time_r (EXTRA_DIST): Add time_r.h.
72712         * modules/timespec (EXTRA_DIST): Add timespec.h.
72713         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72714         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
72715         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
72716         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
72717         * modules/userspec (EXTRA_DIST): Add userspec.h.
72718         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
72719         * modules/utimens (EXTRA_DIST): Add utimens.h.
72720         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
72721         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
72722         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
72723         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
72724         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
72725         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
72726         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
72727         * modules/yesno (EXTRA_DIST): Add yesno.h.
72728
72729 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72730
72731         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
72732
72733         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
72734         * m4/dev-ino.m4, same-inode.m4: Remove.
72735
72736         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
72737         * m4/acl.m4 (AC_FUNC_ACL):
72738         * m4/backupfile.m4 (gl_BACKUPFILE):
72739         * m4/c-strtod.m4 (gl_C99_STRTOLD):
72740         * m4/canon-host.m4 (gl_CANON_HOST):
72741         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72742         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
72743         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
72744         * m4/cloexec.m4 (gl_CLOEXEC):
72745         * m4/close-stream.m4 (gl_CLOSE_STREAM):
72746         * m4/closeout.m4 (gl_CLOSEOUT):
72747         * m4/dirfd.m4 (gl_FUNC_DIRFD):
72748         * m4/dirname.m4 (gl_DIRNAME):
72749         * m4/exclude.m4 (gl_EXCLUDE):
72750         * m4/exitfail.m4 (gl_EXITFAIL):
72751         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
72752         * m4/file-type.m4 (gl_FILE_TYPE):
72753         * m4/filemode.m4 (gl_FILEMODE):
72754         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
72755         * m4/fpending.m4 (gl_FUNC_FPENDING):
72756         * m4/fprintftime.m4 (gl_FPRINTFTIME):
72757         * m4/fts.m4 (gl_FUNC_FTS):
72758         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
72759         * m4/getdate.m4 (gl_GETDATE):
72760         * m4/gethrxtime.m4 (gl_GETHRXTIME):
72761         * m4/getpagesize.m4 (gl_GETPAGESIZE):
72762         * m4/getpass.m4 (gl_FUNC_GETPASS):
72763         * m4/gettime.m4 (gl_GETTIME):
72764         * m4/getugroups.m4 (gl_GETUGROUPS):
72765         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
72766         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
72767         * m4/hard-locale.m4 (gl_HARD_LOCALE):
72768         * m4/hash.m4 (gl_HASH):
72769         * m4/idcache.m4 (gl_IDCACHE):
72770         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
72771         * m4/lchown.m4 (gl_FUNC_LCHOWN):
72772         * m4/long-options.m4 (gl_LONG_OPTIONS):
72773         * m4/lstat.m4 (gl_FUNC_LSTAT):
72774         * m4/md5.m4 (gl_MD5):
72775         * m4/memcasecmp.m4 (gl_MEMCASECMP):
72776         * m4/memcoll.m4 (gl_MEMCOLL):
72777         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
72778         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
72779         * m4/memxor.m4 (gl_MEMXOR):
72780         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
72781         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
72782         * m4/modechange.m4 (gl_MODECHANGE):
72783         * m4/mountlist.m4 (gl_MOUNTLIST):
72784         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72785         * m4/openat.m4 (gl_FUNC_OPENAT):
72786         * m4/pathmax.m4 (gl_PATHMAX):
72787         * m4/physmem.m4 (gl_PHYSMEM):
72788         * m4/posixtm.m4 (gl_POSIXTM):
72789         * m4/posixver.m4 (gl_POSIXVER):
72790         * m4/quote.m4 (gl_QUOTE):
72791         * m4/quotearg.m4 (gl_QUOTEARG):
72792         * m4/readtokens.m4 (gl_READTOKENS):
72793         * m4/readutmp.m4 (gl_READUTMP):
72794         * m4/regex.m4 (gl_REGEX):
72795         * m4/safe-read.m4 (gl_SAFE_READ):
72796         * m4/safe-write.m4 (gl_SAFE_WRITE):
72797         * m4/same.m4 (gl_SAME):
72798         * m4/save-cwd.m4 (gl_SAVE_CWD):
72799         * m4/savedir.m4 (gl_SAVEDIR):
72800         * m4/settime.m4 (gl_SETTIME):
72801         * m4/sha1.m4 (gl_SHA1):
72802         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
72803         * m4/stat-macros.m4 (gl_STAT_MACROS):
72804         * m4/stat-time.m4 (gl_STAT_TIME):
72805         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
72806         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
72807         * m4/strdup.m4 (gl_FUNC_STRDUP):
72808         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
72809         * m4/strndup.m4 (gl_FUNC_STRNDUP):
72810         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
72811         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
72812         * m4/time_r.m4 (gl_TIME_R):
72813         * m4/timespec.m4 (gl_TIMESPEC):
72814         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
72815         * m4/unlinkdir.m4 (gl_UNLINKDIR):
72816         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
72817         * m4/userspec.m4 (gl_USERSPEC):
72818         * m4/utimecmp.m4 (gl_UTIMECMP):
72819         * m4/utimens.m4 (gl_UTIMENS):
72820         * m4/xalloc.m4 (gl_XALLOC):
72821         * m4/xgetcwd.m4 (gl_XGETCWD):
72822         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
72823         * m4/xreadlink.m4 (gl_XREADLINK):
72824         * m4/xstrtod.m4 (gl_XSTRTOD):
72825         * m4/yesno.m4 (gl_YESNO):
72826         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72827         to get the necessary .h files and whatnot.
72828
72829 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
72830             Bruno Haible  <bruno@clisp.org>
72831
72832         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
72833         /bin/sh understanding of '!' conditional negation.
72834
72835 2006-08-21  Jim Meyering  <jim@meyering.net>
72836
72837         * modules/openat (Depends-on): Really alphabetize.
72838
72839         * modules/acl (Depends-on): Add error and quote.
72840
72841         * check-module (find_included_lib_files): Add at-func.c to the
72842         ok-to-include-more-than-once white list.
72843
72844         * modules/openat (Depends-on): Add lstat.  Alphabetize.
72845
72846 2006-08-21  Bruno Haible  <bruno@clisp.org>
72847
72848         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72849         Emit a pkgdata_DATA variable only if some snippets add contents to it.
72850         Reported by Martin Lambers <marlam@marlam.de>.
72851
72852 2006-08-21  Bruno Haible  <bruno@clisp.org>
72853
72854         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
72855         specify an installation location, don't emit a noinst_LIBRARIES or
72856         noinst_LTLIBRARIES assignment.
72857
72858 2006-08-21  Bruno Haible  <bruno@clisp.org>
72859
72860         BeOS portability.
72861         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
72862         BeOS has mbrtowc() but no <wctype.h>.
72863
72864 2006-08-21  Bruno Haible  <bruno@clisp.org>
72865
72866         BeOS portability.
72867         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
72868         exist.
72869
72870 2006-08-21  Bruno Haible  <bruno@clisp.org>
72871
72872         BeOS portability.
72873         * lib/mbchar.h: Include <wctype.h> only if it exists.
72874
72875 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72876
72877         Remove files that are no longer needed by their respective modules.
72878         * m4/obstack.m4: Remove.
72879         * m4/strerror_r.m4: Remove.
72880         * m4/uint32_t.m4: Remove.
72881         * m4/uintptr_t.m4: Remove.
72882         * m4/ullong_max.m4: Remove.
72883         * m4/xstrtoimax.m4: Remove.
72884         * m4/xstrtoumax.m4: Remove.
72885
72886         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
72887         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
72888         dependencies now capture this.
72889
72890         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
72891         Do not use AC_LIBSOURCES, since gnulib modules now do this.
72892         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
72893         * m4/human.m4 (gl_HUMAN): Likewise.
72894         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
72895         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
72896
72897         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
72898
72899         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
72900         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
72901         stdint.
72902         * m4/human.m4 (gl_HUMAN): Likewise.
72903         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
72904         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
72905         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72906         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72907         * m4/xstrtol (gl_XSTRTOL): Likewise.
72908
72909         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
72910         AC_TYPE_LONG_LONG_INT.
72911         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72912         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
72913         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
72914         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72915
72916         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
72917         on stdbool.
72918
72919         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
72920         (gl_PREREQ_XSTRTOUL): Remove.
72921
72922         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
72923
72924         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
72925         mode.
72926
72927 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72928
72929         Add and change modules to make it easier for coreutils to use
72930         gnulib-tool.
72931         * modules/backupfile (Files): Remove m4/d-ino.m4.
72932         (Depends-on): Add d-ino.
72933         * modules/cycle-check (Depends-on): Add stdint.
72934         (lib_SOURCES): Add cycle-check.h.
72935         * modules/d-ino: New module.
72936         * modules/d-type: New module.
72937         * modules/error (Files): Remove m4/strerror_r.m4.
72938         * modules/filemode (Files): Add m4/st_dm_mode.m4.
72939         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72940         m4/inttypes_h.m4, m4/uintmax_t.m4.
72941         (Depends-on): Add stdint.
72942         (lib_SOURCES): Add fsusage.h.
72943         * modules/getcwd (Files): Remove d-ino.m4.
72944         (Depends-on): Add d-ino.
72945         * modules/getndelim2 (Depends-on): Add stdint.
72946         * modules/glob (Files): Remove m4/d-type.m4.
72947         (Depends-on): Add d-type.
72948         * modules/host-os: New module.
72949         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
72950         m4/inttypes_h.m4, m4/uintmax_t.m4.
72951         * Depends-on: Add stdint.
72952         (lib_SOURCES): Add human.h.
72953         * modules/inttostr (Files): Remove m4/intmax_t.m4,
72954         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
72955         m4/uintmax_t.m4, m4/ulonglong.m4.
72956         (Depends-on): Add stdint.
72957         (EXTRA_DIST): Add inttostr.h.
72958         * modules/lchmod: New module.
72959         * modules/link-follow: New module.
72960         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
72961         (Depends-on): Add lchmod.
72962         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
72963         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
72964         (Depends-on): Add stdint.
72965         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
72966         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
72967         (Depends-on): Add stdint.
72968         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
72969         * modules/perl: New module.
72970         * modules/regex (Depends-on): Add stdint.
72971         * modules/rmdir-errno: New module.
72972         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72973         m4/intmax_t.m4.
72974         (Depends-on): Add stdint.
72975         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72976         m4/uintmax_t.m4.
72977         (Depends-on): Add stdint.
72978         * modules/unlink-busy: New module.
72979         * modules/utimecmp (Depends-on): Add stdint.
72980         * modules/uptime: New module.
72981         * modules/winsz-ioctl: New module.
72982         * modules/winsz-termios: New module.
72983         * modules/xnanosleep (Depends-on): Add nanosleep.
72984         * modules/ullong_max: Remove.
72985         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
72986         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
72987         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
72988         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
72989         (Depends-on): Add inttypes.
72990         (lib_SOURCES): Add xstrtol.h.
72991         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
72992         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
72993         * MODULES.html.sh: Move 'assert' into the assert section.
72994         Move 'dummy' into the linking section.
72995         Remove ullong_max.
72996         Add section for compatibility checks for POSIX:2001 functions,
72997         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
72998         winsz-ioctl, and winsz-termios into it.
72999         Add lchmod.
73000         Add top-level Misc section and put host-os, perl, and uptime
73001         into it.
73002
73003 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73004
73005         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73006         now assume the stdint module.  Do not include inttypes.h.
73007         * lib/fsusage.h: Likewise.
73008         * lib/getndelim2.c: Likewise.
73009         * lib/human.h: Likewise.
73010         * lib/inttostr.h: Likewise.
73011         * lib/obstack.c: Likewise.
73012         * lib/regex_internal.h: Likewise.
73013         * lib/tempname.c: Likewise.
73014         * lib/utimecmp.c: Likewise.
73015         * lib/xstrtol.h: Likewise.
73016
73017         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73018
73019         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73020         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73021         * lib/xtime.h: Likewise.
73022
73023 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73024
73025         * modules/openat (Files): Add lib/fchmodat.c.
73026         Fixes problem reported by Jay Youngman.
73027
73028 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73029
73030         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73031         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73032
73033 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73034             Bruno Haible  <bruno@clisp.org>
73035
73036         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73037         and is a script that invokes bison. Tighten the code. Add comments.
73038
73039 2006-08-18  Jim Meyering  <jim@meyering.net>
73040
73041         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73042         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73043         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73044         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73045
73046 2006-08-18  Bruno Haible  <bruno@clisp.org>
73047
73048         * modules/bison-i18n: New file.
73049         * MODULES.html.sh (Internationalization functions): Add it.
73050
73051 2006-08-18  Bruno Haible  <bruno@clisp.org>
73052
73053         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73054         sys/statvfs.h. When getmntinfo was found, check its declaration and
73055         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73056
73057 2006-08-18  Bruno Haible  <bruno@clisp.org>
73058
73059         * m4/bison-i18n.m4: New file, from bison.
73060
73061 2006-08-18  Bruno Haible  <bruno@clisp.org>
73062
73063         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73064         (ME_DUMMY): Treat "kernfs" as a dummy.
73065         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73066
73067 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73068
73069         Update from coreutils.
73070
73071         2006-08-15  Jim Meyering  <jim@meyering.net>
73072
73073         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73074
73075         2006-01-17  Jim Meyering  <jim@meyering.net>
73076
73077         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73078
73079         2006-01-11  Jim Meyering  <jim@meyering.net>
73080
73081         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73082         Check for the lchmod function.
73083
73084 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73085
73086         Update from coreutils.
73087
73088         * lib/__fpending.h: Add copyright notice.
73089         * lib/fprintftime.h: Likewise.
73090         * lib/savedir.c: Use (C) in copyright notice.
73091         * lib/savedir.h: Likewise.
73092
73093         2006-08-15  Jim Meyering  <jim@meyering.net>
73094
73095         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73096         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73097         in support of the EXPECTED_ERRNO macro.
73098         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73099         definitions.  Instead, define the appropriate symbols and include
73100         "at-func.c".
73101         * lib/mkdirat.c (mkdirat): Likewise.
73102         * lib/fchmodat.c (fchmodat): Likewise.
73103         (ENOSYS): Remove definition.
73104         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73105         it.  Don't include "unistd--.h" -- it wasn't ever used.
73106
73107         2006-01-17  Jim Meyering  <jim@meyering.net>
73108
73109         Rewrite fts.c not to change the current working directory,
73110         by using openat, fstatat, fdopendir, etc..
73111
73112         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73113         (HAVE_OPENAT_SUPPORT): Define.
73114         [_LIBC] (fchdir): Don't undef or define; no longer used.
73115         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73116         Now, this `function' always succeeds, and consumes its file descriptor
73117         parameter -- so callers must not close such FDs.  Update callers.
73118         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73119         (diropen): Add parameter, SP.  Adjust all callers.
73120         Implement using diropen_fd, rather than open.
73121         (fts_open): Initialize new member, fts_cwd_fd.
73122         Remove fts_rft-setting code.
73123         (fts_close): Close fts_cwd_fd, if necessary.
73124         (__opendir2): Define in terms of opendir or opendirat,
73125         depending on whether the FST_NOCHDIR flag is set.
73126         (fts_build): Since fts_safe_changedir consumes its FD, and since
73127         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73128         and close the dup'd file descriptor upon failure.
73129         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73130         (fts_safe_changedir): Tweak semantics to reflect that this function
73131         now calls cwd_advance_fd and hence consumes its FD argument.
73132         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73133         [struct FTS] (fts_rft): Remove now-unused member.
73134         [struct FTS] (fts_cycle.state): Improve comment.
73135
73136         * lib/openat.c (openat_needs_fchdir): New function.
73137         * lib/openat.h (openat_needs_fchdir): Declare it.
73138
73139 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73140
73141         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73142         Problem and fix reported by Pádraig Brady in
73143         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73144
73145 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73146
73147         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73148
73149 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73150
73151         * lib/memcoll.c (memcoll): Optimize for the common case where the
73152         arguments are bytewise equal.
73153
73154 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73155
73156         * doc/regexprops-generic.texi: Add a copyright notice.
73157
73158 2006-08-15  Bruno Haible  <bruno@clisp.org>
73159
73160         * modules/tmpdir (License): Change to LGPL.
73161
73162 2006-08-15  Bruno Haible  <bruno@clisp.org>
73163
73164         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
73165         module.
73166
73167 2006-08-14  Simon Josefsson  <jas@extundo.com>
73168
73169         * config/srclist.txt: Add gnupload.
73170
73171 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73172
73173         Change copyright notice from LGPL 2 to GPL 2, since that's the
73174         standard form used in the gnulib repository.
73175         * tests/test-lock.c: Likewise.
73176         * tests/test-stdint.c: Likewise.
73177         * tests/test-tls.c: Likewise.
73178
73179         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73180         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73181         Add copyright notice.
73182
73183         * check-module: Add copyright notice.  Output a copyright
73184         notice if "--version" is specified.
73185         * modules/COPYING: New file.
73186         * tests/test-getaddrinfo.c: Add copyright notice.
73187         * tests/test-verify.c: Likewise.
73188
73189 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73190
73191         Change copyright notice from LGPL 2 to GPL 2, since that's the
73192         standard form used in the gnulib repository.
73193         * lib/lock.c: LGPL -> GPL.
73194         * lib/lock.h: Likewise.
73195         * lib/strnlen1.c: Likewise.
73196         * lib/strnlen1.h: Likewise.
73197         * lib/tls.c: Likewise.
73198         * lib/tls.h: Likewise.
73199         * lib/tmpdir.c: Likewise.
73200
73201         * lib/TODO: Remove; this belongs only in coreutils.
73202
73203 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73204
73205         Add copyright notices to long-enough files that lack them, since
73206         otherwise the files aren't clearly free.  Use the same notice that
73207         getdate.texi already uses.
73208         * doc/alloca-opt.texi: Add copyright notice.
73209         * doc/alloca.texi: Likewise.
73210         * doc/ctime.texi: Likewise.
73211         * doc/functions.texi: Likewise.
73212         * doc/gcd.texi: Likewise.
73213         * doc/gnulib-tool.texi: Likewise.
73214         * doc/inet_ntoa.texi: Likewise.
73215         * doc/visibility.texi: Likewise.
73216
73217         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
73218         * doc/quote.texi: Add copyright notice.
73219
73220         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
73221         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
73222         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
73223         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
73224         is now obsolete, and give a pointer to the Sun list.
73225         Add copyright notice.
73226
73227 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73228
73229         * config/srclistvars.sh: Add copyright notice.
73230
73231 2006-08-14  Eric Blake  <ebb9@byu.net>
73232
73233         Import the following change from libc:
73234
73235         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
73236
73237         Upstream bug 2997.
73238         * lib/misc/error.c: Add space between program name and message if file
73239         name is missing.
73240
73241 2006-08-12  Karl Berry  <karl@gnu.org>
73242
73243         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
73244         remove, these originate in gnulib now.
73245
73246 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73247
73248         * doc/Makefile (standards.info standards.html standards.dvi):
73249         Also depend on make-stds.texi.
73250
73251 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73252
73253         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
73254         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
73255
73256         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
73257         in wchar_t.  Problem reported by Eric Blake.
73258
73259         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
73260         LEN is smaller than SIZE.  Suggested by Bruno Haible.
73261         Also, help the compiler to keep LEN in a register.
73262
73263 2006-08-11  Eric Blake  <ebb9@byu.net>
73264
73265         * users.txt: Sort.  Add tar.
73266
73267 2006-08-11  Bruno Haible  <bruno@clisp.org>
73268
73269         * users.txt: New file.
73270
73271 2006-08-11  Bruno Haible  <bruno@clisp.org>
73272
73273         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
73274         before <wchar.h>. Needed for OSF/1 and BSD/OS.
73275
73276 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73277
73278         * modules/snprintf (Depends-on): Remove minmax.
73279         (Maintainer): Add self and Bruno.
73280
73281 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73282
73283         * lib/.cppi-disable: Add snprintf.h, socket_.h.
73284         * lib/snprintf.c: Include <errno.h> and <limits.h>.
73285         (EOVERFLOW): Define if the system does not.
73286         Do not include "minmax.h"; it wasn't used.
73287         (snprintf): Don't assume size_t promotes to an unsigned type.
73288         Fix bug when generated string was too long for the buffer: the
73289         buffer's contents are supposed to be the initial prefix of the
73290         output.  Don't assume vasnprintf returns EOVERFLOW if the size
73291         exceeds INT_MAX; do the check ourselves.
73292
73293         Import the following changes from libc:
73294
73295         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
73296
73297         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
73298         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
73299         set wc to the byte which couldn't be converted.
73300         (re_string_reconstruct): Don't clear valid_raw_len before calling
73301         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
73302         tip_context using re_string_context_at.
73303
73304         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
73305
73306         * lib/posix/regex.h: g++ still cannot handled [restrict].
73307
73308         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
73309
73310         * lib/posix/regex.h: Remove special handling for VMS.
73311
73312 2006-08-10  Jim Meyering  <jim@meyering.net>
73313
73314         * modules/same-inode: New module.
73315         * modules/dev-ino: New module.
73316         * modules/cycle-check: Depend on these modules, rather than simply
73317         including their .h files.
73318         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
73319         required via m4/cycle-check.m4.
73320         * modules/same: Depend on new same-inode module, rather than
73321         including same-inode.h.
73322         * modules/chdir-safer: New file.
73323
73324         * modules/chown (Depends-on): Add stat-macros.
73325
73326 2006-08-10  Jim Meyering  <jim@meyering.net>
73327
73328         * m4/cycle-check.m4: New file.
73329         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
73330         * m4/dev-ino.m4, m4/same-inode.m4: New files.
73331
73332 2006-08-10  Eric Blake  <ebb9@byu.net>
73333
73334         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
73335         in from original proposal.
73336
73337 2006-08-10  Eric Blake  <ebb9@byu.net>
73338         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73339
73340         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
73341         namespace.
73342
73343 2006-08-10  Bruno Haible  <bruno@clisp.org>
73344
73345         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
73346         as well.
73347
73348 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73349
73350         Sync from coreutils.
73351
73352         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
73353
73354         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
73355         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
73356
73357 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73358
73359         * modules/restrict: Remove; no longer needed now that we assume
73360         Autoconf 2.59 or later.
73361         * MODULES.html.sh: Remove 'restrict'.
73362         * modules/argp (Depends-on): Remove 'restrict'.
73363         * modules/base64 (Depends-on): Likewise.
73364         * modules/gc (Depends-on): Likewise.
73365         * modules/getaddrinfo (Depends-on): Likewise.
73366         * modules/glob (Depends-on): Likewise.
73367         * modules/inet_ntop (Depends-on): Likewise.
73368         * modules/inet_pton (Depends-on): Likewise.
73369         * modules/memxor (Depends-on): Likewise.
73370         * modules/regex (Depends-on): Likewise.
73371         * modules/strtok_r (Depends-on): Likewise.
73372         * modules/time_r (Depends-on): Likewise.
73373
73374 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73375
73376         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
73377         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
73378         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73379         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
73380         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
73381         * m4/memxor.m4 (gl_MEMXOR): Likewise.
73382         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
73383         gl_C_RESTRICT replaced by AC_C_RESTRICT.
73384
73385         Merge from coreutils.
73386         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
73387         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
73388         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73389         * m4/time_r.m4 (gl_TIME_R): Likewise.
73390
73391 2006-08-09  Karl Berry  <karl@gnu.org>
73392
73393         * config/srclist.txt: no more gettext-tools, per Bruno.
73394
73395 2006-08-08  Eric Blake  <ebb9@byu.net>
73396
73397         * modules/verror: New module.
73398         * MODULES.html.sh: Document it.
73399
73400 2006-08-08  Eric Blake  <ebb9@byu.net>
73401
73402         * lib/verror.h, lib/verror.c: New files.
73403
73404 2006-08-08  Eric Blake  <ebb9@byu.net>
73405
73406         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
73407         verror_at_line output complies with GNU Coding Standards even when
73408         file is NULL.
73409
73410 2006-08-07  Bruno Haible  <bruno@clisp.org>
73411
73412         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
73413         versions of AIX.
73414         Reported by Ralf Wildenhues.
73415
73416 2006-08-07  Bruno Haible  <bruno@clisp.org>
73417
73418         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
73419         in an AC_DEFUN. Needed so that the autoconf snippets can use
73420         AC_REQUIRE.
73421
73422 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73423
73424         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73425         Initialize pkgdata_DATA.
73426         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
73427         overriding it.
73428
73429 2006-08-06  Eric Blake  <ebb9@byu.net>
73430
73431         * lib/error.h: Fold in some upstream changes from glibc.
73432         * lib/error.c: Likewise.
73433
73434 2006-08-04  Bruno Haible  <bruno@clisp.org>
73435
73436         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73437         Make the mostlyclean-local rule depend on mostlyclean-generic.
73438         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
73439
73440 2006-07-31  Bruno Haible  <bruno@clisp.org>
73441
73442         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
73443         <stdlib.h>, <string.h>.
73444
73445 2006-07-30  Bruno Haible  <bruno@clisp.org>
73446
73447         * modules/readlink (License): Change to LGPL.
73448
73449 2006-07-30  Bruno Haible  <bruno@clisp.org>
73450
73451         * modules/javaversion (Makefile.am): Distribute javaversion.java and
73452         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
73453         set PKGDATADIR to point to it.
73454
73455 2006-07-30  Bruno Haible  <bruno@clisp.org>
73456
73457         * modules/csharpexec (configure.ac): Comment out macro invocation.
73458         * modules/javaexec (configure.ac): Likewise.
73459         * modules/javacomp-script (configure.ac): Likewise.
73460
73461         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
73462
73463 2006-07-30  Bruno Haible  <bruno@clisp.org>
73464
73465         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
73466         linked-list.
73467
73468 2006-07-30  Bruno Haible  <bruno@clisp.org>
73469
73470         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
73471
73472 2006-07-30  Bruno Haible  <bruno@clisp.org>
73473
73474         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73475         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
73476         get removed.
73477
73478 2006-07-29  Bruno Haible  <bruno@clisp.org>
73479
73480         Make it possible for gnulib-tool to work with locally modified or
73481         augmented gnulib repositories.
73482         * gnulib-tool (func_usage): Document --local-dir option.
73483         (local_gnulib_dir): New variable.
73484         Handle --local-dir option.
73485         (func_lookup_file): New function.
73486         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
73487         (func_get_description, func_get_filelist, func_get_description,
73488         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
73489         func_get_automake_snippet, func_get_include_directive,
73490         func_get_license, func_get_maintainer): Use func_lookup_file.
73491         (func_import, func_create_testdir): Use func_lookup_file.
73492
73493 2006-07-29  Bruno Haible  <bruno@clisp.org>
73494
73495         * modules/setenv (Depends-on): Add unistd.
73496
73497 2006-07-29  Bruno Haible  <bruno@clisp.org>
73498
73499         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
73500
73501 2006-07-29  Bruno Haible  <bruno@clisp.org>
73502
73503         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
73504
73505 2006-07-29  Bruno Haible  <bruno@clisp.org>
73506
73507         * gnulib-tool (import, update): If there is no Makefile.am, look at
73508         aclocal.m4, instead of bailing out.
73509
73510 2006-07-29  Bruno Haible  <bruno@clisp.org>
73511
73512         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
73513         Categorize the options by when they are useful.
73514
73515 2006-07-29  Bruno Haible  <bruno@clisp.org>
73516
73517         * gnulib-tool (func_usage): Document option --no-libtool.
73518         Handle option --no-libtool.
73519         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
73520         for changed semantics of $libtool variable.
73521         (func_import): Likewise. If libtool is not used, show this through
73522         an option --no-libtool.
73523         (func_create_testdir): Update.
73524
73525 2006-07-29  Bruno Haible  <bruno@clisp.org>
73526
73527         * gnulib-tool (func_import): Extend error message about missing
73528         --doc-base.
73529
73530 2006-07-29  Bruno Haible  <bruno@clisp.org>
73531
73532         * gnulib-tool (func_import): Don't create the $docbase directory if
73533         there is no file to store there.
73534
73535 2006-07-29  Bruno Haible  <bruno@clisp.org>
73536
73537         * gnulib-tool (autoconf_minversion): If a --dir option is given and
73538         relevant, look for configure.ac there, not in the current directory.
73539         Also use a simple search for AC_PREREQ, not "autoconf --trace".
73540
73541 2006-07-29  Bruno Haible  <bruno@clisp.org>
73542
73543         * gnulib-tool (SORT): New variable.
73544         (func_usage): Undocument --assume-autoconf option.
73545         Remove --assume-autoconf option handling.
73546         (autoconf_minversion): Determine from the contents of configure.ac.
73547         (func_import): Remove autoconf_minversion handling.
73548         Suggested by Eric Blake.
73549
73550 2006-07-29  Bruno Haible  <bruno@clisp.org>
73551
73552         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
73553
73554 2006-07-29  Bruno Haible  <bruno@clisp.org>
73555
73556         * config/srclist.txt (*setenv.[ch]): Remove rules.
73557
73558 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73559
73560         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
73561
73562 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73563
73564         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
73565         arpa/inet.h.
73566
73567 2006-07-28  Simon Josefsson  <jas@extundo.com>
73568
73569         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
73570         * modules/inet_pton (Depends-on): Likewise.
73571
73572 2006-07-28  Simon Josefsson  <jas@extundo.com>
73573
73574         * m4/netinet_in_h.m4: New file.
73575
73576 2006-07-28  Simon Josefsson  <jas@extundo.com>
73577
73578         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
73579         #include's.
73580
73581 2006-07-28  Simon Josefsson  <jas@extundo.com>
73582
73583         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
73584         #include's.
73585
73586 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
73587
73588         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
73589         setgid on directories only if they set these bits.
73590         * lib/modechange.h: Remove obsolete comment about masks.
73591
73592 2006-07-28  Eric Blake  <ebb9@byu.net>
73593
73594         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
73595         macro expansion.
73596
73597 2006-07-28  Bruno Haible  <bruno@clisp.org>
73598
73599         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
73600
73601 2006-07-28  Bruno Haible  <bruno@clisp.org>
73602
73603         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
73604
73605 2006-07-28  Bruno Haible  <bruno@clisp.org>
73606
73607         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
73608         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
73609         Define fallbacks.
73610         Avoids link error on FreeBSD 4.x.
73611         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73612
73613         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
73614         encoding.
73615         * lib/mbswidth.c (iswcntrl): Likewise.
73616
73617 2006-07-27  Bruno Haible  <bruno@clisp.org>
73618
73619         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
73620         test.
73621
73622 2006-07-27  Bruno Haible  <bruno@clisp.org>
73623
73624         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
73625         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
73626         defined.
73627
73628 2006-07-26  Eric Blake  <ebb9@byu.net>
73629
73630         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
73631
73632 2006-07-26  Eric Blake  <ebb9@byu.net>
73633
73634         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
73635         like mingw that lack mkstemp.
73636         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
73637         avoid compilation warning on mingw.
73638
73639 2006-07-26  Bruno Haible  <bruno@clisp.org>
73640
73641         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
73642         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
73643         INT_FAST*_MIN, INTPTR_MIN.
73644
73645 2006-07-25  Bruno Haible  <bruno@clisp.org>
73646
73647         * modules/version-etc (Depends-on): Add stdarg.
73648
73649 2006-07-25  Bruno Haible  <bruno@clisp.org>
73650
73651         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
73652         complex commands.
73653
73654 2006-07-25  Bruno Haible  <bruno@clisp.org>
73655
73656         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
73657         defined in <stdarg.h> or config.h.
73658
73659 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
73660
73661         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
73662         (gl_STDIO_SAFER): Remove.
73663
73664 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
73665
73666         * MODULES.html.sh (File stream based Input/Output):
73667         Add fopen-safer, tmpfile-safer; remove stdio-safer.
73668         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
73669         * modules/fopen-safer, modules/tmpfile-safer: New files.
73670         * modules/stdio-safer: Remove.
73671
73672 2006-07-24  Bruno Haible  <bruno@clisp.org>
73673
73674         * modules/tmpdir: New file.
73675         * MODULES.html.sh (File system functions): Add it.
73676
73677 2006-07-24  Bruno Haible  <bruno@clisp.org>
73678
73679         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
73680         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
73681
73682 2006-07-24  Bruno Haible  <bruno@clisp.org>
73683
73684         * modules/clean-temp: New file.
73685
73686 2006-07-24  Bruno Haible  <bruno@clisp.org>
73687
73688         * m4/tmpdir.m4: New file, from GNU gettext.
73689
73690 2006-07-24  Bruno Haible  <bruno@clisp.org>
73691
73692         * lib/tmpdir.h: New file, from GNU gettext.
73693         * lib/tmpdir.c: New file, from GNU gettext.
73694
73695 2006-07-24  Bruno Haible  <bruno@clisp.org>
73696
73697         * lib/clean-temp.h: New file, from GNU gettext.
73698         * lib/clean-temp.c: New file, from GNU gettext.
73699
73700 2006-07-23  Eric Blake  <ebb9@byu.net>
73701
73702         * modules/stdio-safer (Files): Add tmpfile-safer.c.
73703         (Depends-on): Add binary-io.
73704
73705 2006-07-23  Eric Blake  <ebb9@byu.net>
73706
73707         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
73708
73709 2006-07-23  Eric Blake  <ebb9@byu.net>
73710
73711         * lib/tmpfile-safer.c: New file.
73712         * lib/stdio-safer.h (fopen_safer): Add prototype.
73713         * lib/stdio--.h (tmpfile): Make safer.
73714
73715 2006-07-23  Bruno Haible  <bruno@clisp.org>
73716
73717         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
73718         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
73719         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
73720         gl_linked_remove_at): Use it.
73721
73722 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73723         and Simon Josefsson <jas@extundo.com>
73724
73725         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
73726
73727         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
73728
73729 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73730
73731         * modules/close-stream: New file.
73732         * modules/closeout (Description): Make it clear that it exits
73733         with a diagnostic on error.
73734         (Depends-on): Add close-stream.  Remove fpending, stdbool.
73735         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
73736
73737 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73738
73739         * m4/close-stream.m4: New file.
73740
73741 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73742
73743         * lib/close-stream.c, lib/close-stream.h: New files.
73744
73745 2006-07-22  Bruno Haible  <bruno@clisp.org>
73746
73747         Merge from GNU gettext 0.15.
73748
73749         2006-05-01  Bruno Haible  <bruno@clisp.org>
73750
73751                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
73752
73753         2006-07-22  Bruno Haible  <bruno@clisp.org>
73754
73755                 * modules/javaversion: New file.
73756                 * MODULES.html.sh (Java): Add javaversion.
73757
73758         2006-03-12  Bruno Haible  <bruno@clisp.org>
73759
73760                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
73761
73762         2005-12-04  Bruno Haible  <bruno@clisp.org>
73763
73764                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
73765                 (untested).
73766
73767         2006-06-21  Bruno Haible  <bruno@clisp.org>
73768
73769                 Avoid warnings from recent versions of mcs.
73770                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
73771                 -o, -L, -r any more. Use options documented since mcs-1.0
73772                 instead. Similarly for -g.
73773
73774         2005-12-04  Bruno Haible  <bruno@clisp.org>
73775
73776                 * build-aux/csharpcomp.sh.in: Suffix for resources is
73777                 .resources, not .resource.
73778
73779         2005-07-09  Bruno Haible  <bruno@clisp.org>
73780
73781                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
73782                 add a .dll suffix.
73783                 Reported by Mark Junker <mjscod@gmx.de>.
73784
73785         2006-07-22  Bruno Haible  <bruno@clisp.org>
73786
73787                 * modules/gettext: Upgrade to gettext-0.15.
73788                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
73789                 m4/visibility.m4.
73790                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
73791
73792 2006-07-22  Bruno Haible  <bruno@clisp.org>
73793
73794         Merge from GNU gettext 0.15.
73795
73796         2006-03-25  Bruno Haible  <bruno@clisp.org>
73797
73798                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
73799
73800         2006-07-21  Bruno Haible  <bruno@clisp.org>
73801
73802                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
73803                 "1.1".
73804
73805         2006-05-09  Bruno Haible  <bruno@clisp.org>
73806
73807                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
73808                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
73809                 for the conftestver execution.
73810
73811         2006-05-01  Bruno Haible  <bruno@clisp.org>
73812
73813                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
73814                 optional target-version argument. Verify that the compiler
73815                 groks source of the specified source-version, or add -source
73816                 option as necessary. Verify that the compiler produces
73817                 bytecode in the specified target-version, or add -target and
73818                 -source options as necessary. Make the result of the test
73819                 available as variable CONF_JAVAC. Also log error output in
73820                 config.log.
73821
73822         2006-03-11  Bruno Haible  <bruno@clisp.org>
73823
73824                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
73825
73826         2006-05-09  Bruno Haible  <bruno@clisp.org>
73827
73828                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
73829                 CLASSPATH_SEPARATOR to a semicolon.
73830
73831         2006-03-12  Bruno Haible  <bruno@clisp.org>
73832
73833                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
73834                 available as variable CONF_JAVA, for subsequent autoconf
73835                 tests. Also log error output in config.log.
73836
73837         2006-07-19  Bruno Haible  <bruno@clisp.org>
73838
73839                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
73840                 that getline works on glibc2 systems. Needed to avoid trouble
73841                 in relocatable.c.
73842                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
73843
73844         2005-12-04  Bruno Haible  <bruno@clisp.org>
73845
73846                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
73847                 launcher (untested).
73848
73849         2005-12-04  Bruno Haible  <bruno@clisp.org>
73850
73851                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
73852
73853         2006-07-22  Bruno Haible  <bruno@clisp.org>
73854
73855                 * gettext.m4: Update from GNU gettext-0.15.
73856                 * nls.m4: Likewise.
73857                 * po.m4: Likewise.
73858                 * inttypes-pri.m4: Likewise.
73859                 * inttypes-h.m4: Renamed from inttypes.m4.
73860                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
73861
73862 2006-07-22  Bruno Haible  <bruno@clisp.org>
73863
73864         Merge from GNU gettext 0.15.
73865
73866         2005-07-05  Bruno Haible  <bruno@clisp.org>
73867
73868                 * printf-args.c (printf_fetchargs): Work around broken
73869                 definition of wint_t on mingw.
73870
73871         2005-02-12  Bruno Haible  <bruno@clisp.org>
73872
73873                 * xallocsa.h: Add extern "C" for C++.
73874
73875         2006-05-17  Bruno Haible  <bruno@clisp.org>
73876
73877                 Cygwin portability.
73878                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
73879
73880         2006-04-30  Bruno Haible  <bruno@clisp.org>
73881
73882                 * progreloc.c: Include <mach-o/dyld.h> if available.
73883                 (find_executable): Use _NSGetExecutablePath when possible.
73884
73885         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73886
73887                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
73888                 function.
73889
73890         2005-12-29  Bruno Haible  <bruno@clisp.org>
73891
73892                 * progreloc.c (set_program_name_and_installdir): Fix
73893                 compilation error.
73894
73895         2005-12-04  Bruno Haible  <bruno@clisp.org>
73896
73897                 Cygwin portability.
73898                 * progreloc.c: Include <windows.h> also on Cygwin.
73899                 (find_executable): Add support for Cygwin.
73900                 (set_program_name_and_installdir): Handle also platforms with
73901                 nonempty EXEEXT.
73902
73903         2006-07-11  Bruno Haible  <bruno@clisp.org>
73904
73905                 * javacomp.c: Fix a comment.
73906                 Reported by Jim Meyering.
73907
73908         2006-04-30  Bruno Haible  <bruno@clisp.org>
73909
73910                 * javacomp.h (compile_java_class): Add source_version,
73911                 target_version arguments.
73912                 * javacomp.c: Rewritten to choose only a compiler that
73913                 respects the specified source_version and target_version.
73914
73915         2006-06-27  Bruno Haible  <bruno@clisp.org>
73916
73917                 Assume correct S_ISDIR macro.
73918                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
73919
73920         2006-07-22  Bruno Haible  <bruno@clisp.org>
73921
73922                 * javaversion.h: New file, from GNU gettext.
73923                 * javaversion.c: New file, from GNU gettext.
73924                 * javaversion.java: New file, from GNU gettext.
73925                 * javaversion.class: New file, from GNU gettext.
73926
73927         2006-05-17  Bruno Haible  <bruno@clisp.org>
73928
73929                 Cygwin portability.
73930                 * javaexec.c (execute_java_class): Test for jview program
73931                 also on Cygwin.
73932
73933         2006-04-09  Bruno Haible  <bruno@clisp.org>
73934
73935                 * fatal-signal.c: Don't include string.h.
73936                 (at_fatal_signal): Use a copying loop instead of memcpy.
73937
73938         2005-12-04  Bruno Haible  <bruno@clisp.org>
73939
73940                 * csharpexec.c: Add support for 'clix' launcher (untested).
73941                 (execute_csharp_using_sscli): New function.
73942                 (execute_csharp_program): Call it.
73943
73944         2006-06-21  Bruno Haible  <bruno@clisp.org>
73945
73946                 Avoid warnings from recent versions of mcs.
73947                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
73948                 -o, -L, -r any more. Use options documented since mcs-1.0
73949                 instead. Similarly for -g.
73950
73951         2005-07-09  Bruno Haible  <bruno@clisp.org>
73952
73953                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
73954                 add a .dll suffix.
73955                 Reported by Mark Junker <mjscod@gmx.de>.
73956
73957         2006-06-17  Bruno Haible  <bruno@clisp.org>
73958
73959                 * config.charset: Update for NetBSD 3.0.
73960
73961         2006-05-17  Bruno Haible  <bruno@clisp.org>
73962
73963                 Cygwin portability.
73964                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
73965
73966         2006-05-16  Bruno Haible  <bruno@clisp.org>
73967
73968                 * localcharset.c [CYGWIN]: Include <windows.h>.
73969                 (get_charset_aliases): For Cygwin, return the same CPxxx
73970                 aliases list as under WIN32.
73971                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
73972                 the environment variables. Fall back to GetACP().
73973
73974         2006-04-05  Bruno Haible  <bruno@clisp.org>
73975
73976                 * config.charset: Update Juan Manuel Guerrero's address.
73977
73978         2005-02-12  Bruno Haible  <bruno@clisp.org>
73979
73980                 * allocsa.h: Add extern "C" for C++.
73981
73982         2005-02-10  Bruno Haible  <bruno@clisp.org>
73983
73984                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
73985                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
73986
73987         2006-07-22  Bruno Haible  <bruno@clisp.org>
73988
73989                 * gettext.h: Update to GNU gettext-0.15.
73990
73991 2006-07-22  Bruno Haible  <bruno@clisp.org>
73992
73993         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
73994         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
73995         lib-prefix.m4, longdouble.m4, ssize_t.m4.
73996
73997 2006-07-21  Eric Blake  <ebb9@byu.net>
73998
73999         * modules/stdlib-safer: New file.
74000         * MODULES.html.sh (File stream based Input/Output): Add
74001         stdlib-safer.
74002
74003 2006-07-21  Eric Blake  <ebb9@byu.net>
74004
74005         * lib/stdlib-safer.h: New file from coreutils, required by
74006         stdlib--.h.
74007
74008 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74009
74010         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74011
74012 2006-07-20  Bruno Haible  <bruno@clisp.org>
74013
74014         * gnulib-tool: Recognize new option --assume-autoconf.
74015         (autoconf_minversion): New variable.
74016         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74017
74018 2006-07-20  Bruno Haible  <bruno@clisp.org>
74019
74020         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74021
74022 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74023
74024         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74025         Reindent and repaginate.
74026
74027 2006-07-19  Derek Price  <derek@ximbiot.com>
74028
74029         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74030         Correct grammar.
74031
74032 2006-07-17  Bruno Haible  <bruno@clisp.org>
74033
74034         * modules/list: New file.
74035         * modules/array-list: New file.
74036         * modules/carray-list, modules/carray-list-tests: New files.
74037         * modules/linked-list, modules/linked-list-tests: New files.
74038         * modules/avltree-list, modules/avltree-list-tests: New files.
74039         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74040         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74041         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74042         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74043         * modules/oset: New file.
74044         * modules/array-oset: New file.
74045         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74046         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74047         * tests/test-carray_list.c: New file.
74048         * tests/test-linked_list.c: New file.
74049         * tests/test-avltree_list.c: New file.
74050         * tests/test-rbtree_list.c: New file.
74051         * tests/test-linkedhash_list.c: New file.
74052         * tests/test-avltreehash_list.c: New file.
74053         * tests/test-rbtreehash_list.c: New file.
74054         * tests/test-avltree_oset.c: New file.
74055         * tests/test-rbtree_oset.c: New file.
74056         * MODULES.html.sh (Container data structures): New section.
74057
74058 2006-07-17  Bruno Haible  <bruno@clisp.org>
74059
74060         * m4/gl_list.m4: New file.
74061
74062 2006-07-17  Bruno Haible  <bruno@clisp.org>
74063
74064         * lib/gl_list.h: New file.
74065         * lib/gl_list.c: New file.
74066         * lib/gl_array_list.h: New file.
74067         * lib/gl_array_list.c: New file.
74068         * lib/gl_carray_list.h: New file.
74069         * lib/gl_carray_list.c: New file.
74070         * lib/gl_linked_list.h: New file.
74071         * lib/gl_linked_list.c: New file.
74072         * lib/gl_anylinked_list1.h: New file.
74073         * lib/gl_anylinked_list2.h: New file.
74074         * lib/gl_avltree_list.h: New file.
74075         * lib/gl_avltree_list.c: New file.
74076         * lib/gl_anyavltree_list1.h: New file.
74077         * lib/gl_anyavltree_list2.h: New file.
74078         * lib/gl_rbtree_list.h: New file.
74079         * lib/gl_rbtree_list.c: New file.
74080         * lib/gl_anyrbtree_list1.h: New file.
74081         * lib/gl_anyrbtree_list2.h: New file.
74082         * lib/gl_anytree_list1.h: New file.
74083         * lib/gl_anytree_list2.h: New file.
74084         * lib/gl_linkedhash_list.h: New file.
74085         * lib/gl_linkedhash_list.c: New file.
74086         * lib/gl_anyhash_list1.h: New file.
74087         * lib/gl_anyhash_list2.h: New file.
74088         * lib/gl_avltreehash_list.h: New file.
74089         * lib/gl_avltreehash_list.c: New file.
74090         * lib/gl_rbtreehash_list.h: New file.
74091         * lib/gl_rbtreehash_list.c: New file.
74092         * lib/gl_anytreehash_list1.h: New file.
74093         * lib/gl_anytreehash_list2.h: New file.
74094
74095         * lib/gl_oset.h: New file.
74096         * lib/gl_oset.c: New file.
74097         * lib/gl_array_oset.h: New file.
74098         * lib/gl_array_oset.c: New file.
74099         * lib/gl_avltree_oset.h: New file.
74100         * lib/gl_avltree_oset.c: New file.
74101         * lib/gl_rbtree_oset.h: New file.
74102         * lib/gl_rbtree_oset.c: New file.
74103         * lib/gl_anytree_oset.h: New file.
74104
74105 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74106
74107         * m4/mkancesdirs.m4: New file.
74108         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74109         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74110         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74111         it.
74112
74113 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74114
74115         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74116         * lib/mkancesdirs.h: New files.
74117         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74118         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74119         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74120         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74121         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74122         callers changed.  Revamp internals significantly, by not
74123         attempting to create directories that are temporarily more
74124         permissive than the final results.  Do not attempt to use
74125         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74126         This removes some race conditions, fixes some bugs, and simplifies
74127         things.  Use new dirchownmod function to do owner and mode changes.
74128         * lib/mkdir-p.h: Likewise.
74129         * lib/modechange.c (octal_to_mode): New function.
74130         (struct mode_change): New member mentioned.
74131         (make_node_op_equals): New arg mentioned.  All callers changed.
74132         (mode_compile): Keep track of which mode bits the user has explicitly
74133         mentioned.
74134         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74135         New arg PMODE_BITS, to keep track of which mode bits the user
74136         mentioned; it treats S_ISUID and S_ISGID speciall.
74137         All callers changed.
74138         * lib/modechange.h: Likewise.
74139
74140 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74141
74142         * MODULES.html.sh: Add mkancestors.
74143         * modules/mkancesdirs: New module.
74144         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74145         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74146         The chdir-safer and afs files are now orphans; I'll remove them
74147         unless someone speaks up.
74148         Add lib/dirchownmod.c, lib/dirchownmod.h.
74149         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74150         Add lchown, mkancesdirs.
74151         (Maintainer): Add self.
74152
74153 2006-07-15  Karl Berry  <karl@gnu.org>
74154
74155         * gnulib-tool: help message wording/arrangement.
74156
74157 2006-07-14  Simon Josefsson  <jas@extundo.com>
74158
74159         * doc/gnulib.texi (Libtool and Windows): New section.
74160
74161 2006-07-12  Simon Josefsson  <jas@extundo.com>
74162
74163         * modules/gendocs (License): Fix license, approved by Karl.
74164
74165 2006-07-12  Eric Blake  <ebb9@byu.net>
74166
74167         * MODULES.html.sh: Add gendocs.
74168
74169 2006-07-11  Eric Blake  <ebb9@byu.net>
74170
74171         * modules/fdl: New module, to install doc/fdl.texi.
74172         * MODULES.html.sh: Add new section for documentation modules.
74173         * gnulib-tool: Avoid space-tab.
74174         (--doc-base): New option, to manage files from doc.
74175
74176 2006-07-11  Eric Blake  <ebb9@byu.net>
74177
74178         * m4/absolute-header.m4: Fix comments to match recent change.
74179
74180 2006-07-11  Eric Blake  <ebb9@byu.net>
74181
74182         * gnulib-tool: List --doc-base before --tests-base.
74183
74184 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74185
74186         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74187
74188 2006-07-11  Bruno Haible  <bruno@clisp.org>
74189
74190         * README: Mention where to put documentation.
74191
74192 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74193
74194         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
74195
74196 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74197
74198         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
74199         to stdint.m4.
74200
74201 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74202
74203         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
74204         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
74205         "no/such/file/stdint.h" when there is no such file, so that
74206         the resulting C code can be parsed by dodgy compilers.
74207         Problems reported by Bob Proulx.
74208
74209 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74210
74211         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
74212         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74213         macros into the GNU _D_EXACT_NAMLEN.
74214         * lib/savedir.c:  Likewise.
74215         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
74216
74217 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74218         and Paul Eggert  <eggert@cs.ucla.edu>
74219
74220         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
74221         * m4/savedir.m4:
74222         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74223         macros into the GNU _D_EXACT_NAMLEN.
74224
74225 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74226
74227         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
74228         around the absolute name, to work around a problem with the HP-UX
74229         11.23 native C compiler, reported by Bob Proulx.
74230
74231 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74232
74233         * doc/maintain.texi, make-stds.texi: Sync from
74234         <http://savannah.gnu.org/projects/gnustandards>.
74235
74236 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74237
74238         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
74239
74240 2006-07-09  Jim Meyering  <jim@meyering.net>
74241
74242         * m4/glob.m4: Remove a doubled word in a comment.
74243
74244 2006-07-09  Jim Meyering  <jim@meyering.net>
74245
74246         * lib/argp-pv.c: Remove a doubled word in a comment.
74247         * lib/check-version.c (check_version): Likewise.
74248         * lib/javacomp.c (compile_java_class): Likewise.
74249
74250 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74251
74252         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
74253         for the benefit of people using Autoconf 2.60.  If you want to
74254         support older Autoconf versions you can copy m4/onceonly_2_57.m4
74255         (or m4/onceonly.m4, if pre-2.57) manually.
74256
74257 2006-07-08  Jim Meyering  <jim@meyering.net>
74258
74259         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
74260         comment.
74261         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
74262         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
74263         comment.
74264
74265 2006-07-08  Jim Meyering  <jim@meyering.net>
74266
74267         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
74268
74269 2006-07-07  Simon Josefsson  <jas@extundo.com>
74270
74271         * tests/test-crc.c: Change expected crc value, the test vector
74272         were probably computed using the old broken crc.c?
74273
74274 2006-07-06  Simon Josefsson  <jas@extundo.com>
74275
74276         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
74277         now the canonical place for the M4 file).
74278
74279         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
74280         from the sys_socket dependency now.
74281
74282         * modules/inet_pton (Files): Ditto.
74283
74284         * modules/inet_ntop (Files): Ditto.
74285
74286 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74287
74288         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
74289         not gl_PREREQ_GETUSERSHELL.
74290
74291 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74292
74293         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
74294         with only one argument, for Autoconf 2.60.
74295         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
74296         expand to nothing, so add a shell command to avoid syntax error.
74297         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74298
74299 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74300
74301         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
74302
74303 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74304
74305         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
74306         no longer needed.  Check for isblank decl.
74307         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
74308         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
74309         of existence.
74310
74311 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74312
74313         * lib/getloadavg.c: Use __VMS, not VMS.
74314         * lib/getopt.c: Likewise.
74315         * lib/getpagesize.h: Likewise.
74316         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
74317         and probably does not work.
74318
74319 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74320
74321         * lib/.cppi-disable: Add wcwidth.
74322         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
74323         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
74324         (ISGRAPH): Remove.  All uses changed to isgraph.
74325         (FOLD) [!defined _LIBC]: Remove special case.
74326         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
74327         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
74328         HAVE_ISBLANK.
74329         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
74330         case.
74331
74332 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74333
74334         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
74335         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
74336         brackets.  Other minor changes to suppress some compiler
74337         warnings.
74338
74339 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74340         and Paul Eggert  <eggert@cs.ucla.edu>
74341
74342         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
74343         of invoking obsolescent AC_HEADER_DIRENT macro.
74344         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
74345         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
74346         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
74347         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74348         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
74349         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74350         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
74351         * m4/readdir.m4: Remove; no longer needed.
74352
74353 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74354         and Paul Eggert  <eggert@cs.ucla.edu>
74355
74356         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
74357         Don't worry about this obsolete case any more.
74358         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
74359         directories.
74360         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
74361         worry about this obsolete case any more.
74362         * lib/fts.c: Likewise.
74363         * lib/getcwd.c: Likewise.
74364         * lib/glob.h: Likewise.
74365         * lib/savedir.c: Likewise.
74366
74367 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74368
74369         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
74370         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
74371         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
74372         needed.
74373         All uses removed.
74374         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74375         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74376         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
74377         needed.
74378         * m4/getdate.m4 (gl_GETDATE): Likewise.
74379         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74380         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74381         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74382         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74383         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74384         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74385         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
74386         needed.
74387
74388 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74389
74390         * lib/memcasecmp.c: Include <limits.h>.
74391         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
74392         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
74393         Don't assume isdigit succeeds only on '0' through '9'.
74394
74395 2006-07-05  Eric Blake  <ebb9@byu.net>
74396
74397         * modules/getaddrinfo (Depends-on): Add snprintf.
74398
74399 2006-07-05  Eric Blake  <ebb9@byu.net>
74400
74401         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
74402         to avoid 'header present but could not be compiled' on cygwin.
74403
74404 2006-07-05  Eric Blake  <ebb9@byu.net>
74405
74406         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
74407         missing from netdb.h.
74408         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
74409
74410 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74411
74412         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
74413         no longer needed.
74414         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
74415         * m4/getdate.m4 (gl_GETDATE): Likewise.
74416         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74417         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74418         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74419         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74420         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74421
74422 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74423
74424         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
74425         All uses of is_space replaced by isspace.
74426         * lib/exit.h: Don't talk about STDC_HEADERS.
74427         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
74428         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
74429         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
74430         replaced by isprint etc.
74431         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
74432         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74433         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
74434         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
74435         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
74436         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74437
74438 2006-07-05  Bruno Haible  <bruno@clisp.org>
74439
74440         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
74441         the function exists, before testing against AIX.
74442         Reported by Martin Lambers <marlam@marlam.de>.
74443
74444 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74445
74446         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
74447         From Mark D. Baushke.
74448
74449 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74450
74451         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
74452         to the absolute name, not just one, to bypass Sun C 5.8's
74453         "warning: #include of /usr/include/... may be non-portable".
74454
74455 2006-07-04  Eric Blake  <ebb9@byu.net>
74456
74457         * modules/dirname-tests: New test module.
74458         * tests/test-dirname.c: New file, replacing dirname.c
74459         TEST_DIRNAME section that was recently deleted.
74460
74461 2006-07-04  Bruno Haible  <bruno@clisp.org>
74462
74463         Assume ANSI C header files and <ctype.h> functions.
74464         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
74465         (mbsnwidth): Use isprint, iscntrl instead.
74466
74467 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74468
74469         Merge from coreutils.
74470         * MODULES.html.sh: Add xstrtold.
74471         * modules/xstrtold: New file.
74472         * modules/cycle-check (Files): Add lib/same-inode.h.
74473         * modules/dirname (Files): Add m4/double-slash-root.m4.
74474         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
74475         * modules/mkdir-p (Files): Add lib/same-inode.h.
74476         * modules/same (Files): Add lib/same-inode.h.
74477
74478 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74479
74480         * m4/absolute-header.m4: Renamed from full-header-path.m4.
74481         This is to keep the terminology clean; POSIX talks about
74482         "absolute pathnames", not "full pathnames", but the GNU
74483         Coding Standards say to use "path" for something else;
74484         so use "absolute" to keep both sides happy.
74485         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
74486         Set gl_absolute_header, not gl_full_header_path.
74487         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
74488         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
74489         All uses changed.
74490
74491         Merge from coreutils.
74492
74493         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74494
74495         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
74496         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
74497         want to require the building of c-strtod.o.
74498         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
74499         needs -lm directly.
74500         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
74501
74502         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74503
74504         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
74505         --as-needed option if available.  Problem reported by Albert Chin in
74506         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
74507         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
74508         cc merely issues a bunch of annoying warnings for --as-needed
74509         (this problem was reported by Bob Proulx).  Also, try linking with
74510         -lm to detect a bug in binutils 2.16 (this problem was reported
74511         by Ralf Wildenhues).
74512
74513         2006-06-18  Jim Meyering  <jim@meyering.net>
74514
74515         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
74516         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
74517         macro.
74518         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
74519         also check for glibc-2.4's abort-inducing bug.
74520
74521         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
74522         Low-probability clean-up should be to use rmdir to get rid of
74523         the just-created directory, not unlink.
74524
74525         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
74526         configure fail, and request a bug report to inform us about it.
74527         Add a comment that, barring reports to the contrary, in 2007 we'll
74528         assume ftruncate is universally available.
74529
74530         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74531
74532         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
74533
74534         2006-03-12  Jim Meyering  <jim@meyering.net>
74535
74536         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
74537         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
74538         * m4/same.m4 (gl_SAME): Likewise.
74539         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
74540
74541         2006-03-11  Eric Blake  <ebb9@byu.net>
74542
74543         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
74544         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
74545         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
74546         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
74547
74548 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74549
74550         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
74551         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
74552         reported by Mark D. Baushke, one in
74553         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
74554
74555         Merge from coreutils.
74556
74557         * lib/.cppi-disable: Add stdint_.h.
74558         * lib/.cvsignore: Add stdint.h.
74559
74560         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74561
74562         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
74563         both double and long double versions.
74564         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
74565         * lib/xstrtold.c: New file.
74566         * lib/xstrtod.h (xstrtold): New decl.
74567
74568         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
74569
74570         * lib/filemode.c (setst): Remove.
74571         (strmode): Rewrite to avoid setst.  This makes the code shorter,
74572         (arguably) clearer, and the generated code is a bit smaller on my
74573         Debian GNU/Linux stable x86 host.
74574
74575         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74576
74577         * lib/filemode.c: Include "filemode.h" first, to test the interface.
74578         Assume that filemode.h includes sys/types.h and sys/stat.h.
74579         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
74580         (ftypelet): Reorder to put common cases first, for efficiency.
74581         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
74582         to do 'M'.
74583         (strmode): Renamed from mode_string, and now stores 12 bytes instead
74584         of 10, for compatibility with FreeBSD.  All callers changed.
74585         (filemodestring): Now stores 12 bytes instead of 10, and sets file
74586         types that can't be deduced solely from st_mode.  First arg is now a
74587         const pointer.
74588         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
74589         (strmode): Renamed from mode_string.
74590         (filemodestring): New decl.
74591         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
74592         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
74593         needed.
74594         (S_ISPORT, S_ISWHT): New macros, if not already defined.
74595
74596         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
74597
74598         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
74599         fsusage.h now does that.  Include fsusage.h first, to test interface.
74600         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
74601         at most one method (the old code could have generated decls that
74602         didn't conform to C89, not that this was ever exercised).
74603         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
74604
74605         2006-03-19  Jim Meyering  <jim@meyering.net>
74606
74607         Work even in a chroot where d_ino values for entries in "/"
74608         don't match the stat.st_ino values for the same names.
74609         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
74610         number, iterate through all entries again, using lstat instead.
74611         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
74612         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
74613
74614         * lib/getcwd.c (__getcwd): Clarify a comment.
74615         Use memcpy in place of a call to strcpy.
74616
74617         2006-03-12  Jim Meyering  <jim@meyering.net>
74618
74619         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
74620         matches that of the current directory (which we're about to chdir ".."
74621         out of), then save the dev-ino of the parent, instead.
74622
74623         * lib/same-inode.h (SAME_INODE): New file/macro.
74624         * lib/chdir-safer.c (SAME_INODE): Remove definition.
74625         Include "same-inode.h", instead.
74626         * lib/same.c: Likewise.
74627         * lib/cycle-check.h: Include "same-inode.h".
74628         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
74629         * lib/cycle-check.c (SAME_INODE): Remove definition.
74630         * lib/root-dev-ino.h: Include "same-inode.h".
74631
74632         2006-03-11  Eric Blake  <ebb9@byu.net>
74633
74634         * lib/same.c (same_name): s/base_name/last_component/
74635         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
74636         * lib/filenamecat.c (file_name_concat): Likewise.
74637
74638         2006-03-11  Eric Blake  <ebb9@byu.net>,
74639                     Paul Eggert  <eggert@cs.ucla.edu>
74640
74641         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
74642         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
74643         drive prefix.
74644         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
74645         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
74646         (last_component): New method.
74647         * lib/dirname.c (dir_len): Determine when drive letters need a
74648         subsequent slash.  Preserve // when it is special.
74649         (dir_name): Don't append dot when drive letter is absolute.
74650         [TEST_DIRNAME]: Move into a full-blown gnulib test.
74651         * lib/basename.c (base_name): New semantics - malloc the result.
74652         Preserve // when it is special.  Preserve relative files that look
74653         like drive letters.
74654         (base_len): Preserve // when it is special.
74655         (last_component): New method, similar to old base_name semantics.
74656         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
74657         base_name.  Strip redundant slashes from ///.
74658
74659 2006-07-03  Jim Meyering  <jim@meyering.net>
74660
74661         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
74662         macro is used before the first cycle_check call.
74663
74664 2006-07-03  Eric Blake  <ebb9@byu.net>
74665
74666         * modules/dirname (Depends-on): Add xstrndup.
74667
74668 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
74669
74670         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
74671         test cases, so that config.log is a bit easier to follow.
74672
74673 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
74674
74675         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
74676         both are 64 bits, since this seems to be the tradition, and this
74677         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
74678         we ever run into a host that prefers long long to long in this
74679         case, we'll need another configure-time test.  Problem reported by
74680         Jim Meyering.
74681
74682 2006-07-02  Eric Blake  <ebb9@byu.net>
74683
74684         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
74685
74686 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74687
74688         * modules/inttypes (Depends-on): No longer depends on stdint.
74689         * modules/stdint (Description): Say more about assumptions.
74690         Say that the fast types might differ.  Say macros are used.
74691         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
74692         (Makefile.am): Revise list of substituted symbols to match
74693         new stdint.m4.
74694         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
74695         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
74696         * tests/test-stdint.c (verify_same_types)
74697         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
74698         the code conforms to C99/C89.
74699         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
74700         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
74701
74702 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74703
74704         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
74705         but fix a bug, by requiring at least 64 bits.
74706         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
74707         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
74708         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
74709         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74710
74711         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
74712         changes.  Make 2.59 a prerequisite.  Check and substitute for
74713         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
74714         inttypes.h.  Do not use special include files; just use the
74715         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
74716         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
74717         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
74718         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
74719         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
74720         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
74721         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
74722         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
74723         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
74724         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
74725         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
74726         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
74727         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
74728         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
74729         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
74730         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
74731         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
74732         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
74733         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
74734         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
74735         WINT_MAX.  Check for C99 conformance more strictly, by detecting
74736         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
74737         not check for things that C99 does not require, e.g., int8_t.  If
74738         a test isn't needed unless <stdint.h> isn't working, and is
74739         unlikely to be needed for any other reason, then don't do it
74740         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
74741         size_t, since we assume C89 freestanding at least.  Do not check
74742         for sig_atomic_t, wchar_t, or wint_t, since the code now does
74743         the right thing even if the types are not defined.  Instead use:
74744         (gl_STDINT_TYPE_PROPERTIES): New macro.
74745         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
74746         testing whether <sys/types.h> clashes, as Autoconf does this for
74747         us now.  All uses removed.
74748         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
74749         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
74750         (gl_CHECK_TYPE_SAME):
74751         Remove; no longer needed.
74752         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
74753         exists, since we'll return 0 anyway in that case.
74754         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
74755
74756 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74757
74758         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
74759         possible collision with system files.
74760         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
74761         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
74762         WCHAR_MIN and WCHAR_MAX in this case.
74763         (<stddef.h>): Do not include; no longer needed.
74764         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
74765         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
74766         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
74767         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
74768         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
74769         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
74770         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
74771         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
74772         !defined(__c99))]: Include in this case too, since it's harmless
74773         now.
74774         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
74775         dangerous to do so.
74776         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
74777         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
74778         (_STDINT_MIN, _STDINT_MAX): New macros.
74779         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
74780         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
74781         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
74782         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
74783         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
74784         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
74785         macros, not typedefs; this simplifies things quite a bit.
74786         Use long int for all types narrower than int64_t.
74787         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
74788         Define in terms of long long int or int64_t or long int,
74789         not int64_t or int32_t.  This saves some compile-time testing.
74790         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
74791         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
74792         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
74793         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
74794         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
74795         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
74796         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
74797         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
74798         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
74799         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
74800         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74801         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74802         undef any previous version and define our own version, for
74803         simplicity and consistency with the new macros for types.
74804         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74805         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74806         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
74807         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
74808         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
74809         @WINT_T_SUFFIX@ to keep things simple here.
74810         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
74811         Simplify by assuming typical 8/16/32/64 host, since we're
74812         already doing that elsewhere anyway.
74813         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
74814         and assume long long int is 64 bits if available.  This
74815         speeds up 'configure'.
74816
74817 2006-07-01  Eric Blake  <ebb9@byu.net>
74818
74819         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
74820         Reported by Andreas Buening.
74821
74822 2006-07-01  Eric Blake  <ebb9@byu.net>
74823
74824         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
74825
74826 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74827
74828         * lib/getaddrinfo.c: fixed typo
74829
74830 2006-06-29  Jim Meyering  <jim@meyering.net>
74831
74832         * modules/strftime (Maintainer): Add my name, since with the
74833         FPRINTFTIME changes strftime.c has forked from glibc.
74834
74835 2006-06-29  Eric Blake  <ebb9@byu.net>
74836
74837         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
74838
74839 2006-06-29  Eric Blake  <ebb9@byu.net>
74840
74841         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
74842
74843 2006-06-29  Eric Blake  <ebb9@byu.net>
74844
74845         * lib/stat_.h: New file.
74846
74847 2006-06-29  Eric Blake  <ebb9@byu.net>
74848
74849         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
74850         unused static function.
74851
74852 2006-06-29  Eric Blake  <ebb9@byu.net>
74853
74854         * doc/functions.texi (Function Portability): Document missing lstat
74855         on mingw.
74856
74857 2006-06-29  Eric Blake  <ebb9@byu.net>
74858
74859         * MODULES.html.sh: Add sys_stat.
74860         * modules/sys_stat: New module.
74861         * modules/mkstemp (Depends-on): Add sys_stat.
74862
74863 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74864
74865         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
74866
74867 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74868
74869         * m4/c-bs-a.m4: Removed.
74870
74871 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74872
74873         * lib/strftime.c: Assume strftime() exists.
74874
74875 2006-06-29  Derek Price  <derek@ximbiot.com>
74876
74877         * modules/c-bs-a: Removed - \a is C89.
74878         * MODULES.html.sh: Remove c-bs-a.
74879
74880 2006-06-29  Bruno Haible  <bruno@clisp.org>
74881
74882         * modules/wcwidth (License): Change to LGPL.
74883
74884 2006-06-28  Simon Josefsson  <jas@extundo.com>
74885
74886         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
74887         on _WIN32.
74888
74889         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
74890         getnameinfo.
74891
74892 2006-06-28  Simon Josefsson  <jas@extundo.com>
74893
74894         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
74895
74896 2006-06-28  Simon Josefsson  <jas@extundo.com>
74897
74898         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
74899         functions there.  It will succeed on Windows XP, but on Windows
74900         2000 and (presumably) earlier, it will fail, and use the internal
74901         re-implementation.
74902         (use_win32_p): New function.
74903         (getaddrinfo): Use strtoul on servname, to support numeric ports.
74904         Support AI_NUMERICSERV to disable getservbyname.
74905         (getnameinfo): New function, only supports
74906         NI_NUMERICHOST|NI_NUMERICSERV for now.
74907
74908         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
74909         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
74910         getnameinfo.
74911
74912 2006-06-28  Eric Blake  <ebb9@byu.net>
74913
74914         * modules/wcwidth: New file.
74915         * modules/mbchar (Depends-on): Add wcwidth.
74916         * modules/mbswidth (Depends-on): Add wcwidth.
74917         * MODULES.html.sh: Add wcwidth.
74918
74919 2006-06-28  Eric Blake  <ebb9@byu.net>
74920
74921         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
74922         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
74923
74924 2006-06-28  Eric Blake  <ebb9@byu.net>
74925
74926         * lib/xvasprintf.h: Fix comments.
74927
74928 2006-06-28  Eric Blake  <ebb9@byu.net>
74929
74930         * lib/mbchar.h (wcwidth): Include wcwidth.h.
74931         * lib/mbswidth.c (wcwidth): Move from here...
74932         * lib/wcwidth.h: ...to this new file.
74933
74934 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74935
74936         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
74937
74938         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
74939         it's obsolete.
74940         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
74941
74942 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74943
74944         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
74945         Autoconf 2.60 says this stuff was obsolete.
74946
74947 2006-06-28  Bruno Haible  <bruno@clisp.org>
74948
74949         * modules/wcwidth (Files): Add m4/wchar_t.m4.
74950
74951 2006-06-28  Bruno Haible  <bruno@clisp.org>
74952
74953         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
74954         gt_TYPE_WCHAR_T.
74955
74956 2006-06-28  Bruno Haible  <bruno@clisp.org>
74957
74958         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
74959         declaration for wcwidth.
74960         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
74961
74962 2006-06-28  Bruno Haible  <bruno@clisp.org>
74963
74964         * lib/mkdtemp.c [MINGW]: Include <io.h>.
74965         (mkdir): Define using _mkdir.
74966
74967 2006-06-28  Bruno Haible  <bruno@clisp.org>
74968
74969         * lib/getaddrinfo.h: Fix POSIX URL.
74970         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
74971         _WIN32.
74972         (use_win32_p): Make static.
74973         (getaddrinfo): Reject service name if it is empty or does not consist
74974         solely of decimal digits, or if its value is > 65535.
74975         (getnameinfo): Remove useless casts.
74976
74977 2006-06-27  Simon Josefsson  <jas@extundo.com>
74978
74979         * modules/sys_select: New file, suggested by Bruno Haible, Paul
74980         Eggert and Martin Lambers.
74981
74982 2006-06-27  Simon Josefsson  <jas@extundo.com>
74983
74984         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
74985         Eggert and Martin Lambers.
74986
74987 2006-06-27  Bruno Haible  <bruno@clisp.org>
74988
74989         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
74990         result to 0, not to empty.
74991         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
74992
74993 2006-06-27  Bruno Haible  <bruno@clisp.org>
74994
74995         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
74996
74997 2006-06-26  Simon Josefsson  <jas@extundo.com>
74998
74999         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75000         present.
75001
75002 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75003
75004         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75005         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75006         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75007
75008 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75009
75010         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75011
75012 2006-06-26  Bruno Haible  <bruno@clisp.org>
75013
75014         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75015
75016 2006-06-26  Bruno Haible  <bruno@clisp.org>
75017
75018         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75019
75020 2006-06-26  Bruno Haible  <bruno@clisp.org>
75021
75022         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75023         SGI C compiler in pre-C99 mode.
75024         Suggested by Mark D. Baushke and Larry Jones.
75025
75026 2006-06-26  Bruno Haible  <bruno@clisp.org>
75027
75028         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75029         WCHAR_MAX.
75030         Reported by Mark D. Baushke and Larry Jones.
75031
75032 2006-06-26  Bruno Haible  <bruno@clisp.org>
75033
75034         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75035         in pre-C99 mode.
75036         Suggested by Mark D. Baushke and Larry Jones.
75037
75038 2006-06-23  Simon Josefsson  <jas@extundo.com>
75039             Bruno Haible  <bruno@clisp.org>
75040
75041         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75042         Emit mostlyclean-local rule.
75043         (func_emit_tests_Makefile_am): Likewise.
75044         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75045
75046 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75047
75048         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75049
75050 2006-06-23  Bruno Haible  <bruno@clisp.org>
75051
75052         * tests/test-stdint.c: Update to match ISO C 99 Technical
75053         Corrigendum 1.
75054
75055 2006-06-23  Bruno Haible  <bruno@clisp.org>
75056
75057         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75058
75059 2006-06-23  Bruno Haible  <bruno@clisp.org>
75060
75061         * lib/stdint_.h: Treat IRIX like OpenBSD.
75062
75063 2006-06-23  Bruno Haible  <bruno@clisp.org>
75064
75065         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75066         ISO C 99 Technical Corrigendum 1.
75067
75068 2006-06-22  Simon Josefsson  <jas@extundo.com>
75069
75070         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75071         MinGW.
75072
75073 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75074
75075         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75076         needed.  Some compiler complained about some of them.  Problem reported
75077         by Larry Jones in
75078         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75079
75080 2006-06-21  Simon Josefsson  <jas@extundo.com>
75081
75082         * tests/test-getaddrinfo.c: New file.
75083
75084         * modules/getaddrinfo-tests: New file.
75085
75086         * MODULES.html.sh: Add inet_pton.
75087
75088         * modules/inet_pton: New file.
75089
75090 2006-06-21  Simon Josefsson  <jas@extundo.com>
75091
75092         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75093         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75094         of using the (limited) gnulib implementation on Windows XP.
75095
75096         * m4/inet_pton.m4: New file.
75097
75098 2006-06-21  Simon Josefsson  <jas@extundo.com>
75099
75100         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75101         variable.
75102
75103         * lib/socket_.h: Don't define WINVER.
75104
75105         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75106         slightly modified to work in gnulib.
75107
75108 2006-06-21  Simon Josefsson  <jas@extundo.com>
75109
75110         * doc/gnulib.texi (Windows sockets): Add.
75111
75112 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75113
75114         * lib/read-file.c (fread_file): Start with buffer allocation of
75115         0 bytes rather than 1 byte; this simplifies the code.
75116         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75117         code to free buffer and save/restore errno.
75118         (internal_read_file): Remove unused local.
75119
75120 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75121
75122         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75123         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75124         Problem reported by Denis Excoffier in
75125         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75126
75127 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75128
75129         * modules/sys_socket, modules/socklen: Include sys/types since
75130         FreeBSD 4.x's sys/socket.h needs it.
75131
75132 2006-06-19  Simon Josefsson  <jas@extundo.com>
75133
75134         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75135
75136 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75137
75138         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75139
75140 2006-06-19  Bruno Haible  <bruno@clisp.org>
75141
75142         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75143         and FULL_PATH_INTTYPES_H in angle brackets.
75144         Reported by Mark D. Baushke <mdb@gnu.org>.
75145
75146 2006-06-17  Eric Blake  <ebb9@byu.net>
75147
75148         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75149         errno.
75150
75151 2006-06-17  Bruno Haible  <bruno@clisp.org>
75152
75153         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75154         <sys/inttypes.h>.
75155
75156 2006-06-17  Bruno Haible  <bruno@clisp.org>
75157
75158         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
75159         whether errno is declared. Assume <errno.h> declares errno.
75160
75161 2006-06-17  Bruno Haible  <bruno@clisp.org>
75162
75163         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
75164
75165 2006-06-17  Bruno Haible  <bruno@clisp.org>
75166
75167         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
75168         problem on Solaris 2.5.1.
75169
75170 2006-06-16  Eric Blake  <ebb9@byu.net>
75171
75172         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75173         * lib/unicodeio.c [!defined errno]: Likewise.
75174         * lib/strtol.c [!defined errno]: Likewise.
75175         * lib/strtod.c [!defined errno]: Likewise.
75176
75177 2006-06-15  Eric Blake  <ebb9@byu.net>
75178
75179         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75180
75181 2006-06-15  Eric Blake  <ebb9@byu.net>
75182
75183         * config/srclist.txt (ssize_t.m4): Lose sync.
75184
75185 2006-06-15  Bruno Haible  <bruno@clisp.org>
75186
75187         * modules/stdint (Files): Include m4/full-header-path.m4,
75188         m4/size_max.m4, m4/wchar_t.m4.
75189         (Makefile.am): Many more substitutions.
75190         * modules/stdint-tests: New file.
75191         * tests/test-stdint.c: New file.
75192
75193 2006-06-15  Bruno Haible  <bruno@clisp.org>
75194
75195         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
75196         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
75197         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
75198         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
75199         gl_CHECK_TYPE_SAME): New macros.
75200
75201 2006-06-15  Bruno Haible  <bruno@clisp.org>
75202
75203         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
75204
75205 2006-06-15  Bruno Haible  <bruno@clisp.org>
75206
75207         * lib/stdint_.h: Rewritten to be fully auto-configured.
75208         Fixes bug on HP-UX/IA64.
75209
75210 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
75211
75212         * lib/getdate.y (__attribute__): Don't define if already defined.
75213         Problem reported by Larry Jones.
75214         * lib/utimens.c (__attribute__): Likewise.
75215
75216 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
75217
75218         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
75219         reported by Andreas Schwab.
75220
75221 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75222             Bruno Haible  <bruno@clisp.org>
75223
75224         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
75225         check for the declaration of strnlen and a run test that exposes the
75226         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
75227         rpl_strndup.
75228
75229 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75230             Bruno Haible  <bruno@clisp.org>
75231
75232         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
75233
75234 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75235
75236         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
75237         compile test, for Tru64 4.0D.
75238
75239 2006-05-28  Karl Berry  <karl@gnu.org>
75240
75241         * config/srclist.txt (printf-args.c): lose sync.
75242
75243 2006-05-26  Martin Lambers  <marlam@marlam.de>
75244
75245         * lib/getpass.c: Updates the test for the native W32 API, and adds
75246         missing includes, thus fixing compilation warnings.
75247
75248 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75249
75250         * lib/exclude.c (exclude_fnmatch): New function.
75251         (excluded_file_name): Call exclude_fnmatch.
75252         * lib/exclude.h (excluded_file_name): New prototype
75253
75254 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
75255
75256         * lib/tempname.c (small_open, large_open): New macros.
75257         (__open, __open64) [!_LIBC]: Remove.
75258         (__gen_tempname): Use small_open and large_open instead of __open
75259         and __open64.  This fixes a portability bug on HP-UX 11.11i
75260         reported by Simon Wing-Tang in
75261         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
75262
75263 2006-05-24  Bruno Haible  <bruno@clisp.org>
75264
75265         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
75266         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
75267         Reported by Thorsten Maerz <torte@netztorte.de> via
75268         Aaron Stone <aaron@serendipity.cx>.
75269
75270 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75271
75272         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
75273         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
75274         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
75275         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
75276         not really conditional on the cache.
75277         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
75278
75279 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75280
75281         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
75282         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
75283         (my_usleep): Don't mishandle maximum value.
75284
75285 2006-05-19  Jim Meyering  <jim@meyering.net>
75286
75287         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
75288
75289 2006-05-17  Bruno Haible  <bruno@clisp.org>
75290
75291         Cygwin portability.
75292         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
75293
75294 2006-05-17  Bruno Haible  <bruno@clisp.org>
75295
75296         * lib/stdint_.h: Fix recognition of Cygwin.
75297
75298 2006-05-15  Bruno Haible  <bruno@clisp.org>
75299
75300         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
75301         on libtool patch by Ralf Wildenhues.
75302
75303 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
75304
75305         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
75306         test for C99 conformance; (bool) 0.5 is an integer constant
75307         expression, but (bool) -0.5 is not.  Problem reported by Fedor
75308         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
75309
75310 2006-05-11  Simon Josefsson  <jas@extundo.com>
75311
75312         * m4/xvasprintf.m4: Fix obvious typo.
75313
75314 2006-05-11  Jim Meyering  <jim@meyering.net>
75315
75316         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
75317         James Lemley.
75318
75319 2006-05-10  Simon Josefsson  <jas@extundo.com>
75320
75321         * lib/md4.c: Typo fix, update copyright years.
75322         (K1, K2): Don't use L because it turn computations into 64-bit on
75323         64-bit platforms.
75324
75325 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
75326
75327         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
75328         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
75329         unwanted sign propagation, e.g., on hosts with 64-bit int.
75330         There still are some problems with reeelly weird theoretical hosts
75331         (e.g., 33-bit int) but it's not worth worrying about now.
75332         * lib/sha1.c (rol): Likewise.
75333         (K1, K2, K3, K4): Remove unnecessary L suffix.
75334
75335 2006-05-10  Bruno Haible  <bruno@clisp.org>
75336
75337         * lib/des.c: Cast to avoid warnings.
75338
75339 2006-05-09  Bruno Haible  <bruno@clisp.org>
75340
75341         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
75342         (Depends-on): Depend also on xsize, stdarg.
75343         (configure.ac): Add gl_XVASPRINTF.
75344
75345 2006-05-09  Bruno Haible  <bruno@clisp.org>
75346
75347         * m4/xvasprintf.m4: New file.
75348
75349 2006-05-09  Bruno Haible  <bruno@clisp.org>
75350
75351         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
75352         (EOVERFLOW): Define fallback value.
75353         (xstrcat): New function.
75354         (xvasprintf): Recognize the special case of a string concatenation.
75355
75356 2006-05-08  Eric Blake  <ebb9@byu.net>
75357
75358         * gnulib-tool (func_version): Base copyright year on CVS date.
75359         (func_emit_copyright_notice): New function.
75360         (func_emit_lib_Makefile_am): Use it.
75361         (func_emit_tests_Makefile_am): Likewise.
75362         (func_import): Likewise.
75363
75364 2006-05-08  Bruno Haible  <bruno@clisp.org>
75365
75366         * modules/stdarg: New file.
75367         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
75368
75369 2006-05-08  Bruno Haible  <bruno@clisp.org>
75370
75371         * m4/stdarg.m4: New file, from GNU gettext.
75372
75373 2006-05-08  Bruno Haible  <bruno@clisp.org>
75374
75375         * config/srclist.txt (build-aux/config.rpath): different from latest
75376         release.
75377
75378 2006-05-08  Bruno Haible  <bruno@clisp.org>
75379
75380         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
75381
75382 2006-05-05  Jim Meyering  <jim@meyering.net>
75383
75384         * m4/warning.m4: New file, derived from bison's file by the same name.
75385
75386 2006-05-03  Bruno Haible  <bruno@clisp.org>
75387
75388         * lib/stdint_.h: Shorter URL.
75389         * lib/inttypes.h: Likewise.
75390
75391 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75392
75393         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
75394
75395 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75396
75397         * lib/verify.h: Document the internals better.  Most of this change
75398         was written by Bruno Haible.
75399
75400 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75401
75402         * doc/verify.texi: New file, partly based on a proposal by
75403         Bruno Haible.
75404
75405 2006-05-02  Bruno Haible  <bruno@clisp.org>
75406
75407         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
75408         test from here...
75409         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
75410
75411 2006-04-29  Bruno Haible  <bruno@clisp.org>
75412
75413         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
75414         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
75415
75416 2006-04-29  Bruno Haible  <bruno@clisp.org>
75417
75418         * gnulib-tool: Make --update option actually work.
75419
75420 2006-04-29  Bruno Haible  <bruno@clisp.org>
75421
75422         * doc/gcd.texi: New file.
75423         * doc/gnulib.texi: Include it.
75424
75425 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
75426
75427         * lib/getdate.y (get_date): When adding relative date, start with the
75428         initial time, not with the result of the first mktime call.
75429
75430 2006-04-25  Bruno Haible  <bruno@clisp.org>
75431
75432         * gnulib-tool (func_import): Output the include directives in three
75433         blocks, sorted separately.
75434         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75435
75436 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75437
75438         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
75439         to define main with arguments, for C++.  Reported by Eric Blake.
75440         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
75441         Prefer 'int main ()' to 'int main (void)', for C++.
75442         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
75443         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
75444         for 'main', for C99 and C++.
75445
75446 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75447
75448         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
75449         Don't assume that exit status -1 is valid.
75450         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75451         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
75452         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
75453         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
75454         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
75455         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
75456         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
75457         functions can be used without declaring them, or that you can
75458         exit with status -1.
75459         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
75460
75461 2006-04-24  Karl Berry  <karl@gnu.org>
75462
75463         * config/srclist.txt (longdouble.m4): sync lost.
75464
75465 2006-04-24  Eric Blake  <ebb9@byu.net>
75466
75467         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
75468
75469 2006-04-24  Bruno Haible  <bruno@clisp.org>
75470
75471         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
75472         poll() implementation in AIX.
75473         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75474
75475 2006-04-24  Bruno Haible  <bruno@clisp.org>
75476
75477         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
75478         assigned exactly once.
75479
75480 2006-04-23  Claudio Fontana  <claudio@gnu.org>
75481             Bruno Haible  <bruno@clisp.org>
75482
75483         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
75484         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
75485         for AM_CPPFLAGS.
75486
75487 2006-04-23  Bruno Haible  <bruno@clisp.org>
75488
75489         * modules/copy-file: Depend on unistd.
75490         * modules/execute: Likewise.
75491         * modules/fatal-signal: Likewise.
75492         * modules/findprog: Likewise.
75493         * modules/mkdtemp : Likewise.
75494         * modules/pipe: Likewise.
75495         * modules/wait-process: Likewise.
75496
75497 2006-04-23  Bruno Haible  <bruno@clisp.org>
75498
75499         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
75500         condition was already detected.
75501         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75502
75503 2006-04-23  Bruno Haible  <bruno@clisp.org>
75504
75505         * lib/copy-file.c: Include <unistd.h> unconditionally.
75506         * lib/execute.c: Likewise.
75507         * lib/fatal-signal.c: Likewise.
75508         * lib/findprog.c: Likewise.
75509         * lib/mkdtemp.c: Likewise.
75510         * lib/pipe.h: Likewise.
75511         * lib/pipe.c: Likewise.
75512         * lib/wait-process.h: Likewise.
75513
75514 2006-04-23  Bruno Haible  <bruno@clisp.org>
75515
75516         * gnulib-tool (func_usage): Fix --import description. Document
75517         --update.
75518         (func_import): Create temporary file in a temporary directory, if
75519         --dry-run is specified. Silence errors from 'grep' when there are no
75520         m4 files in $m4dir.
75521         (func_create_testdir): Silence errors from 'grep' when there are no
75522         m4 files in $m4dir.
75523         Reported by Karl Berry <karl@freefriends.org>.
75524
75525 2006-04-20  Bruno Haible  <bruno@clisp.org>
75526
75527         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
75528         one argument, so that the code will be portable to Autoconf 2.60.
75529         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
75530         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75531         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
75532
75533 2006-04-19  Derek Price  <derek@ximbiot.com>
75534             Eric Blake  <ebb9@byu.net>
75535
75536         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
75537         rather than "/full/path.h".  Update comment to match.  Shorten &
75538         generalize m4_translit call via AS_TR_CPP.
75539
75540 2006-04-19  Derek Price  <derek@ximbiot.com>
75541             Eric Blake  <ebb9@byu.net>
75542
75543         * lib/inttypes.h: Correct grammar in comment.
75544
75545 2006-04-18  Derek Price  <derek@ximbiot.com>
75546             Paul Eggert  <eggert@cs.ucla.edu>
75547
75548         * modules/inttypes: New file.
75549         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
75550
75551 2006-04-18  Derek Price  <derek@ximbiot.com>
75552             Paul Eggert  <eggert@cs.ucla.edu>
75553
75554         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
75555         New files.
75556
75557 2006-04-18  Derek Price  <derek@ximbiot.com>
75558             Paul Eggert  <eggert@cs.ucla.edu>
75559
75560         * lib/inttypes.h: New file.
75561         * lib/strtoimax.c: Assume <inttypes.h>.
75562
75563 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
75564
75565         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
75566         isn't mounted.  Problem reported by Kir Kolyshkin.
75567
75568 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
75569
75570         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
75571         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
75572         Derek R. Price.
75573         * lib/regex.h (RE_DUP_MAX): Update comment to match current
75574         implementation.
75575
75576 2006-04-12  Eric Blake  <ebb9@byu.net>
75577
75578         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
75579         is now done automatically by the corresponding Autoconf macro.
75580
75581 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
75582
75583         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
75584         time_r.h.
75585
75586 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75587
75588         Merge regex changes from libc, removing some of our
75589         POSIX-conformance changes that were rejected and redoing them in a
75590         less-intrusive way.
75591
75592         * lib/regcomp.c (re_compile_internal, init_dfa):
75593         Length arg is now size_t, not Idx.  All uses changed.
75594         (peek_token): Forward decl now says internal_function.
75595         (__re_error_msgid, __re_error_msgid_idx):
75596         Now static rather than extern with attribute_hidden.
75597         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
75598         For some reason libc prefers K&R style defns for external functions.
75599         (regerror) [!defined _LIBC]: Likewise.
75600         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
75601         (seek_collating_symbol_entry, lookup_collation_sequence_value):
75602         (build_range_exp, build_collating_symbol):
75603         Use K&R-style defn.
75604         (re_compile_fastmap): Use '\0' to memset, not 0.
75605         (utf8_sb_map): Make the calculations more obvious.
75606         (init_dfa, parse_bracket_exp, build_charclass_op):
75607         Call calloc and cast result, as glibc does.
75608         (init_word_char, fetch_token, peek_token, peek_token_bracket):
75609         (build_range_exp, build_collating_symbol):
75610         Now internal functions.
75611
75612         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
75613
75614         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
75615         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
75616         Don't depend on VMS; depend on __VMS instead, for POSIX
75617         namespace cleanness.
75618         (regoff_t): Define to ssize_t, not long int.
75619
75620         Remove the REG_ macros named below.  Instead, make the old names
75621         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
75622         __USE_GNU_REGEX.
75623         (REG_BACKSLASH_ESCAPE_IN_LISTS):
75624         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
75625         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
75626         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
75627         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
75628         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
75629         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
75630         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
75631         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
75632         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
75633         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
75634         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
75635         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
75636         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
75637         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
75638         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
75639         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
75640         (REG_NREGS):
75641         Remove.  All uses replaced by the old RE_* names.
75642         (RE_BACKSLASH_ESCAPE_IN_LISTS):
75643         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
75644         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
75645         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
75646         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
75647         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
75648         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
75649         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
75650         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
75651         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
75652         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
75653         Don't bother having these macros be independent of each others'
75654         values, since they no longer exist in the POSIX name space.
75655
75656         Rename the following member names back to their old names,
75657         unless !__USE_GNU_REGEX.  All uses changed back.
75658         (buffer): Renamed from re_buffer.
75659         (allocated): Renamed from re_allocated.
75660         (used): Renamed from re_used.
75661         (syntax): Renamed from re_syntax.
75662         (fastmap): Renamed from re_fastmap.
75663         (translate): Renamed from re_translate.
75664         (can_be_null): Renamed from re_can_be_null.
75665         (regs_allocated): Renamed from re_regs_allocated.
75666         (fastmap_accurate): Renamed from re_fastmap_accurate.
75667         (no_sub): Renamed from re_no_sub.
75668         (not_bol): Renamed from re_not_bol.
75669         (not_eol): Renamed from re_not_eol.
75670         (newline_anchor): Renamed from re_newline_anchor.
75671         (num_regs): Renamed from rm_num_regs.
75672         (start): Renamed from rm_start.
75673         (end): Renamed from rm_end.
75674
75675         (free_state): Move up a bit.
75676
75677         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
75678         #define to be empty.
75679         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
75680         when that is what is intended.
75681         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
75682         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
75683         (MAX): New macro.
75684         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
75685         All uses changed back to re_malloc, etc.  It's now the caller's
75686         responsibility to check for overflow; all callers changed.
75687         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
75688         (re_x2nrealloc): Remove.
75689         (free_state): Remove decl.
75690
75691         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
75692         (re_set_registers, re_exec):
75693         Use K&R-style defn.
75694
75695         2006-01-31  Roland McGrath  <roland@redhat.com>
75696
75697         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
75698         Reported by Mike Frysinger <vapier@gentoo.org>.
75699
75700         2006-01-15  Andreas Jaeger  <aj@suse.de>
75701
75702         [BZ #1950]
75703         * lib/regex_internal.c (re_string_reconstruct): Adjust for
75704         build_wcs_upper_buffer change.
75705         (build_wcs_upper_buffer): Change return type.
75706
75707         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
75708
75709         * lib/regex_internal.h: Include <stdint.h> if available.
75710
75711         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
75712
75713         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
75714
75715         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
75716
75717         * lib/regcomp.c: Adjust for changed secondary hash function.
75718
75719         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
75720
75721         * lib/regex.h: Pretty printing.
75722         Clean up namespace a bit.
75723
75724         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
75725
75726         * lib/regexec.c (update_cur_sifted_state, check_arrival,
75727         check_arrival_add_next_nodes): Avoid using uninitialized variable.
75728
75729         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75730                     Ulrich Drepper  <drepper@redhat.com>
75731
75732         [BZ #1302]
75733         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
75734         changed.
75735         (bitset_word_t): Renamed from bitset_word.  All uses changed.
75736
75737         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
75738
75739         [BZ #281]
75740         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
75741         * lib/regcomp.c: Remove unnecessary uses of
75742         unsigned RE_TRANSLATE_TYPE.
75743         * lib/regex_internal.h: Likewise.
75744         * lib/regex_internal.c: Likewise.
75745         * lib/regexec.c: Likewise.
75746         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
75747
75748         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
75749
75750         * lib/regexec.c (find_recover_state): Remove unnecessary
75751         initialization.
75752         (transit_state_bkref): Make DFA a const pointer.
75753         (get_subexp): Likewise.
75754         (check_arrival): Likewise.
75755         (update_cur_sifted_state): Likewise.
75756         (re_search_internal): Likewise.
75757         (prune_impossible_nodes): Likewise.
75758         (acquire_init_state_context): Likewise.
75759         (proceed_next_node): Likewise.
75760         (set_regs): Likewise.
75761         (free_fail_stack_return): Likewise.
75762         (check_arrival_expand_ecl): Mark DFA parameter as const.
75763         (check_arrival_expand_ecl_sub): Likewise.
75764         (check_subexp_limits): Likewise.
75765         (sub_epsilon_src_nodes):  Likewise.
75766         (add_epsilon_src_nodes):  Likewise.
75767         (merge_state_array): Likewise.
75768         (update_regs): Likewise.
75769         (build_trtable): Likewise.
75770         (sift_states_backward): Mark MCTX parameter as const.
75771         (build_sifted_states): Likewise.
75772         (update_cur_sifted_state): Likewise.
75773         (sift_states_mkref): Likewise.
75774         (check_arrival_expand_ecl): Mark eclosure as const.
75775         (check_dst_limits_calc_pos_1): Likewise.
75776         * lib/regex_internal.h (re_match_context_t): Make dfa a const
75777         pointer.
75778
75779         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
75780
75781         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
75782         (transit_state_sb): Likewise.
75783         (transit_state_mb): Likewise.
75784         (sift_states_iter_mb): Likewise.
75785         (check_arrival_add_next_nodes): Likewise.
75786         (check_node_accept_bytes): Change first parameter to pointer-to-const.
75787         [_LIBC] (re_search_2_stub): Use mempcpy.
75788
75789         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
75790         mbrtowc for very simple UTF-8 case.
75791
75792         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
75793         a pointer-to-const.
75794         (re_acquire_state_context): Likewise.
75795         * lib/regex_internal.h: Adjust prototypes.
75796
75797         * lib/regex.c: Prevent using C++ compilers.
75798
75799         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
75800         (re_acquire_state_context): Likewise.
75801
75802 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75803
75804         * modules/regex (Depends-on): Add ssize_t.
75805
75806 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75807
75808         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
75809         translation table.
75810
75811 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75812
75813         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
75814
75815 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
75816             Bruno Haible  <bruno@clisp.org>
75817
75818         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
75819         <sys/types.h> and <inttypes.h>.
75820
75821 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75822
75823         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
75824         `__error_t_defined', so argp.h will not typedef the former.
75825
75826 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
75827
75828         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
75829         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
75830         glibc names.  Even if glibc is changed to conform to POSIX, the
75831         traditional names will be available anyway, since regex depends on
75832         the extensions module.  Also, fix a longstanding typo in the
75833         implementation of Spencer ERE test #75 from grep 2.3.  Problems
75834         reported by Emanuele Giaquinta.  Also, change sense of cached
75835         variable, so that the message makes sense.
75836
75837 2006-03-24  Simon Josefsson  <jas@extundo.com>
75838
75839         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
75840         including some doc fixes.
75841         (base64_encode_alloc): Fix +1 bug on allocation failures.
75842
75843 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75844
75845         * lib/base64.c (base64_encode): Do not read past end of array with
75846         unsanitized input on systems with CHAR_BIT > 8.
75847
75848 2006-03-24  Eric Blake  <ebb9@byu.net>
75849
75850         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
75851
75852 2006-03-22  Karl Berry  <karl@gnu.org>
75853
75854         * config/srclist.txt (*setenv.[ch]): get from coreutils.
75855         * config/srclistvars.sh (COREUTILS): new var.
75856
75857 2006-03-17  Jim Meyering  <jim@meyering.net>
75858
75859         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
75860         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
75861
75862 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75863
75864         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
75865         no longer needs it.  Instead, check that regoff_t is as least
75866         as wide as ptrdiff_t.
75867
75868         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
75869         so that our regex.h stays compatible with the installed regex.
75870         This is helpful for installers who configure --without-included-regex.
75871         Problem reported by Emanuele Giaquinta.
75872
75873 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75874
75875         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
75876         Typedef to long int, not to off_, as POSIX will likely change
75877         in that direction.
75878
75879 2006-03-15  Eric Blake  <ebb9@byu.net>
75880
75881         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
75882
75883 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75884
75885         * lib/argp-help.c (validate_uparams): Fix typo
75886         * lib/argp-parse.c (argp_default_options): Consistently begin help
75887         messages with a lowercase letter.
75888
75889 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
75890
75891         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
75892         overrun buffers and shouldn't be used (much as gets shouldn't be
75893         used).
75894         * lib/time_r.c (asctime_r, ctime_r): Likewise.
75895
75896 2006-03-08  Simon Josefsson  <jas@extundo.com>
75897
75898         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
75899         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75900
75901 2006-03-08  Simon Josefsson  <jas@extundo.com>
75902
75903         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
75904         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75905
75906 2006-03-08  Simon Josefsson  <jas@extundo.com>
75907
75908         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
75909         signal that configure disabled the device.
75910
75911 2006-03-08  Simon Josefsson  <jas@extundo.com>
75912
75913         * build-aux/maint.mk: Fix refresh-po, to handle no translated
75914         languages.
75915
75916 2006-03-07  Simon Josefsson  <jas@extundo.com>
75917
75918         * modules/getopt (Depends-on): Add unistd.
75919
75920         * modules/unistd: New file.
75921
75922 2006-03-07  Simon Josefsson  <jas@extundo.com>
75923
75924         * modules/gc-random: New file.
75925
75926 2006-03-07  Simon Josefsson  <jas@extundo.com>
75927
75928         * m4/unistd_h.m4: New file.
75929
75930 2006-03-07  Simon Josefsson  <jas@extundo.com>
75931
75932         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
75933         test to be side-effect free by storing the result in the cache
75934         variable gl_cv_lib_readline, and moving the assignment of
75935         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
75936         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75937
75938 2006-03-07  Simon Josefsson  <jas@extundo.com>
75939
75940         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
75941         error on missing devices (the functions will return an error).
75942
75943         * m4/gc.m4: Move random stuff to gc-random.m4
75944
75945 2006-03-07  Simon Josefsson  <jas@extundo.com>
75946
75947         * lib/unistd_.h: New file.
75948
75949 2006-03-07  Simon Josefsson  <jas@extundo.com>
75950
75951         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
75952
75953 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75954
75955         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
75956         Problem reported by Juan Manuel Guerrero.
75957
75958 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75959
75960         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
75961         the unistd module.
75962         * lib/getlogin_r.c: Likewise.
75963         * lib/getlogin_r.h: Likewise.
75964         * lib/glob.c: Likewise.
75965         * lib/pagealign_alloc.c: Likewise.
75966         * lib/unistd_.h: Remove; no longer needed.
75967
75968 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75969
75970         * MODULES.html.sh (Support for systems lacking POSIX:2001):
75971         Add unistd.
75972         * modules/c-stack (Depends-on): Add unistd.
75973         * modules/getlogin_r: Likewise.
75974         * modules/glob: Likewise.
75975         * modules/pagealign_alloc: Likewise.
75976         * modules/unistd (Files): Remove lib/unistd_.h.
75977         (EXTRA_DIST): Remove.
75978         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
75979         need unistd_.h.
75980         (MOSTLYCLEANFILES): Remove unistd.h-t.
75981
75982 2006-03-03  Simon Josefsson  <jas@extundo.com>
75983
75984         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
75985
75986 2006-03-03  Simon Josefsson  <jas@extundo.com>
75987
75988         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
75989         libidn and bison.
75990
75991 2006-03-03  Simon Josefsson  <jas@extundo.com>
75992
75993         * build-aux/maint.mk: Add indent target.
75994
75995 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
75996
75997         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
75998         our replacement poll.h in any case, to avoid a differing
75999         declaration from a system header.  Seen on AIX.
76000
76001 2006-03-01  Simon Josefsson  <jas@extundo.com>
76002
76003         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76004         <kasal@ucw.cz>.
76005
76006 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76007
76008         * modules/gettime (Depends-on): Add extensions module.
76009         * modules/nanosleep (Depends-on): Likewise.
76010         * modules/settime (Depends-on): Likewise.
76011
76012 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76013
76014         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76015         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76016         pedantically.
76017         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76018         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76019
76020         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76021         not "==".  Reported by Ralf Wildenhues.
76022
76023 2006-03-01  Karl Berry  <karl@gnu.org>
76024
76025         * doc/Copyright/request-*: new files, synced from gnuorg.
76026
76027 2006-03-01  Karl Berry  <karl@gnu.org>
76028
76029         * config/srclist.txt (Copyright/*): new entries.
76030
76031 2006-02-28  Simon Josefsson  <jas@extundo.com>
76032
76033         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76034
76035 2006-02-27  Simon Josefsson  <jas@extundo.com>
76036
76037         * lib/base64.h: Indent #define's.  From Jim Meyering
76038         <jim@meyering.net>.
76039
76040 2006-02-27  Jim Meyering  <jim@meyering.net>
76041
76042         Revert the change of 2006-02-24, so these files can continue
76043         to be sync'd from gettext.
76044         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76045         of `config.h'.
76046
76047 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76048
76049         * modules/intprops: New file.
76050         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76051         Add intprops.
76052         * modules/getloadavg (Files): Remove lib/intprops.h.
76053         (Depends-on): Add intprops.
76054         * modules/human: Likewise.
76055         * modules/inttostr: Likewise.
76056         * modules/openat: Likewise.
76057         * modules/sig2str: Likewise.
76058         * modules/userspec: Likewise.
76059         * modules/utimecmp: Likewise.
76060         * modules/xnanosleep: Likewise.
76061         * modules/xstrtol: Likewise.
76062
76063 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76064
76065         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76066         * modules/lock-tests (TESTS): Use $(EXEEXT).
76067         * modules/tls-tests: Likewise.
76068         * modules/argp-tests: Likewise.
76069         (check_PROGRAMS): New var, replacing...
76070         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76071
76072 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76073
76074         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76075         `config.h'.
76076
76077 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76078
76079         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76080
76081 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76082
76083         Sync from coreutils.
76084         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76085         gl_CHDIR_SAFER.
76086
76087 2006-02-22  Jim Meyering  <jim@meyering.net>
76088
76089         Sync from coreutils.
76090         * m4/chdir-safer.m4: New file.
76091
76092 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76093
76094         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76095         AT_FDCWD exceeds INT_MAX.
76096         * lib/openat.h (AT_FDCWD): Likewise.
76097
76098 2006-02-17  Eric Blake  <address@hidden>
76099
76100         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76101
76102 2006-02-16  Simon Josefsson  <jas@extundo.com>
76103
76104         * modules/getaddrinfo (Depends-on): Add sys_socket.
76105
76106 2006-02-15  Simon Josefsson  <jas@extundo.com>
76107
76108         * build-aux/maint.mk: Add dsyntax-check rule.
76109
76110 2006-02-15  Eric Blake  <ebb9@byu.net>
76111
76112         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76113         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76114         'present but cannot compile' warnings on cygwin.
76115         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76116         use ws2tcpip.h if sys/socket.h works.
76117         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76118         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76119
76120 2006-02-14  Simon Josefsson  <jas@extundo.com>
76121
76122         * modules/maintainer-makefile (Files): Rename.
76123
76124         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76125         and (the local) Makefile.cfg to maint-cfg.mk.
76126
76127         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76128         to the latter.
76129
76130         * modules/maintainer-makefile: New module.
76131
76132         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76133         severaly stripped to make it possible to build it up from scratch
76134         with reliable tests.
76135
76136         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76137         fixes to permit overriding the default actions when configure and
76138         makefile are not available.
76139
76140 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76141
76142         Sync from coreutils.
76143         * modules/lstat (Depends-on): Don't depend on xalloc.
76144         (License): Change from GPL to LGPL, since this is now simply a
76145         replacement for a libc function.
76146
76147 2006-02-14  Jim Meyering  <jim@meyering.net>
76148
76149         Sync from coreutils.
76150
76151         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76152         failure on deficient systems, and simplify gnulib lgpl dependencies.
76153         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76154         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
76155
76156         * lib/xalloc-die.c: Remove unused definition of N_.
76157
76158 2006-02-14  Jim Meyering  <jim@meyering.net>
76159
76160         Sync from coreutils.
76161         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
76162         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
76163         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
76164         double-quote uses of that variable, to accommodate the rare case in
76165         which getmntent is available in none of the libraries checked.  This
76166         happens at least on FreeBSD 5.0.
76167
76168 2006-02-13  Simon Josefsson  <jas@extundo.com>
76169
76170         * gnulib-tool (Usage): Fix --import, from
76171         karl@freefriends.org (Karl Berry).
76172
76173 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76174
76175         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76176
76177 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76178
76179         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76180         "autoupdate" on 2005-12-12.
76181
76182 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76183
76184         * modules/closeout (Depends-on): Remove atexit.
76185
76186 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76187
76188         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
76189         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
76190
76191 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
76192
76193         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
76194         __EXTENSIONS__ if this causes compilation to fail.  Problem
76195         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
76196         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
76197
76198 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
76199
76200         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
76201         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
76202         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
76203         All uses changed.
76204
76205 2006-01-26  Simon Josefsson  <jas@extundo.com>
76206
76207         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
76208         prototype is visible on mingw32.
76209
76210         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
76211         for mingw32.
76212
76213         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
76214         mingw32).
76215
76216 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
76217
76218         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
76219         attempt to open for write; this always fails, at least on POSIX
76220         hosts.  This reinstates the 2006-01-09 change, which was
76221         inadvertently removed.
76222
76223 2006-01-26  Bruno Haible  <bruno@clisp.org>
76224
76225         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
76226         Reported by Paul Eggert.
76227
76228 2006-01-26  Bruno Haible  <bruno@clisp.org>
76229             Paul Eggert  <eggert@cs.ucla.edu>
76230
76231         * lib/stdbool_.h (_Bool)
76232         [(! (defined __cplusplus || defined __BEOS__)
76233           && !defined __GNUC__
76234           && !(defined __HP_cc || defined __xlc__
76235                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
76236                || defined __sgi))]:
76237         #define to signed char in these cases too; this simplifies
76238         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
76239         etc., separately) and makes it more conservative.
76240
76241 2006-01-25  Simon Josefsson  <jas@extundo.com>
76242
76243         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
76244         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
76245         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
76246
76247 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76248
76249         * lib/argp-namefrob.h: Bugfix. Remove stray #
76250
76251 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
76252
76253         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
76254         so that we test the test.
76255         Check for yet another HP-UX cc bug involving *bool |= bool.
76256
76257 2006-01-25  Karl Berry  <karl@gnu.org>
76258
76259         * config/srclist.txt (vasnprintf.c): sync lost.
76260
76261 2006-01-25  Jim Meyering  <jim@meyering.net>
76262
76263         Sync from the stable (b5) branch of coreutils:
76264
76265         * lib/fts.c (fts_children): Don't let close() clobber errno from
76266         failed fchdir().
76267
76268         * lib/fts.c (fts_stat): When following a symlink-to-directory,
76269         don't necessarily interpret stat-fails+lstat-succeeds as indicating
76270         a dangling symlink.  That can also happen at least for ELOOP.
76271         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
76272         FYI, this bug predates the inclusion of fts.c in coreutils.
76273
76274         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
76275         in their own block, so pre-c99 compilers don't object.
76276
76277         Avoid the double-free (first in fts_read, second in fts_close) that
76278         would occur when an `active' directory is made inaccessible (e.g.,
76279         via chmod a-x) during a traversal.
76280         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76281         before returning.  Reproduce this failure by
76282         mkdir -p a/b; cd a; chmod a-x . b
76283         Reported by Stavros Passas.
76284
76285 2006-01-25  Jim Meyering  <jim@meyering.net>
76286
76287         * lib/fileblocks.c: Remove more useless parentheses.
76288         * lib/readutmp.h: Likewise.
76289
76290 2006-01-25  Bruno Haible  <bruno@clisp.org>
76291
76292         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
76293         warnings.
76294         Reported by Paul Eggert.
76295
76296 2006-01-25  Bruno Haible  <bruno@clisp.org>
76297
76298         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
76299         rid of a trap command. For Solaris sh.
76300         Reported by Mark D. Baushke <mdb@gnu.org>.
76301
76302 2006-01-24  Simon Josefsson  <jas@extundo.com>
76303
76304         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
76305         Bruno.
76306
76307 2006-01-24  Karl Berry  <karl@gnu.org>
76308
76309         * config/srclist.txt (argp-namefrob.h): sync lost.
76310
76311 2006-01-24  Jim Meyering  <jim@meyering.net>
76312
76313         * modules/openat (Files): Add lib/intprops.h.
76314         From Mark D. Baushke.
76315
76316 2006-01-24  Jim Meyering  <jim@meyering.net>
76317
76318         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
76319         Reported by Mark D. Baushke.
76320
76321 2006-01-24  Jim Meyering  <jim@meyering.net>
76322
76323         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
76324
76325 2006-01-24  Bruno Haible  <bruno@clisp.org>
76326
76327         * modules/strnlen (Maintainer): Change from glibc to all.
76328
76329 2006-01-24  Bruno Haible  <bruno@clisp.org>
76330
76331         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
76332         Patch by Paul Eggert.
76333
76334 2006-01-24  Bruno Haible  <bruno@clisp.org>
76335
76336         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
76337         already has it.
76338         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
76339         2005-11-26.
76340
76341         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
76342         'signed char' to avoid problems with the built-in _Bool type.
76343         Reported by Paul Eggert on 2005-11-26.
76344
76345 2006-01-24  Bruno Haible  <bruno@clisp.org>
76346
76347         * gnulib-tool (func_import): Avoid constructing complicated sed
76348         expressions inside backquote.
76349         Report and solution by Mark D. Baushke <mdb@gnu.org>.
76350
76351 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
76352
76353         These changes imported from libc.
76354         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
76355         test and two separate function calls.
76356         * lib/strndup.c (__strndup): Add libc_hidden_def.
76357
76358 2006-01-23  Simon Josefsson  <jas@extundo.com>
76359
76360         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
76361         Remove the test_*_SOURCES variable: automake infers it by default.
76362         * modules/tls-tests: Likewise.
76363
76364 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76365
76366         Work around porting bugs reported by Dieter in
76367         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
76368         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
76369         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
76370         Include "getopt.h" first, to check interface.
76371         (getenv): Declare only if defined HAVE_DECL_GETENV &&
76372         !HAVE_DECL_GETENV.
76373         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
76374         (__strndup): Revert to K&R-style function dfns, the glibc style.
76375         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
76376         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
76377         Include strnlen.h first, to get prototype properly.
76378         (strnlen): Renamed from __strnlen.
76379         Remove weak alias.
76380
76381 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76382
76383         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
76384
76385 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76386
76387         * config/srclist.txt: Adjust to reflect glibc reorganization.
76388         This affects only comments.
76389
76390 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76391
76392          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
76393          Reported by Bruce Korb <bkorb@gnu.org>.
76394
76395 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
76396
76397         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
76398         to pacify gcc -Wswitch-default.
76399
76400 2006-01-22  Bruno Haible  <bruno@clisp.org>
76401
76402         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
76403         temporary buffer for sprintf, take into account the precision also
76404         for 'd', 'i', 'u', 'o', 'x', 'X'.
76405
76406 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76407
76408         * modules/argp-tests: New module
76409         * tests/test-argp.c: New file
76410         * tests/test-argp-2.sh: New file
76411
76412 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76413
76414         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
76415         (__argp_base_name): Removed
76416         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
76417         typo.
76418         (__argp_base_name): Provide macro definition or extern declaration
76419         depending on the configuration
76420
76421 2006-01-20  Simon Josefsson  <jas@extundo.com>
76422
76423         * modules/inet_ntop (Depends-on): Depend on sys_socket.
76424
76425 2006-01-20  Simon Josefsson  <jas@extundo.com>
76426
76427         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
76428
76429 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76430
76431         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
76432         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
76433         Suggested by Bruno Haible.
76434
76435 2006-01-20  Karl Berry  <karl@gnu.org>
76436
76437         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
76438         until changes propagate, I guess.
76439
76440 2006-01-19  Simon Josefsson  <jas@extundo.com>
76441
76442         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
76443
76444 2006-01-19  Simon Josefsson  <jas@extundo.com>
76445
76446         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
76447
76448 2006-01-19  Simon Josefsson  <jas@extundo.com>
76449
76450         * gnulib-tool: Set check_PROGRAMS.
76451
76452         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76453         modules/des-tests, modules/gc-arcfour-tests,
76454         modules/gc-arctwo-tests, modules/gc-des-tests,
76455         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76456         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76457         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76458         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76459         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76460         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
76461         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
76462         test_*_SOURCES.
76463
76464 2006-01-18  Simon Josefsson  <jas@extundo.com>
76465
76466         * modules/socklen (Depends-on): Depend on sys_socket.
76467
76468 2006-01-18  Simon Josefsson  <jas@extundo.com>
76469
76470         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76471         modules/des-tests, modules/gc-arcfour-tests,
76472         modules/gc-arctwo-tests, modules/gc-des-tests,
76473         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76474         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76475         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76476         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76477         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76478         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
76479         $(EXEEXT) to automake TESTS variable, for mingw32.
76480
76481 2006-01-17  Simon Josefsson  <jas@extundo.com>
76482
76483         * modules/socklen (Include): Need sys/socket.h.
76484
76485 2006-01-17  Bruno Haible  <bruno@clisp.org>
76486
76487         * modules/ssize_t (Include): Add <sys/types.h>.
76488
76489 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
76490
76491         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
76492         it's not portable and it doesn't work with cross-compiles.
76493         Problem reported by Bruno Haible.  Fix missing-$ typo in
76494         'test "gl_cv_ignore_unused_libraries" ...' that prevented
76495         -zignore from being used with Sun's C compiler.
76496
76497 2006-01-12  Simon Josefsson  <jas@extundo.com>
76498
76499         * lib/base64.c: Fix warning, reported by Bruno Haible
76500         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
76501
76502 2006-01-12  Bruno Haible  <bruno@clisp.org>
76503
76504         * modules/ldd: New file.
76505         * build-aux/ldd.sh.in: New file.
76506         * MODULES.html.sh (Support for building libraries and executables): Add
76507         ldd.
76508
76509 2006-01-12  Bruno Haible  <bruno@clisp.org>
76510
76511         * m4/ldd.m4: New file.
76512
76513 2006-01-12  Bruno Haible  <bruno@clisp.org>
76514
76515         * gnulib-tool (func_import, func_create_testdir): Don't go into an
76516         endless loop while replacing $auxdir with build-aux.
76517
76518 2006-01-11  Simon Josefsson  <jas@extundo.com>
76519
76520         * lib/stdint_.h (SIZE_MAX): Add missing (.
76521
76522 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
76523
76524         Sync from coreutils.
76525         * lib/md5.c: Fix commentary typos.
76526         (alignof, UNALIGNED_P): No need for a GCC-specific version.
76527         * lib/md5.h (__attribute__): Remove; unused.
76528         * lib/sha1.c: Fix commentary to match md5 better.
76529         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
76530         so that we don't need to worry about alignment.  All uses changed.
76531         This merges the 2005-10-28 md5 change into sha1.
76532
76533 2006-01-11  Jim Meyering  <jim@meyering.net>
76534
76535         Sync from coreutils.
76536         * lib/md5.c (OP): Fix spacing.
76537
76538 2006-01-11  Bruno Haible  <bruno@clisp.org>
76539
76540         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76541         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
76542         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
76543
76544 2006-01-11  Bruno Haible  <bruno@clisp.org>
76545
76546         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76547         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
76548         the "early" section as well.
76549
76550 2006-01-11  Bruno Haible  <bruno@clisp.org>
76551
76552         Avoid "ar: no archive members specified" error on MacOS X.
76553         * gnulib-tool (func_modules_add_dummy): New function.
76554         (func_import, func_create_testdir): Invoke it.
76555
76556 2006-01-11  Bruno Haible  <bruno@clisp.org>
76557
76558         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
76559         with $auxdir in AC_CONFIG_FILES statements.
76560
76561 2006-01-11  Bruno Haible  <bruno@clisp.org>
76562
76563         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76564         Initialize also noinst_HEADERS to empty.
76565
76566 2006-01-11  Bruno Haible  <bruno@clisp.org>
76567
76568         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
76569         variables.
76570         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
76571         autoreconf.
76572
76573 2006-01-11  Bruno Haible  <bruno@clisp.org>
76574
76575         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
76576         overridable by the user.
76577         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76578
76579 2006-01-10  Simon Josefsson  <jas@extundo.com>
76580
76581         * modules/sys_socket: New file.
76582
76583 2006-01-10  Simon Josefsson  <jas@extundo.com>
76584
76585         * m4/sys_socket_h.m4: New file.
76586
76587 2006-01-10  Simon Josefsson  <jas@extundo.com>
76588
76589         * lib/socket_.h: New file.
76590
76591 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76592
76593         * modules/readutmp (Maintainer): Add myself.
76594
76595 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76596
76597         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
76598         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
76599         People who are still concerned with buggy memcmp implementations
76600         can invoke gl_FUNC_MEMCMP themselves.
76601
76602 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76603
76604         * lib/regex_internal.h (BITSET_WORD_BITS):
76605         Work around a bug in 64-bit PGC (before version 6.1-2), where the
76606         preprocessor mishandles large unsigned values as if they were signed.
76607         Problem reported by Claudio Fontana in
76608         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
76609
76610 2006-01-10  Jim Meyering  <jim@meyering.net>
76611
76612         Avoid the double-free (first in fts_read, second in fts_close) that
76613         would occur when an `active' directory is made inaccessible (e.g.,
76614         via chmod a-x) during a traversal.
76615         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76616         before returning.  Reproduce this failure by
76617         mkdir -p a/b; cd a; chmod a-x . b
76618         Reported by Stavros Passas.
76619
76620         Sync from coreutils.
76621         * lib/sha1.c: Tweak grammar in a comment.
76622
76623 2006-01-10  Jim Meyering  <jim@meyering.net>
76624
76625         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
76626         Patch by Joerg Sonnenberger.
76627
76628 2006-01-10  Bruno Haible  <bruno@clisp.org>
76629
76630         * modules/readutmp: Depend on module free.
76631         * modules/strtok_r: Depend on module restrict.
76632
76633 2006-01-10  Bruno Haible  <bruno@clisp.org>
76634
76635         * modules/gettext (configure.ac): Add an invocation of
76636         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
76637
76638 2006-01-10  Bruno Haible  <bruno@clisp.org>
76639
76640         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
76641         Reported by Werner Lemberg <wl@gnu.org>.
76642
76643 2006-01-10  Bruno Haible  <bruno@clisp.org>
76644
76645         * lib/localcharset.c: Update from GNU gettext.
76646
76647 2006-01-10  Bruno Haible  <bruno@clisp.org>
76648
76649         * lib/argp.h (__const): Remove macro. Use const instead.
76650         * lib/argp-fmtstream.h (__const): Likewise.
76651         * lib/glob_.h (__const): Remove macro.
76652         * lib/glob-libc.h: Use const instead of __const.
76653
76654 2006-01-10  Bruno Haible  <bruno@clisp.org>
76655
76656         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
76657         variable.
76658         Needed to avoid an automake error regarding the 'gettext' module.
76659
76660 2006-01-09  Simon Josefsson  <jas@extundo.com>
76661
76662         * modules/inet_ntop (Depends-on): Add restrict.
76663
76664 2006-01-09  Simon Josefsson  <jas@extundo.com>
76665
76666         * modules/gc-rijndael-tests (License): Put under LGPL.
76667
76668         * modules/gc-des-tests (License): Likewise.
76669
76670         * modules/gc-arcfour-tests (License): Likewise.
76671
76672         * modules/gc-arctwo-tests (License): Likewise.
76673
76674         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
76675
76676         * modules/gc-hmac-sha1-tests (Files): Likewise.
76677
76678         * modules/gc-hmac-md5-tests (License): Likewise.
76679
76680         * modules/gc-sha1-tests (License): Likewise.
76681
76682         * modules/gc-md5-tests (License): Likewise.
76683
76684         * modules/gc-md4-tests (License): Likewise.
76685
76686         * modules/gc-md2-tests (License): Likewise.
76687
76688         * modules/gc-tests (License): Likewise.
76689
76690         * modules/des-tests (License): Likewise.
76691
76692         * modules/md4-tests (License): Likewise.
76693
76694         * modules/md2-tests (License): Likewise.
76695
76696 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76697
76698         Sync from coreutils:
76699
76700         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
76701         * modules/lib-ignore: New file.
76702         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
76703         chdir-safer.m4, lchmod.m4.
76704         * modules/openat: Add mkdirat.c, openat-priv.h.
76705
76706 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76707
76708         Sync from coreutils.
76709         * m4/lib-ignore.m4: New file.
76710         * m4/lchmod.m4: New file.
76711
76712 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76713
76714         Sync from coreutils.
76715         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
76716         for write access: POSIX says that must fail.
76717         * lib/fts.c (diropen): Likewise.
76718         * lib/save-cwd.c (save_cwd): Likewise.
76719         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
76720         well, for minor improvements on hosts that lack O_DIRECTORY.
76721         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
76722         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
76723         Fall back on chown if open failed with EACCES.
76724
76725         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
76726         Report an error at compile-time if only a 1-second nominal clock
76727         resolution is found.
76728
76729         * lib/lchmod.h: New file.
76730         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
76731         (make_dir_parents): Use lchown rather than chown, and
76732         lchmod rather than chmod.
76733
76734         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
76735         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
76736         "proc" reported by n0dalus.
76737
76738         * lib/mountlist.c: Include <limits.h>.
76739         (dev_from_mount_options)
76740         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
76741         New function.  It no longer assumes "dev=" has the System V meaning
76742         on Linux (since it doesn't).  It also parses "dev=" more carefully.
76743         (read_file_system_list)
76744         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
76745         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
76746         dev= in that case.
76747
76748         * lib/posixtm.h (PDS_PRE_2000): New macro.
76749         * lib/posixtm.c (year): Arg is now syntax_bits rather than
76750         allow_century.  All usages changed.  Reject dates outside the range
76751         1969-1999 if PDS_PRE_2000 is used.
76752
76753 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76754
76755         Sync from coreutils.
76756         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
76757         (Time of day items): Mention the possibility of leap seconds.
76758         Problem reported by Dr. David Alan Gilbert.
76759
76760 2006-01-09  Jim Meyering  <jim@meyering.net>
76761
76762         Sync from coreutils.
76763
76764         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
76765
76766         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
76767
76768         * lib/modechange.c (mode_compile): Reject an invalid mode string
76769         that starts with an octal digit.  From Andreas Gruenbacher.
76770
76771         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
76772         and dup to open_safer and dup_safer, respectively.
76773         (openat_permissive): Fix typo in comment.
76774
76775         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
76776         "gettext.h"; either no longer needed or are guaranteed by openat.h.
76777         (_): Remove; no longer needed.
76778         (openat): Renamed from rpl_openat; no need for rpl_openat
76779         since openat.h renames openat for us.
76780         Replace most of the body with a call to openat_permissive,
76781         to avoid duplicate code.
76782         Port to (probably hypothetical) environments were mode_t is
76783         wider than int.
76784         (openat_permissive): Require mode arg, so that we can check
76785         types better.  Put it just after flags.  Change cwd failure
76786         indicator from pointer-to-bool to pointer-to-errno-value.
76787         All callers changed.
76788         Invoke openat_save_fail and/or openat_restore_fail if
76789         cwd_errno is null, so that openat can call us.
76790         (openat_permissive, fdopendir, fstatat, unlinkat):
76791         Simplify errno handling to avoid some duplicate code,
76792         as it's OK to set errno on success.
76793         * lib/openat.h: Revamp code so that function macros depend on
76794         __OPENAT_PREFIX only, not also on AT_FDCWD.
76795         (openat_ro): Remove.  Caller changed to use openat_permissive.
76796         (openat_permissive): Now a macro, if not a function.
76797         (openat_restore_fail, openat_save_fail): Now always functions,
76798         since mkdirat needs them even if __OPENAT_PREFIX is defined.
76799
76800         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
76801         and openat.c.
76802         * lib/mkdirat.c: Include openat-priv.h.
76803         Remove definitions of macros defined therein.
76804         * lib/openat.c: Likewise.
76805
76806         * lib/mkdirat.c (mkdirat): New file and function.
76807         * lib/openat.h (mkdirat): Declare.
76808
76809         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
76810
76811         * lib/openat.h (openat_permissive): Declare.
76812         (openat_ro): Define.
76813
76814         * lib/openat.c (EXPECTED_ERRNO): New macro.
76815         (openat_permissive): New function -- used in remove.c rewrite.
76816         (all functions): Set errno just before returning, only if there
76817         was an actual failure.
76818         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
76819
76820         Emulate openat-family functions using Linux's procfs, if possible.
76821         Idea and some code based on Ulrich Drepper's glibc changes.
76822
76823         * lib/openat.c: (BUILD_PROC_NAME): New macro.
76824         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
76825         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
76826         before falling back on save_cwd and restore_cwd.
76827         (fdopendir, fstatat, unlinkat): Likewise.
76828
76829         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
76830         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
76831
76832         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
76833         as second argument to va_arg.  Otherwise, some versions of gcc
76834         warn that `if this code is reached, the program will abort'.
76835
76836 2006-01-09  Jim Meyering  <jim@meyering.net>
76837
76838         Sync from coreutils.
76839         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
76840         Require openat-priv.h.
76841
76842 2006-01-09  Bruno Haible  <bruno@clisp.org>
76843
76844         * modules/strnlen (Include): Use strnlen.h.
76845
76846 2006-01-09  Bruno Haible  <bruno@clisp.org>
76847
76848         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
76849
76850 2006-01-09  Bruno Haible  <bruno@clisp.org>
76851
76852         * lib/sysexit_.h (EX_OK): New macro.
76853         Suggested by Martin Lambers <marlam@marlam.de>.
76854
76855 2006-01-09  Bruno Haible  <bruno@clisp.org>
76856
76857         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
76858         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
76859
76860 2006-01-09  Bruno Haible  <bruno@clisp.org>
76861
76862         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
76863         numbers.
76864
76865 2006-01-09  Bruno Haible  <bruno@clisp.org>
76866
76867         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
76868         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
76869         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
76870         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
76871
76872 2006-01-09  Bruno Haible  <bruno@clisp.org>
76873
76874         * build-aux/javacomp.sh.in: New file, moved from lib/.
76875         * modules/javacomp-script (Files): Update.
76876         (configure.ac): Add AC_CONFIG_FILES invocation.
76877         (EXTRA_DIST): Remove variable.
76878
76879         * build-aux/javaexec.sh.in: New file, moved from lib/.
76880         * modules/javaexec (Files): Update.
76881         (configure.ac): Add AC_CONFIG_FILES invocation.
76882         (EXTRA_DIST): Remove javaexec.sh.in.
76883
76884         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
76885         * modules/csharpcomp-script (Files): Update.
76886         (configure.ac): Add AC_CONFIG_FILES invocation.
76887         (EXTRA_DIST): Remove variable.
76888
76889         * build-aux/csharpexec.sh.in: New file, moved from lib/.
76890         * modules/csharpexec (Files): Update.
76891         (configure.ac): Add AC_CONFIG_FILES invocation.
76892         (EXTRA_DIST): Remove csharpexec.sh.in.
76893
76894 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76895
76896         Sync from coreutils.
76897
76898         Add POSIX ACL support
76899         * lib/acl.h (copy_acl, set_acl): Add declarations.
76900         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
76901         systems other than Linux.
76902         (chmod_or_fchmod): New function: use fchmod when possible,
76903         and chmod otherwise.
76904         (file_has_acl): Add a POSIX ACL implementation, with a
76905         Linux-specific subcase.
76906         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
76907         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
76908         acls are unsupported.
76909         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
76910         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
76911         are unsupported.
76912
76913 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76914
76915         Sync from coreutils.
76916         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
76917
76918 2006-01-07  Bruno Haible  <bruno@clisp.org>
76919
76920         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
76921         gl_EARLY.
76922
76923 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76924
76925         * lib/strftime.c (tzname): Don't declare if it is already #defined.
76926         Problem reported for Mingw by Mark Junker.
76927
76928 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76929
76930         * README: Gnulib normally doesn't generate a tarball.
76931
76932 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
76933
76934         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
76935         long int, not int, for nanosecond counts, so that people who are
76936         used to POSIX struct timespec won't be surprised.  Reported by Jim
76937         Meyering.
76938
76939 2005-12-28  Bruno Haible  <bruno@clisp.org>
76940
76941         * build-aux/config.rpath: Update from GNU gettext.
76942
76943 2005-12-16  Jim Meyering  <jim@meyering.net>
76944
76945         * modules/fprintftime: New module.
76946         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
76947
76948 2005-12-16  Jim Meyering  <jim@meyering.net>
76949
76950         * m4/fprintftime.m4: New file.
76951
76952 2005-12-16  Jim Meyering  <jim@meyering.net>
76953
76954         * lib/fprintftime.c, lib/fprintftime.h: New files.
76955
76956 2005-12-15  Simon Josefsson  <jas@extundo.com>
76957
76958         * modules/socklen (configure.ac): Fix M4 macro name, to align with
76959         new m4/socklen.m4.
76960
76961 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76962
76963         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
76964         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
76965
76966 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76967
76968         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
76969         * lib/argp-help.c (fill_in_uparams): Check if the constructed
76970         struct uparams is valid. Fall back to the default values if it is
76971         not.
76972
76973 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76974
76975         * modules/argp (Files): Add argp-pin.c
76976         (Depends-on): dirname
76977         (lib_SOURCES): Add argp-pin.c
76978
76979 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76980
76981         * m4/argp.m4:  Check if program_invocation_name and
76982         program_invocation_short_name are declared and define appropriate
76983         macros if they are not.
76984
76985 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76986
76987         * lib/argp-help.c (__argp_base_name): New function
76988         (__argp_short_program_name): Rewrite using __argp_base_name
76989         * lib/argp-namefrob.h: Define program_invocation_name and
76990         program_invocation_short_name if requested
76991         (__argp_base_name): Add prototype
76992         * lib/argp-parse.c (argp_def): Use gettext wrappers
76993         (argp_default_parser): Use __argp_base_name
76994         * lib/argp-pin.c: New file. Defines program_invocation_name and
76995         program_invocation_short_name on systems that lack them.
76996
76997 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76998
76999         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77000         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77001         porting problem reported by Georg Schwarz in
77002         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77003
77004 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77005
77006         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77007         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77008         porting problem reported by Georg Schwarz in
77009         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77010
77011 2005-12-05  Bruno Haible  <bruno@clisp.org>
77012
77013         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77014         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77015         Reported by Mark Junker <mjscod@gmx.de>.
77016
77017 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77018
77019         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77020         Use implementation from Albert Chin, with some
77021         comments/corrections by Stepan Kasal and myself.
77022
77023 2005-12-02  Bruno Haible  <bruno@clisp.org>
77024
77025         * gnulib-tool (func_import): Accept GPLed build tool modules when
77026         --lgpl is given.
77027         * modules/csharpcomp-script: New file.
77028         * modules/csharpcomp: Depend on it.
77029         * modules/javacomp-script: New file.
77030         * modules/javacomp: Depend on it.
77031         Suggested by Simon Josefsson.
77032
77033 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77034
77035         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77036         statement, to work around an HP-UX 10.20 compiler bug reported by
77037         Peter O'Gorman.
77038
77039 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77040
77041         * modules/savedir (Depends-on): Add openat.
77042
77043 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77044
77045         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77046         (uintmax_t) [defined uintmax_t]: Do not declare.
77047         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77048         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77049         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77050         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77051         sake of portability to weird hosts that C allows (though we don't
77052         know of any practical examples).
77053
77054         * lib/savedir.h (fdsavedir): New decl.
77055         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77056         contains most of the former guts of savedir.
77057         (savedir): Use savedirstream.
77058         Include "openat.h".
77059
77060 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77061
77062         * modules/obstack (Files): Add m4/ulonglong.m4.
77063         Problem reported by Davide Angelocola.
77064
77065 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77066
77067         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77068         coreutils no longer futzes with rounding modes.
77069
77070 2005-11-14  Jim Meyering  <jim@meyering.net>
77071
77072         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77073         replacement of mkstemp.
77074
77075 2005-11-10  Simon Josefsson  <jas@extundo.com>
77076
77077         * lib/readline.c: Remove EOL.
77078
77079 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77080
77081         * modules/gethrxtime (Depends-on): Add gettime.
77082
77083 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77084
77085         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77086         or gettimeofday; no longer needed.
77087
77088 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77089
77090         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77091         time business.
77092         (gethrxtime) [! (HAVE_NANOUPTIME
77093         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77094         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77095         our own approximation.
77096
77097 2005-11-08  Eric Blake  <ebb9@byu.net>
77098
77099         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77100
77101 2005-11-08  Eric Blake  <ebb9@byu.net>
77102
77103         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77104
77105 2005-11-04  Bruno Haible  <bruno@clisp.org>
77106
77107         * gnulib-tool: Implement --update mode.
77108
77109 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77110
77111         Fix porting problem reported by Theodoros V. Kalamatianos.
77112         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77113         Don't assume that futimes failing means we must fail.
77114
77115 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77116
77117         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77118         variables to suggest the intended function of the PATH_MAX check.
77119
77120 2005-10-30  Kean Johnston  <jkj@sco.com>
77121
77122         Trivial changes to support SCO systems.
77123         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77124         as PATH_MAX.
77125         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77126         where __ptr is null when no I/O is pending.
77127
77128 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77129
77130         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77131         leave errno alone.  Problem reported by Dmitry V. Levin.
77132
77133 2005-10-28  Simon Josefsson  <jas@extundo.com>
77134
77135         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77136         Test more.
77137
77138         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77139
77140         * modules/md2, modules/md2-tests: New files.
77141
77142 2005-10-28  Simon Josefsson  <jas@extundo.com>
77143
77144         * m4/inet_ntop.m4: More tests.
77145
77146         * m4/gc-md2.m4, md2.m4: New file.
77147
77148 2005-10-28  Simon Josefsson  <jas@extundo.com>
77149
77150         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77151         "restrict" keywords, as per POSIX.  Protect the function
77152         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77153         Don't use K&R prototypes.  Check the sprintf return values.
77154         Re-define EAFNOSUPPORT if not present.  Indent.
77155
77156         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
77157         suggested by Bruno Haible <bruno@clisp.org>.
77158
77159         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
77160
77161         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
77162
77163         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
77164         libgcrypt).
77165
77166         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
77167
77168         * lib/md2.h, lib/md2.c: New files.
77169
77170 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77171
77172         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77173         errno alone.  Problem reported by Frederic Jolliton.
77174
77175 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77176
77177         * modules/verify (License): Change from GPL to LGPL.  This is a
77178         tiny module and there are apparently near-equivalents that are
77179         under the BSD license.
77180
77181 2005-10-24  Simon Josefsson  <jas@extundo.com>
77182
77183         * modules/sha1: Relicense to LGPL.
77184
77185 2005-10-24  Simon Josefsson  <jas@extundo.com>
77186
77187         * lib/md4.h: Shrink buffer size, now that we changed the type.
77188
77189 2005-10-23  Simon Josefsson  <jas@extundo.com>
77190
77191         * gnulib-tool (func_import): Fix --tests-base.
77192
77193 2005-10-22  Simon Josefsson  <jas@extundo.com>
77194
77195         * modules/arcfour (Depends-on): Need stdint.
77196
77197 2005-10-22  Simon Josefsson  <jas@extundo.com>
77198
77199         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
77200         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
77201
77202 2005-10-22  Simon Josefsson  <jas@extundo.com>
77203
77204         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
77205         suggested by Bruno Haible <bruno@clisp.org>.
77206
77207 2005-10-22  Simon Josefsson  <jas@extundo.com>
77208
77209         * lib/crc.h: Include stddef.h, for size_t.
77210
77211 2005-10-22  Simon Josefsson  <jas@extundo.com>
77212
77213         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
77214         arcfour_context struct (simplify test vector testing in GNU
77215         Shishi).
77216
77217 2005-10-21  Simon Josefsson  <jas@extundo.com>
77218
77219         * modules/des, modules/des-tests: New files.
77220
77221         * modules/gc-des, modules/gc-des-tests: New files.
77222
77223         * tests/test-des.c, tests/test-gc-des.c: New file.
77224
77225 2005-10-21  Simon Josefsson  <jas@extundo.com>
77226
77227         * modules/arctwo, modules/arctwo-tests: New files.
77228
77229         * tests/test-arctwo.c: New file.
77230
77231         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
77232
77233         * tests/test-gc-arctwo.c: New file.
77234
77235 2005-10-21  Simon Josefsson  <jas@extundo.com>
77236
77237         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
77238         Bruno Haible <bruno@clisp.org>.
77239
77240         * m4/gc-des.m4: New file.
77241
77242 2005-10-21  Simon Josefsson  <jas@extundo.com>
77243
77244         * m4/arctwo.m4: New file.
77245
77246         * m4/gc-arctwo.m4: New file.
77247
77248 2005-10-21  Simon Josefsson  <jas@extundo.com>
77249
77250         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
77251         block.
77252
77253 2005-10-21  Simon Josefsson  <jas@extundo.com>
77254
77255         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
77256         <bruno@clisp.org>.
77257
77258         * lib/hmac-sha1.c (hmac_sha1): Likewise.
77259
77260         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
77261         Bruno Haible <bruno@clisp.org>.
77262
77263         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
77264         <bruno@clisp.org>.
77265
77266 2005-10-21  Simon Josefsson  <jas@extundo.com>
77267
77268         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
77269
77270 2005-10-21  Simon Josefsson  <jas@extundo.com>
77271
77272         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
77273
77274 2005-10-21  Simon Josefsson  <jas@extundo.com>
77275
77276         * lib/des.h, lib/des.c: New files.
77277
77278         * lib/gc-gnulib.c: Support DES.c
77279
77280 2005-10-21  Simon Josefsson  <jas@extundo.com>
77281
77282         * lib/arctwo.h, lib/arctwo.c: New files.
77283
77284         * lib/gc-gnulib.c: Support ARCTWO.
77285
77286 2005-10-21  Simon Josefsson  <jas@extundo.com>
77287
77288         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
77289         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77290
77291 2005-10-21  Simon Josefsson  <jas@extundo.com>
77292
77293         * gnulib-tool (func_import, func_create_testdir): Define automake
77294         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
77295         Makefile.am snippet),
77296         suggested by Bruno Haible <bruno@clisp.org>.
77297
77298         * modules/gc (Makefile.am): Use it.
77299
77300 2005-10-21  Bruno Haible  <bruno@clisp.org>
77301
77302         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
77303         patch.
77304
77305 2005-10-19  Simon Josefsson  <jas@extundo.com>
77306
77307         * tests/test-gc-rijndael.c: New file.
77308
77309         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
77310
77311 2005-10-19  Simon Josefsson  <jas@extundo.com>
77312
77313         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
77314         interface too.
77315
77316 2005-10-19  Simon Josefsson  <jas@extundo.com>
77317
77318         * tests/test-gc-arcfour.c: New file.
77319
77320         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
77321
77322 2005-10-19  Simon Josefsson  <jas@extundo.com>
77323
77324         * modules/gc-md4, modules/gc-md4-tests: New file.
77325
77326         * tests/test-gc-md4.c: New file.
77327
77328 2005-10-19  Simon Josefsson  <jas@extundo.com>
77329
77330         * m4/gc-md4.m4: New file.
77331
77332 2005-10-19  Simon Josefsson  <jas@extundo.com>
77333
77334         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
77335         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
77336         <kasal@ucw.cz>.
77337
77338 2005-10-19  Simon Josefsson  <jas@extundo.com>
77339
77340         * m4/gc-arcfour.m4: New file.
77341
77342         * m4/gc-rijndael.m4: New file.
77343
77344 2005-10-19  Simon Josefsson  <jas@extundo.com>
77345
77346         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
77347
77348 2005-10-19  Simon Josefsson  <jas@extundo.com>
77349
77350         * lib/gc-gnulib.c: Support ARCFOUR.
77351
77352 2005-10-19  Simon Josefsson  <jas@extundo.com>
77353
77354         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
77355         support.
77356
77357         * lib/gc.h: Add ECB enum type.
77358
77359         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
77360
77361 2005-10-18  Simon Josefsson  <jas@extundo.com>
77362
77363         * tests/test-md5.c: New file.
77364
77365         * modules/md5-tests: New file.
77366
77367 2005-10-18  Simon Josefsson  <jas@extundo.com>
77368
77369         * tests/test-md4.c: New file.
77370
77371         * modules/md4, modules/md4-tests: New files.
77372
77373 2005-10-18  Simon Josefsson  <jas@extundo.com>
77374
77375         * m4/md4.m4: New file.
77376
77377 2005-10-18  Simon Josefsson  <jas@extundo.com>
77378
77379         * lib/md4.h, lib/md4.c: New files, based on md5.?.
77380
77381 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
77382
77383         * gnulib-tool (func_create_testdir): Omit the second check whether
77384         BUILT_SOURCES in nonempty.
77385
77386 2005-10-17  Simon Josefsson  <jas@extundo.com>
77387
77388         * tests/test-rijndael.c: New file.
77389
77390 2005-10-17  Simon Josefsson  <jas@extundo.com>
77391
77392         * modules/sha1: Depend on stdint instead of md5.
77393
77394         * modules/md5: Depend on stdint, remove uint32_t.
77395
77396 2005-10-17  Simon Josefsson  <jas@extundo.com>
77397
77398         * modules/gc-sha1-tests: New file.
77399
77400         * tests/test-gc-sha1.c: New file.
77401
77402 2005-10-17  Simon Josefsson  <jas@extundo.com>
77403
77404         * m4/md5.m4: Remove call to uint32_t.m4.
77405
77406 2005-10-17  Simon Josefsson  <jas@extundo.com>
77407
77408         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
77409
77410         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
77411         md5.h.
77412
77413         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
77414
77415         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
77416
77417 2005-10-17  Simon Josefsson  <jas@extundo.com>
77418
77419         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
77420
77421 2005-10-17  Simon Josefsson  <jas@extundo.com>
77422
77423         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
77424
77425 2005-10-17  Simon Josefsson  <jas@extundo.com>
77426
77427         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
77428
77429         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
77430
77431 2005-10-17  Bruno Haible  <bruno@clisp.org>
77432
77433         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
77434         that it can also be used in a test.
77435
77436 2005-10-16  Bruno Haible  <bruno@clisp.org>
77437
77438         * gnulib-tool (func_emit_tests_Makefile_am): Also define
77439         TESTS_ENVIRONMENT, so that individual tests can augment it.
77440
77441         * gnulib-tool (func_create_testdir): Use an intermediate target for
77442         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
77443         macros, like $(ALLOCA_H), which cannot be passed through the command
77444         line.
77445
77446 2005-10-15  Simon Josefsson  <jas@extundo.com>
77447
77448         * modules/rijndael-tests: New file.
77449
77450         * modules/rijndael: New file.
77451
77452 2005-10-15  Simon Josefsson  <jas@extundo.com>
77453
77454         * m4/rijndael.m4: New file.
77455
77456 2005-10-15  Simon Josefsson  <jas@extundo.com>
77457
77458         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
77459
77460         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
77461
77462 2005-10-14  Simon Josefsson  <jas@extundo.com>
77463
77464         * tests/test-arcfour.c: New file.
77465
77466         * modules/arcfour, modules/arcfour-tests: New files.
77467
77468 2005-10-14  Simon Josefsson  <jas@extundo.com>
77469
77470         * m4/arcfour.m4: New file.
77471
77472 2005-10-14  Simon Josefsson  <jas@extundo.com>
77473
77474         * lib/arcfour.h, lib/arcfour.c: New files.
77475
77476 2005-10-14  Roland McGrath  <roland@redhat.com>
77477
77478         Import from libc.  [BZ #1331]
77479         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
77480         macro argument.
77481         Reported by Matej Vela <vela@debian.org>.
77482
77483 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77484
77485         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
77486         include <wchar.h>; no longer needed.
77487
77488 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77489
77490         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
77491
77492 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
77493         and  Ulrich Drepper  <drepper@redhat.com>
77494
77495         Import from libc.
77496         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
77497         instead of inline stream orientation test and two separate
77498         function calls.  Pay no attention to USE_IN_LIBIO.
77499
77500 2005-10-13  Simon Josefsson  <jas@extundo.com>
77501
77502         * modules/gc-hmac-md5-tests: New file.
77503
77504         * tests/test-gc-hmac-sha1.c: New file.
77505
77506         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
77507
77508         * modules/gc-hmac-md5-tests: New file.
77509
77510         * tests/test-gc-md5.c: New file.
77511
77512         * modules/gc-md5-tests: New file.
77513
77514 2005-10-13  Simon Josefsson  <jas@extundo.com>
77515
77516         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
77517         Move memory allocation outside of loop.
77518
77519 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
77520
77521         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
77522         intermediate directory is in a read-only file system.  Problem
77523         reported by Eric Blake.
77524
77525 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
77526
77527         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
77528
77529 2005-10-12  Simon Josefsson  <jas@extundo.com>
77530
77531         * tests/test-hmac-sha1.c: New file.
77532
77533         * modules/hmac-sha1-tests: New file.
77534
77535         * modules/hmac-sha1: New file.
77536
77537 2005-10-12  Simon Josefsson  <jas@extundo.com>
77538
77539         * modules/gc-sha1: New file.
77540
77541 2005-10-12  Simon Josefsson  <jas@extundo.com>
77542
77543         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
77544
77545         * tests/test-gc-pbkdf2-sha1.c: New file.
77546
77547 2005-10-12  Simon Josefsson  <jas@extundo.com>
77548
77549         * modules/gc-md5, modules/gc-hmac-md5: New files.
77550
77551         * modules/gc (Files): Remove md5, memxor and hmac files.
77552
77553 2005-10-12  Simon Josefsson  <jas@extundo.com>
77554
77555         * m4/gc-pbkdf2-sha1.m4: New file.
77556
77557         * m4/gc-hmac-sha1.m4: New file.
77558
77559         * m4/gc-sha1: New file.
77560
77561         * m4/hmac-sha1.m4: New file.
77562
77563 2005-10-12  Simon Josefsson  <jas@extundo.com>
77564
77565         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
77566
77567         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
77568
77569 2005-10-12  Simon Josefsson  <jas@extundo.com>
77570
77571         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
77572         suggested by Bruno Haible <bruno@clisp.org>.
77573
77574 2005-10-12  Simon Josefsson  <jas@extundo.com>
77575
77576         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
77577
77578 2005-10-12  Simon Josefsson  <jas@extundo.com>
77579
77580         * lib/gc-pbkdf2-sha1.c: New file.
77581
77582         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
77583
77584 2005-10-12  Simon Josefsson  <jas@extundo.com>
77585
77586         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
77587
77588         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
77589
77590 2005-10-12  Simon Josefsson  <jas@extundo.com>
77591
77592         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
77593         GC_USE_HMAC_MD5, respectively.
77594
77595         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
77596         (gc_md5): Fix typo.
77597
77598         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
77599
77600         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
77601
77602         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
77603
77604 2005-10-12  Bruno Haible  <bruno@clisp.org>
77605
77606         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
77607         Reported by Stepan Kasal <kasal@ucw.cz>.
77608
77609 2005-10-11  Simon Josefsson  <jas@extundo.com>
77610
77611         * tests/test-crc.c: New file.
77612
77613         * modules/crc, modules/crc-tests: New files.
77614
77615 2005-10-11  Simon Josefsson  <jas@extundo.com>
77616
77617         * m4/crc.m4: New file.
77618
77619 2005-10-11  Simon Josefsson  <jas@extundo.com>
77620
77621         * lib/gc.h: Add gc_hash and gc_hash_buffer.
77622
77623         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
77624
77625         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
77626
77627 2005-10-11  Simon Josefsson  <jas@extundo.com>
77628
77629         * lib/crc.h, lib/crc.c: New files.
77630
77631         * lib/gc.h (gc_hash_buffer): Add doc.
77632
77633 2005-10-11  Bruno Haible  <bruno@clisp.org>
77634
77635         * modules/c-strcasestr: New file.
77636         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
77637
77638 2005-10-11  Bruno Haible  <bruno@clisp.org>
77639
77640         * modules/c-strcase: New file.
77641         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
77642
77643 2005-10-11  Bruno Haible  <bruno@clisp.org>
77644
77645         * lib/strcasecmp.c: Include limits.h.
77646         (strcasecmp): Avoid integer overflow on exotic platforms.
77647         * lib/strncasecmp.c: Include limits.h.
77648         (strncasecmp): Avoid integer overflow on exotic platforms.
77649         Reported by Paul Eggert.
77650
77651 2005-10-11  Bruno Haible  <bruno@clisp.org>
77652
77653         * lib/c-strcasestr.h: New file, from GNU gettext.
77654         * lib/c-strcasestr.c: New file, from GNU gettext.
77655
77656 2005-10-11  Bruno Haible  <bruno@clisp.org>
77657
77658         * lib/c-strcase.h: New file, from GNU gettext.
77659         * lib/c-strcasecmp.c: New file, from GNU gettext.
77660         * lib/c-strncasecmp.c: New file, from GNU gettext.
77661
77662 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77663
77664         * modules/mempcpy (License): GPL -> LGPL.
77665         * modules/strchrnul (License): Likewise.
77666         * modules/sysexits (License): Likewise.
77667
77668 2005-10-08  Simon Josefsson  <jas@extundo.com>
77669
77670         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
77671
77672 2005-10-07  Simon Josefsson  <jas@extundo.com>
77673
77674         * m4/memxor.m4: Remove gl_C_RESTRICT call.
77675
77676 2005-10-06  Simon Josefsson  <jas@extundo.com>
77677
77678         * tests/test-hmac-md5.c: New file.
77679
77680         * modules/hmac-md5-tests: New file.
77681
77682         * modules/hmac-md5: New file.
77683
77684 2005-10-06  Simon Josefsson  <jas@extundo.com>
77685
77686         * m4/hmac-md5.m4: New file.
77687
77688         * m4/memxor.m4: Require gl_C_RESTRICT.
77689
77690 2005-10-06  Simon Josefsson  <jas@extundo.com>
77691
77692         * lib/memxor.c (memxor): Avoid casts and warnings.
77693
77694 2005-10-06  Simon Josefsson  <jas@extundo.com>
77695
77696         * lib/hmac-md5.c: New file.
77697
77698         * lib/hmac.h: New file.
77699
77700 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77701
77702         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
77703         promotes to int, not unsigned int, to catch the AIX 5.3
77704         compiler bug.
77705
77706 2005-10-05  Simon Josefsson  <jas@extundo.com>
77707
77708         * modules/memxor: New file.
77709
77710         * modules/iconv (Files): Move config.rpath to havelib, it is used
77711         there.
77712
77713         * modules/havelib (Files): Add config.rpath.
77714
77715 2005-10-05  Simon Josefsson  <jas@extundo.com>
77716
77717         * m4/memxor.m4: New file.
77718
77719 2005-10-05  Simon Josefsson  <jas@extundo.com>
77720
77721         * lib/memxor.c (memxor): Fix compiler error.
77722
77723         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
77724         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
77725
77726         * lib/memxor.h, lib/memxor.c: New files.
77727
77728         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
77729         we assume all systems have it, suggested by Jim Meyering
77730         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
77731         any systems lack sys/socket.h; mingw32 is known to lack it, but we
77732         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
77733         same reasons.
77734
77735 2005-10-05  Simon Josefsson  <jas@extundo.com>
77736
77737         * config/srclist.txt: Add glibc bug 1423 for md5.h.
77738
77739 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77740
77741         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
77742         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
77743         needed, since the source code now assumes these .h files.
77744
77745 2005-10-05  Derek Price  <derek@ximbiot.com>
77746
77747         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
77748
77749 2005-10-05  Bruno Haible  <bruno@clisp.org>
77750
77751         * modules/stdint (License): Change to LGPL.
77752
77753 2005-10-04  Simon Josefsson  <jas@extundo.com>
77754
77755         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
77756         D. Baushke" <mdb@gnu.org>.
77757
77758 2005-10-04  Bruno Haible  <bruno@clisp.org>
77759
77760         * lib/verify.h (verify_true): Provide alternative definition for C++.
77761
77762 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
77763
77764         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
77765         (SSIZE_MAX): New macro, if not already defined.
77766         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
77767         than 2 GiB.
77768
77769 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77770
77771         Sync from coreutils.
77772         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
77773         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
77774         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
77775         ULLONG_MAX doesn't work with 2.7.2.1.
77776
77777 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77778
77779         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
77780         From Ben Pfaff.
77781
77782         * modules/exclude (Depends-on): Depend on verify.
77783         * modules/strtoimax (Depends-on): Likewise.
77784         * modules/utimecmp (Depends-on): Likewise.
77785
77786 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77787
77788         * lib/exclude.c: Include verify.h.
77789         (verify): Remove.  All callers changed to use verify.h's version.
77790         * lib/strtoimax.c: Likewise.
77791         * lib/utimecmp.c: Likewis.e
77792
77793         Sync from coreutils.
77794         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
77795         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
77796         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
77797         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
77798         bother returning ENOSYS if settimeofday or stime fails; just let
77799         them return whatever errno they want to return.
77800         * lib/utimens.c: Include unistd.h, for dup2.
77801         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
77802         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
77803
77804 2005-10-02  Jim Meyering  <jim@meyering.net>
77805
77806         Sync from coreutils.
77807         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
77808         from glibc-2.2.5 that fails for read-only files.
77809
77810 2005-10-02  Jim Meyering  <jim@meyering.net>
77811
77812         Sync from coreutils.
77813         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
77814         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
77815         `#if HAVE_CONFIG_H'.
77816         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
77817         Remove AT_FDCWD test.
77818         Do not consume the fd unless successful.
77819         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
77820         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
77821         block, so that we don't even try to compile it if settimeofday is
77822         available.  This works around a compilation failure on OSF1 V5.1,
77823         due to stime requiring a `long int*' while tv_sec is `int'.
77824
77825 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
77826
77827         Sync from coreutils.
77828         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
77829         against `yes', rather than just testing for nonempty.
77830
77831 2005-10-01  Simon Josefsson  <jas@extundo.com>
77832
77833         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
77834         and Darwin.
77835
77836         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
77837         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
77838         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
77839         freeaddrinfo and gai_strerror are declared by the POSIX headers.
77840         Check if struct addrinfo is declared.
77841
77842 2005-10-01  Simon Josefsson  <jas@extundo.com>
77843
77844         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
77845         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
77846         AI_* and EAI_* definitions.  Protect function declarations.
77847
77848 2005-10-01  Jim Meyering  <jim@meyering.net>
77849
77850         Sync from coreutils.
77851
77852         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
77853         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
77854         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
77855         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77856         in the inet and nsl libraries.  Required on Solaris 5.7.
77857
77858 2005-10-01  Jim Meyering  <jim@meyering.net>
77859
77860         Sync from coreutils.
77861         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77862         in the inet and nsl libraries.  Required on Solaris 5.7.
77863
77864 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
77865
77866         * lib/getdelim.c (getdelim): Remove unused variables.
77867
77868 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77869
77870         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
77871         so that the code works even with ancient cpp.  Portability problem
77872         with GCC 2.7.2.1 reported by Thomas M.Ott.
77873
77874 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77875
77876         * modules/regex (Depends-on): Add strcase.
77877
77878         * modules/gethostname (Licence): Change from GPL to LGPL, since
77879         gethostname.c is a trivial implementation of a standard library
77880         function.
77881         * modules/poll (License): Change from GPL to LGPL, since it's
77882         derived from LGPL code.
77883
77884 2005-09-27  Jim Meyering  <jim@meyering.net>
77885
77886         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
77887         HAVE_CONFIG_H.
77888
77889         * lib/intprops.h (signed_type_or_expr__): Define.
77890         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
77891         for unsigned types.
77892
77893 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77894
77895         * lib/verify.h (verify_expr): Remove, replacing with:
77896         (verify_true): New macro that returns true instead of void.
77897         (verify_type__): Remove.
77898         (verify): Use verify_true rather than verify_type__.
77899
77900 2005-09-26  Bruno Haible  <bruno@clisp.org>
77901
77902         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
77903         is necessary.
77904         (lib_SOURCES): Remove mbchar.c.
77905         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
77906         (Files): Add m4/mbrtowc.m4.
77907         * modules/mbiter: Likewise.
77908         * modules/mbuiter: Likewise.
77909
77910 2005-09-26  Bruno Haible  <bruno@clisp.org>
77911
77912         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
77913         compile mbchar.c if they are not both present.
77914         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
77915         * m4/mbiter.m4 (gl_MBITER): Likewise.
77916         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
77917         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
77918         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
77919
77920 2005-09-25  Jim Meyering  <jim@meyering.net>
77921
77922         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
77923         also uses socklen_t.
77924
77925 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
77926
77927         * lib/utimens.c (ENOSYS): Define if not already defined.
77928         (futimens): Support having a null PATH if the file descriptor
77929         is nonnegative.
77930
77931         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
77932         Remove.
77933         (__attribute): Define to empty unless GCC 3.1 or later.
77934         This works around a core dump on OpenBSD 3.4, which has GCC
77935         2.95.3, which dumps core when given __attribute__(()).  It also
77936         simplifies other tests, since we really don't want to bother with
77937         worrying about which ancient version of GCC supported what.
77938         Original problem reported by Yoann Vandoorselaere, with part of
77939         the fix suggested by Derek Price.
77940
77941 2005-09-24  Jim Meyering  <jim@meyering.net>
77942
77943         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
77944         so we can once again use a positive bitfield width of 1 -- now we
77945         don't have to explain why we were using a bitfield width of 2.
77946
77947 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77948
77949         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
77950         and similarly for the other external symbols.  Problem reported
77951         by James Gallager.
77952
77953         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
77954         bug reported by Jim Meyering.
77955
77956         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
77957         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
77958         not needed, since socklen is a prerequisite module.
77959
77960 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77961
77962         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
77963         Problem reported by Eric Blake.
77964         (getaddrinfo): Initialize se so that it's not garbage.
77965         Redo internal storage allocation so that it doesn't make unportable
77966         assumptions about alignment.
77967         Fix a memory leak.
77968
77969         * lib/utimens.c (futimens): Use futimesat if available.
77970         Prefer it to futimes since it doesn't have the futimes bug.
77971
77972         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
77973         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
77974         Instead, declare a function that returns a pointer to an array,
77975         and use verify_type__ to declare the size of the array.
77976         Problem and germ of a solution reported by Bruno Haible.
77977         (verify_type__): Use 2, not 1, for bitfield size, to avoid
77978         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
77979
77980 2005-09-23  Jim Meyering  <jim@meyering.net>
77981
77982         Sync from coreutils.
77983         Correct build failure (socklen_t not defined) on at least
77984         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
77985         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
77986
77987 2005-09-23  Jim Meyering  <jim@meyering.net>
77988
77989         * modules/getaddrinfo (Depends-on): Add socklen.
77990
77991 2005-09-23  Bruno Haible  <bruno@clisp.org>
77992
77993         * tests/test-verify.c: New file.
77994
77995 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77996
77997         Sync from coreutils.
77998
77999         * modules/argmatch (Depends-on): Add verify.
78000         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78001         unistd-safer.
78002         * modules/save-cwd (Depends-on): Likewise.
78003
78004         * modules/openat (Files): Add lib/openat-die.c.
78005         (Depends-on): Remove error, exitfail.
78006         Add dirname.
78007
78008         * modules/verify: New file.
78009         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78010         with "verify" module.
78011
78012 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78013
78014         Sync from coreutils.
78015
78016         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78017         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78018         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78019         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78020         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78021         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78022         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78023         Don't bother checking for string.h, stdlib.h, unistd.h.
78024         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78025         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78026         module's job.
78027         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78028         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78029
78030         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78031         (gl_GETDATE): Use it.
78032
78033         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78034
78035 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78036
78037         Sync from coreutils.
78038
78039         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78040         stat-time.h.
78041         * lib/argmatch.h: Include verify.h
78042         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78043         (ARGMATCH_ASSERT): Remove; unused.
78044         * lib/canonicalize.c: Assume STDC_HEADERS.
78045         * lib/exclude.c: Include "strcase.h".
78046         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78047         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78048         and stdio-safer.h.
78049         (getusershell): Call fopen, not fopen_safer.
78050         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78051         Do not include unistd-safer.h.
78052         (save_cwd): Don't call fd_safer; no longer needed
78053         now that we include fcntl--.h.
78054
78055         * lib/getdate.y (relative_time): New type.
78056         (RELATIVE_TIME_0): New constant.
78057         (parser_control): Use relative_time instead of doing it ourselves.
78058         (%union): Add new relative_time rel member.
78059         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78060         Now typeless.
78061         (relunit, relunit_snumber): Now of type rel.
78062         (zone, rel, relunit, get_date): Adjust to above changes.
78063
78064         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78065         Do not include unistd-safer.h.
78066         (getloadavg): Don't call fd_safer; no longer needed
78067         now that we include fcntl--.h.
78068
78069         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78070         (make_dir_parents): Treat ENOSYS like EEXIST.
78071
78072         Improve quality of diagnostics on restore_cwd failure.
78073         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78074         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78075         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78076         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78077         each time through the loop.  Do not diagnose restore_cwd failure;
78078         that is the caller's job (and perhaps the caller does not care).
78079
78080         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78081         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78082         If the file already exists but is not a directory, don't bother
78083         to try to make its parents.
78084         Close potential file descriptor leak if we can't chdir("/") (!).
78085         Don't always return true if chdir($PWD) fails; return true only
78086         if the requested action was done successfully (except for the
78087         chdir($PWD)).
78088         Don't log final directory unless we actually made it.
78089         Refactor to avoid duplicate code to fix up permissions.
78090         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78091
78092         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78093         to make it a bit faster and (I hope) clearer.
78094         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78095         Fix bug in formats like %2N.
78096
78097         * lib/verify.h: New file.
78098
78099 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78100
78101         Sync from coreutils.
78102         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78103
78104 2005-09-22  Jim Meyering  <jim@meyering.net>
78105
78106         Sync from coreutils.
78107
78108         * m4/lstat.m4 (gl_FUNC_LSTAT):
78109         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78110         Remove obsolete comment.
78111         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78112         * m4/xstrtod.m4: Likewise.
78113
78114         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78115
78116 2005-09-22  Jim Meyering  <jim@meyering.net>
78117
78118         Sync from coreutils.
78119
78120         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78121
78122         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78123         the .tm_year member, since otherwise gcc-4.0 would now warn about
78124         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78125
78126         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78127         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78128
78129         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78130         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78131         when run in a time zone for which daylight savings time is in effect
78132         for the starting date.
78133
78134         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78135         stop us from restricting permissions of just-created absolute-named
78136         directories.
78137         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78138         to restore initial working directory.
78139         * lib/mkdir-p.c (make_dir_parents): New parameter:
78140         different_working_dir, to tell caller if/when we change the working
78141         directory and are unable to return to the initial one.
78142         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78143         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78144         `return false'.  This fixes a bug introduced on 2004-07-30.
78145
78146         * lib/openat.c (fdopendir): Be sure to close the supplied
78147         file descriptor before returning.  This makes our replacement
78148         implementation a little closer to Solaris's, where fdopendir
78149         ties the file descriptor to the returned DIR* pointer.
78150         * lib/openat.c (unlinkat): New function.
78151         * lib/openat.h (unlinkat): Add prototype.
78152         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78153         (openat_restore_fail): Rename from openat_restore_die.
78154         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
78155
78156         Provide an alternative to exiting immediately upon save_cwd or
78157         restore_cwd failure.  Now, an application can arrange e.g.,
78158         to perform a longjump in that case.
78159         * lib/openat.c: Include dirname.h.
78160         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
78161         (rpl_openat, fdopendir, fstatat): Call openat_save_die
78162         and openat_restore_die rather than calling error directly.
78163         Don't include "error.h" or "exitfail.h"; they're no longer needed.
78164
78165         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
78166         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
78167         define.
78168
78169         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78170         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78171                             int utc, int nanoseconds);
78172         Background:
78173         date should not have to allocate a megabyte of virtual memory to
78174         handle a format argument like +%1048575T.  When implemented with
78175         strftime, it must allocate such a buffer, use strftime to fill it
78176         in, print it, then free it.
78177         With fprintftime, it simply prints everything and exits.
78178         With no need for memory allocation, that's one fewer way to fail.
78179         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78180         optional field width, not before, so we accept %9:z, not %:9z.
78181         (my_strftime): Be sure to use L_('x') for literals.
78182
78183         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78184         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78185         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78186         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78187         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
78188         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
78189         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
78190         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
78191         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
78192         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
78193         * lib/xgethostname.c, lib/xreadlink.c:
78194         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
78195
78196         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
78197         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
78198         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
78199         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78200         and don't include <sys/file.h>).
78201
78202 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
78203
78204         Sync from coreutils.
78205
78206         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
78207         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
78208         [!LDAV_DONE]: Avoid unused variable warning.
78209
78210 2005-09-21  Bruno Haible  <bruno@clisp.org>
78211
78212         * lib/unicodeio.h (unicode_to_mb): New declaration.
78213
78214 2005-09-20  Derek Price  <derek@ximbiot.com>
78215
78216         * lib/getaddrinfo.c: Don't include <netdb.h> included from
78217         getaddrinfo.h.
78218
78219 2005-09-20  Bruno Haible  <bruno@clisp.org>
78220
78221         * gnulib-tool: Remove trailing slashes from the values specified for
78222         --source-base, --m4-base, --tests-base, --aux-dir.
78223         Suggested by Simon Josefsson <jas@extundo.com>.
78224
78225 2005-09-20  Bruno Haible  <bruno@clisp.org>
78226
78227         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
78228         func_modules_to_filelist, func_import, func_create_testdir): Make all
78229         sorting results locale-independent, so that gnulib-cache.m4 doesn't
78230         change when gnulib-tool is invoked in a different locale.
78231
78232 2005-09-19  Simon Josefsson  <jas@extundo.com>
78233
78234         * m4/socklen.m4: Fix typo.
78235
78236 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78237
78238         Use a consistent style for including <config.h>.
78239         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
78240         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
78241         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
78242         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
78243         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
78244         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
78245         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
78246         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
78247         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
78248         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
78249         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
78250         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
78251         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
78252         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
78253         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
78254         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
78255         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
78256         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
78257         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
78258         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
78259         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
78260         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
78261         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
78262         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
78263         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
78264         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
78265         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
78266         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
78267         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
78268         lib/xstrtoumax.c, lib/yesno.c:
78269         Standardize inclusion of config.h.
78270         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
78271         lib/inttostr.h:  Removed inclusion of config.h from header files.
78272         * lib/inttostr.c:  Adjusted in-tree users.
78273         * lib/timespec.h: Remove superfluous warning to include config.h.
78274         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
78275         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
78276         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
78277         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
78278         config.h with HAVE_CONFIG_H.
78279
78280 2005-09-19  Jim Meyering  <jim@meyering.net>
78281
78282         * modules/pathmax (License): Change to LGPL.
78283
78284 2005-09-19  Derek Price  <derek@ximbiot.com>
78285
78286         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
78287
78288 2005-09-19  Bruno Haible  <bruno@clisp.org>
78289
78290         * gnulib-tool (import): Provide default for --tests-base.
78291
78292 2005-09-19  Bruno Haible  <bruno@clisp.org>
78293
78294         * doc/quote.texi: New file, extracted from gnulib.texi.
78295         * doc/ctime.texi: New file, extracted from gnulib.texi.
78296         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
78297         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
78298         * doc/gnulib.texi: Include them.
78299
78300 2005-09-18  Bruno Haible  <bruno@clisp.org>
78301
78302         Portability fix.
78303         * gnulib-tool (func_readlink): New function.
78304         (func_ln_if_changed): Use it.
78305
78306 2005-09-18  Bruno Haible  <bruno@clisp.org>
78307
78308         * gnulib-tool: Support --with-tests also with --import.
78309         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
78310         (func_import): Use variables $testsbase and $inctests. Emit a
78311         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
78312         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
78313         SUBDIRS += $testsdir.
78314         (func_create_testdir): Update.
78315
78316 2005-09-18  Bruno Haible  <bruno@clisp.org>
78317
78318         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
78319         instead of $dry_run.
78320         (func_cp_if_changed, func_mv_if_changed): Remove functions.
78321         (func_ln_if_changed): Don't handle dry-run here.
78322         (func_import): In dry-run mode, detect more precisely which actions
78323         would be performed, and don't use "...ing" verbs.
78324
78325 2005-09-18  Bruno Haible  <bruno@clisp.org>
78326
78327         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
78328         (func_import): Use join on two temporary files instead of three nested
78329         loops, in order to determine which files are new or old.
78330
78331 2005-09-18  Bruno Haible  <bruno@clisp.org>
78332
78333         * gnulib-tool (func_import): Comment out code that spits out the
78334         new files with --dry-run.
78335
78336 2005-09-18  Bruno Haible  <bruno@clisp.org>
78337
78338         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
78339
78340 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78341
78342         * lib/stat-time.h: New file.
78343         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
78344         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
78345         in a different way.
78346         (timespec_cmp): New function.
78347         * lib/utimecmp.c: Include stat-time.h.
78348         (SYSCALL_RESOLUTION): Depend on whether various struct stat
78349         members exist, not on the obsolescent ST_MTIM_NSEC.
78350         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
78351
78352 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78353
78354         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
78355
78356 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78357
78358         * MODULES.html.sh (File system functions): Add stat-time.
78359         * modules/stat-time: New file.
78360         * modules/timespec (Files): Remove m4/st_mtim.m4; this
78361         is now done in a different way, by the stat-time module.
78362         * modules/utimecmp (Depends-on): Add stat-time.
78363
78364 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78365
78366         * m4/st_mtim.m4: Remove.  Superseded by...
78367         * m4/stat-time.m4: New file.
78368         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
78369         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
78370
78371 2005-09-15  Derek Price  <derek@ximbiot.com>
78372
78373         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
78374
78375 2005-09-15  Derek Price  <derek@ximbiot.com>
78376
78377         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
78378         * lib/regex_internal.c: Ditto, using this...
78379         (__GNUC_PREREQ): ...new macro.
78380         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
78381         using...
78382         (__GNUC_PREREQ): ...this new macro.
78383
78384         * lib/strstr.h: Include string.h. Define strstr as a macro here.
78385
78386 2005-09-15  Derek Price  <derek@ximbiot.com>
78387             Paul Eggert  <eggert@cs.ucla.edu>
78388
78389         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
78390         changes, consolidating in...
78391         * lib/regex_internal.h: ...this file.
78392
78393 2005-09-13  Jim Meyering  <jim@meyering.net>
78394
78395         * lib/canon-host.c: Filter through gnu indent and reword comments
78396         slightly.
78397         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
78398
78399 2005-09-13  Derek Price  <derek@ximbiot.com>
78400
78401         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
78402         failure.
78403         Reported by Jim Meyering  <jim@meyering.net>.
78404
78405 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78406
78407         * lib/base64.c: Typo.
78408         (base64_encode): Put b64str in initialized data section.
78409
78410 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
78411
78412         Merge glibc and coreutils changes into gnulib, plus a few
78413         extra fixes.
78414         * lib/md5.c: Use #error rather than a string.
78415         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
78416         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
78417         (__attribute__): Define to empty for non recent-GCC.
78418         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
78419         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
78420         Renamed from their non-__ counterparts, with new macros replacing
78421         them if not _LIBC.  Add __THROW attribute.
78422         (rol): Remove.
78423         (struct md5_ctx): Align buffer if using GCC.
78424         * lib/sha1.h (struct sha1_ctx): Likewise.
78425         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
78426         The old name was backwards.
78427         (NOTSWAP): Remove; not used.
78428         (rol): New macro, moved here from md5.h.
78429         (sha1_process_block): Remove a FIXME that doesn't make sense.
78430
78431 2005-09-12  Derek Price  <derek@ximbiot.com>
78432
78433         Return usable errors from canon-host.
78434         * lib/canon-host.h: New file.
78435         * lib/canon-host.c (canon_host): Wrap...
78436         (canon_host_r): ...this new function, which now relies exclusively on
78437         getaddrinfo.
78438         (ch_strerror): New function.
78439         (last_cherror): New global.
78440         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
78441         interface.
78442         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
78443         void *.
78444         (freeaddrinfo): Free ai->ai_canonname when set.
78445
78446 2005-09-12  Derek Price  <derek@ximbiot.com>
78447
78448         Make canon-host require getaddrinfo.
78449         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
78450         AC_LIBSOURCE canon-host.h.  Call...
78451         (gl_PREREQ_CANON_HOST): ...this new function, which requires
78452         gl_GETADDRINFO.
78453         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
78454
78455 2005-09-12  Derek Price  <derek@ximbiot.com>
78456
78457         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
78458         LGPL.
78459         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
78460
78461 2005-09-12  Derek Price  <derek@ximbiot.com>
78462
78463         * lib/gai_strerror.c: Include config.h when available.  Include
78464         getaddrinfo.h before other headers to test interface.
78465         Reported by Larry Jones <lawrence.jones@ugs.com>.
78466
78467 2005-09-12  Derek Price  <derek@ximbiot.com>
78468             Paul Eggert  <eggert@cs.ucla.edu>
78469
78470         * modules/glob (Files): Add glob-libc.h.
78471
78472 2005-09-12  Derek Price  <derek@ximbiot.com>
78473             Paul Eggert  <eggert@cs.ucla.edu>
78474
78475         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
78476         glob_.h, glob-libc.h.
78477         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
78478
78479 2005-09-12  Derek Price  <derek@ximbiot.com>
78480             Paul Eggert  <eggert@cs.ucla.edu>
78481
78482         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
78483         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
78484         protecting things that should be done only in gnulib contexts.
78485         * lib/glob_.h: New file, containing only the glob things needed for
78486         gnulib.
78487         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
78488         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
78489         (glob, globfree, glob_pattern_p): Now defined simply in terms of
78490         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
78491         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
78492         and to respect the namespace rules better.
78493
78494 2005-09-08  Simon Josefsson  <jas@extundo.com>
78495
78496         * modules/socklen: New file.
78497
78498 2005-09-08  Simon Josefsson  <jas@extundo.com>
78499
78500         * m4/socklen.m4: New file.
78501
78502 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78503
78504         * modules/utimens (Files): Add m4/utimbuf.m4, since
78505         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
78506         Reported by Sergey Poznyakoff.
78507
78508 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78509
78510         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
78511         definitions, since that's the preferred style in glibc.
78512         Fix a minor spacing issue, and update copyright notice to match
78513         glibc's.
78514
78515 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78516
78517         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
78518
78519 2005-09-06  Simon Josefsson  <jas@extundo.com>
78520
78521         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
78522         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
78523
78524 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78525
78526         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
78527         warning.
78528
78529 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78530
78531         * config/srclist.txt: Add glibc bug 1302.
78532
78533 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
78534
78535         Change bitset word type from unsigned int to unsigned long int,
78536         as this has better performance on typical 64-bit hosts.
78537         Port bitset code to hosts with unusual word sizes.
78538         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
78539         (build_collating_symbol):
78540         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
78541         argument is a bitset.  This is merely a style issue, but it makes
78542         it clearer that an entire array is expected.
78543         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
78544         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
78545         Port to the case where bitset_word is not the same as unsigned int.
78546         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78547         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
78548         Likewise.
78549         * lib/regexec.c (check_dst_limits_calc_pos_1,
78550         check_subexp_matching_top):
78551         (build_trtable, group_nodes_into_DFAstates):
78552         Likewise.
78553         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
78554         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
78555         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
78556         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
78557         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
78558         * lib/regcomp.c (optimize_subexps, lower_subexp):
78559         Work even if bitset_word has holes in its bitwise representation.
78560         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
78561         * lib/regexec.c (check_dst_limits_calc_pos_1,
78562         check_subexp_matching_top):
78563         Likewise.
78564         * lib/regex_internal.c (re_string_reconstruct):
78565         Don't assume UCHAR_MAX == 255.
78566         * lib/regex_internal.h (bitset_set_all): Likewise.
78567         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
78568         All uses changed.
78569         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
78570         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
78571         All uses changed.
78572         (BITSET_WORD_MAX): New macro.
78573         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
78574         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
78575         (bitset_empty, bitset_copy):
78576         Prefer sizeof (bitset) to multiplying it out ourselves.
78577         (bitset_not_merge): Remove; unused.
78578         (bitset_contain): Return bool, not unsigned int with one bit on.
78579         All callers changed.
78580         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
78581         alignment than re_node_set; do this by defining a new internal
78582         type struct dests_alloc and using it to allocate memory.
78583
78584 2005-09-05  Bruno Haible  <bruno@clisp.org>
78585
78586         * gnulib-tool (func_import): Fix comparison in handling of symbolic
78587         links.
78588
78589 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
78590
78591         * modules/size_max (Makefile.am): Add size_max.h
78592
78593 2005-09-04  Derek Price  <derek@ximbiot.com>
78594
78595         * gnulib-tool (func_import): Fix reversed $symbolic logic.
78596
78597 2005-09-03  Simon Josefsson  <jas@extundo.com>
78598
78599         * gnulib-tool: Fix typo.
78600
78601 2005-09-03  Simon Josefsson  <jas@extundo.com>
78602
78603         * config/srclist.txt: Add glibc bug 1293.
78604
78605 2005-09-03  Derek Price  <derek@ximbiot.com>
78606
78607         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
78608         From Larry Jones <lawrence.jones@ugs.com>.
78609
78610 2005-09-02  Simon Josefsson  <jas@extundo.com>
78611
78612         * modules/socklen: New file.
78613
78614 2005-09-02  Simon Josefsson  <jas@extundo.com>
78615
78616         * modules/havelib: New module.
78617
78618         * modules/gettext, modules/iconv, modules/lock, modules/readline:
78619         Use havelib.
78620
78621 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
78622
78623         Check for arithmetic overflow when calculating sizes, to prevent
78624         some buffer-overflow issues.  These patches are conservative, in the
78625         sense that when I couldn't determine whether an overflow was possible,
78626         I inserted a run-time check.
78627         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
78628         macros.
78629         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
78630         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
78631         (re_xnrealloc, re_x2nrealloc): New inline functions.
78632         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
78633         parse_bracket_exp):
78634         (build_equiv_class, build_charclass): Check for arithmetic overflow
78635         in size expression calculations.
78636         * lib/regex_internal.c (re_string_realloc_buffers):
78637         (build_wcs_upper_buffer, re_node_set_add_intersect):
78638         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
78639         (re_dfa_add_node, register_state): Likewise.
78640         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
78641         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
78642         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
78643         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
78644
78645 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
78646
78647         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
78648         m4/ulonglong.m4.  Problem reported by Martin Lambers.
78649
78650 2005-09-02  Bruno Haible  <bruno@clisp.org>
78651
78652         Support for lib vs. lib64 distinction on biarch platforms.
78653         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
78654         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
78655         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
78656
78657 2005-09-02  Bruno Haible  <bruno@clisp.org>
78658
78659         * gnulib-tool (import): In the other first-use case, provide defaults
78660         as well.
78661
78662 2005-09-02  Bruno Haible  <bruno@clisp.org>
78663
78664         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
78665         patches not yet found in the latest gettext release.
78666
78667 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78668
78669         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
78670         to avoid a collision with bits/local_lim.h in glibc.
78671         All uses changed.  Problem reported by Dmitry V. Levin in
78672         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
78673
78674         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
78675         bugs in int versus size_t comparisons.
78676         (re_string_context_at): Fix bug where the code assumed that
78677         Idx is signed.
78678
78679         Use bool where appropriate.
78680         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
78681         All callers changed.
78682         (calc_eclosure_iter): Likewise, for ROOT arg.
78683         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
78684         (build_charclass_op): Likewise, for NON_MATCH arg.
78685         * lib/regex_internal.c (re_string_allocate, re_string_construct):
78686         (re_string_construct_common): Likewise, for ICASE arg.
78687         * lib/regexec.c (re_search_2_stub, re_search_stub):
78688         Likewise, for RET_LEN arg.
78689         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
78690         (set_regs): Likewise, for FL_BACKTRACK arg.
78691         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
78692         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
78693         (calc_eclosure_iter, parse_bracket_exp):
78694         Use bool for internal variables that are booleans.
78695         * lib/regexec.c (re_search_internal, check_matching,
78696         proceed_next_node):
78697         (set_regs, build_sifted_states, sift_states_bkref):
78698         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
78699         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78700         (find_collation_sequence_value):
78701         Likewise.
78702         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
78703         (re_node_set_compare):
78704         Return bool, not int. All callers changed.
78705         * lib/regexec.c (check_halt_node_context, check_dst_limits):
78706         (build_trtable, check_node_accept): Likewise.
78707         * lib/regex_internal.h: Include stdbool.h.
78708
78709         Fix bugs uncovered when converting to bool.
78710         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
78711         failure instead of charging ahead blindly.
78712         * lib/regex_internal.c (register_state): Likewise.
78713         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
78714         for freeing internal storage.
78715         (group_nodes_into_DFA_states): Use unsigned int, not int, for
78716         bitset pieces used as boolean, to avoid undefined behavior
78717         on hosts that do int overflow checking.
78718
78719 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78720
78721         * config/srclist.txt: Add glibc bugs 1285-1287.
78722
78723 2005-09-01  Jim Meyering  <jim@meyering.net>
78724
78725         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
78726         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
78727         Require gl_STAT_MACROS, too.
78728
78729 2005-09-01  Bruno Haible  <bruno@clisp.org>
78730
78731         * gnulib-tool (import): In the first-use case, provide defaults.
78732
78733 2005-09-01  Bruno Haible  <bruno@clisp.org>
78734
78735         * gnulib-tool (func_import): Remove the .tmp files.
78736
78737 2005-09-01  Bruno Haible  <bruno@clisp.org>
78738
78739         * gnulib-tool (func_import): Fix handling of symbolic links.
78740
78741 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78742
78743         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
78744         old glibc regex code mishandles strings longer than 2**31 bytes.
78745         This patch fixes this when the regex code is used in gnulib
78746         (i.e., outside glibc).
78747
78748         This patch should not affect the use of the regex code inside
78749         glibc.  No doubt this problem also needs to be handled for glibc
78750         as well, but the result will be an incompatible change to the
78751         glibc ABI, and the old ABI will have to be supported too.  That
78752         can be the the subject for another patch.
78753
78754         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
78755         governing whether the rest of this patch is active.  By default,
78756         the macro is disabled and the patch has no effect.
78757         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
78758         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
78759         (struct re_pattern_buffer, re_search, re_search_2, re_match):
78760         (re_match_2, re_set_registers): Use the new types.
78761         * lib/regex_internal.h (Idx, re_hashval_t): New types.
78762         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
78763         New macros.
78764         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
78765         (re_string_context_at, bin_tree_t, re_dfastate_t):
78766         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
78767         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
78768         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
78769         (re_string_char_size_at, re_string_wchar_at):
78770         (re_string_elem_size_at):
78771         Use the new types and macros to port to 64-bit hosts.
78772         Use unsigned types for internal values, so that the code
78773         mostly works even for arrays larger than SSIZE_MAX.
78774         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
78775         (search_duplicated_node, calc_eclosure_iter, fetch_number):
78776         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
78777         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
78778         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
78779         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
78780         (calc_inveclosure, parse_dup_op, build_range_exp):
78781         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
78782         (fetch_number, create_token_tree, mark_opt_subexp):
78783         Likewise.
78784         * lib/regex_internal.c (re_string_construct_common,
78785         create_ci_newstate):
78786         (create_cd_newstate, re_string_allocate, re_string_construct):
78787         (re_string_realloc_buffers, build_wcs_upper_buffer):
78788         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78789         (re_string_reconstruct, re_string_peek_byte_case):
78790         (re_string_fetch_byte_case, re_string_context_at):
78791         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78792         (re_node_set_init_copy, re_node_set_add_intersect):
78793         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78794         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78795         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78796         (re_acquire_state, re_acquire_state_context, register_state):
78797         Likewise.
78798         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
78799         search_cur_bkref_entry):
78800         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
78801         (re_search_internal, re_search_2_stub, re_search_stub)
78802         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
78803         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
78804         (update_cur_sifted_state, check_dst_limits):
78805         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78806         (check_subexp_limits, sift_states_bkref, merge_state_array):
78807         (check_subexp_matching_top, get_subexp, get_subexp_sub):
78808         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
78809         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78810         (expand_bkref_cache, check_node_accept_bytes):
78811         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
78812         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
78813         (acquire_init_state_context, check_halt_node_context):
78814         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
78815         (sift_states_backward, clean_state_log_if_needed):
78816         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
78817         (find_recover_state, transit_state_sb, transit_state_mb):
78818         (transit_state_bkref, build_trtable, match_ctx_clean):
78819         Likewise.
78820         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
78821         to work around an assumption that REG_MISSING is negative.
78822
78823         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
78824         (seek_collating_symbol_entry) [defined _LIBC]:
78825         (lookup_collation_sequence_value) [defined _LIBC]:
78826         (build_range_exp, build_collating_symbol) [defined _LIBC]:
78827         Use prototypes rather than old-style function definitions.
78828         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
78829         (transit_state_sb) [0]:
78830         (find_collation_sequence_value) [defined _LIBC]: Likewise.
78831
78832         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
78833         rm_eo.
78834
78835         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
78836         (optimize_subexps, lower_subexp):
78837         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
78838         since the signed shift might overflow.  Use 1u<<31 instead.
78839         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78840         Likewise.
78841         * lib/regexec.c (check_dst_limits_calc_pos_1,
78842         check_subexp_matching_top): Likewise.
78843
78844         * lib/regcomp.c (optimize_subexps, lower_subexp):
78845         Use CHAR_BIT rather than 8, for clarity.
78846         * lib/regexec.c (check_dst_limits_calc_pos_1):
78847         (check_subexp_matching_top): Likewise.
78848         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
78849         have to worry about portability issues when shifting it left.
78850         Remove no-longer-needed test for table_size > 0.
78851         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
78852         in a word, as the resulting behavior is undefined.
78853         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
78854         in one case, a <= should have been an <, and in another case the
78855         whole test was missing.
78856         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
78857         the standard name CHAR_BIT.
78858         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
78859         this is not true on one's complement and signed-magnitude hosts.
78860
78861         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
78862         next_last_offset.
78863         (struct re_dfa_t): Remove unused member states_alloc.
78864         * lib/regcomp.c (init_dfa): Don't initialize unused members.
78865
78866 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78867
78868         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
78869         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
78870         and large-file glibc and in 32-bit large-file Solaris.
78871
78872 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78873
78874         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
78875         lengths fit in regoff_t; this isn't true if regoff_t is the same
78876         width as size_t.
78877         * lib/regex.c (re_search_internal): 5th arg is LAST_START
78878         (= START + RANGE) instead of RANGE.  This avoids overflow
78879         problems when regoff_t is the same width as size_t.
78880         All callers changed.
78881         (re_search_2_stub): Check for overflow when adding the
78882         sizes of the two strings.
78883         (re_search_stub): Check for overflow when adding START
78884         to RANGE; if it occurs, substitute the extreme value.
78885
78886 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78887
78888         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
78889
78890 2005-08-31  Jim Meyering  <jim@meyering.net>
78891
78892         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
78893         a pointer-to-const.
78894         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
78895         (register_state): Likewise.
78896         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
78897         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78898         (group_nodes_into_DFAstates): Likewise.
78899
78900 2005-08-31  Jim Meyering  <jim@meyering.net>
78901
78902         * check-module: Add a FIXME comment.
78903
78904 2005-08-31  Eric Blake  <ebb9@byu.net>
78905
78906         * modules/unistd-safer (Files): Add unistd--.h.
78907         * modules/stdio-safer (Files): Add stdio--.h.
78908
78909 2005-08-31  Derek Price  <derek@ximbiot.com>
78910
78911         * lib/getdelim.c (getdelim): Return EOF on EOF.
78912         Reported by Larry Jones <lawrence.jones@ugs.com>.
78913
78914 2005-08-31  Bruno Haible  <bruno@clisp.org>
78915
78916         Avoid unnecessary diffs in the generated lib/Makefile.am.
78917         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
78918         the generated files.
78919         (func_import): Don't set cmd.
78920
78921 2005-08-31  Bruno Haible  <bruno@clisp.org>
78922
78923         * lib/strstr.c: Include <stddef.h>, for NULL.
78924         * lib/strcasestr.c: Likewise.
78925         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78926
78927 2005-08-31  Bruno Haible  <bruno@clisp.org>
78928
78929         * gnulib-tool: New option --macro-prefix.
78930         (func_import): Use macro_prefix.
78931         (import): Handle option --macro-prefix.
78932
78933 2005-08-31  Bruno Haible  <bruno@clisp.org>
78934
78935         * gnulib-tool (import): Rename most ac_* variables to cached_*.
78936         Also use new variables cached_lgpl, cached_libtool.
78937
78938 2005-08-31  Bruno Haible  <bruno@clisp.org>
78939
78940         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
78941         always instantiating them.
78942
78943 2005-08-31  Bruno Haible  <bruno@clisp.org>
78944
78945         * gnulib-tool (func_import): Read the previous cached settings
78946         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
78947         earlier added by gnulib but are now dropped. Warn when a gnulib file
78948         overwrites a non-gnulib file.
78949
78950 2005-08-31  Bruno Haible  <bruno@clisp.org>
78951
78952         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
78953         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
78954         projects that don't keep autogenerated files in CVS. Put into
78955         actioncmd only the specified modules, not the transitive closure.
78956
78957 2005-08-31  Bruno Haible  <bruno@clisp.org>
78958
78959         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
78960         Create directories that shall be filled.
78961         (import): Don't look for gl_* macros in configure.ac. Recurse across
78962         all directories containing a gnulib-cache.m4 files, if meaningful.
78963
78964 2005-08-31  Bruno Haible  <bruno@clisp.org>
78965
78966         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
78967         (import): Set seen_libtool when we see gl_LIBTOOL.
78968
78969 2005-08-31  Bruno Haible  <bruno@clisp.org>
78970
78971         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
78972         declaration macro definitions from generated gnulib.m4.
78973
78974 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
78975
78976         * lib/iconvme.h: Add prototype for iconv_alloc.
78977
78978 2005-08-29  Simon Josefsson  <jas@extundo.com>
78979
78980         * lib/iconvme.c: Fix errno.
78981
78982 2005-08-29  Bruno Haible  <bruno@clisp.org>
78983
78984         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
78985         that it works when the directory contains spaces.
78986
78987 2005-08-29  Bruno Haible  <bruno@clisp.org>
78988
78989         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
78990
78991 2005-08-29  Bruno Haible  <bruno@clisp.org>
78992
78993         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
78994         Emit more advice.
78995
78996 2005-08-29  Bruno Haible  <bruno@clisp.org>
78997         and Stepan Kasal  <kasal@ucw.cz>
78998
78999         * check-module: If more parameters are given, check each of them
79000         separately; add more exceptions, as noted by Jim Meyering.
79001         (check_module): New procedure.
79002         (%exempt_header): Now contains all exceptions.
79003
79004 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79005
79006         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79007
79008 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79009
79010         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79011
79012 2005-08-28  Bruno Haible  <bruno@clisp.org>
79013
79014         * m4/gnulib-tool.m4: New file.
79015
79016 2005-08-27  Jim Meyering  <jim@meyering.net>
79017
79018         * modules/unistd-safer (Files): Add pipe-safer.c.
79019         * modules/fcntl-safer (Files): Add creat-safer.c.
79020
79021 2005-08-27  Jim Meyering  <jim@meyering.net>
79022
79023         * m4/stdlib-safer.m4: New file.  From coreutils.
79024         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79025         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79026         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79027         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79028         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79029
79030 2005-08-27  Jim Meyering  <jim@meyering.net>
79031
79032         * lib/fopen-safer.c: Merge minor changes from coreutils.
79033         * lib/dup-safer.c: Likewise.
79034         * lib/fd-safer.c: Likewise.
79035
79036         Merge from coreutils.
79037         * lib/stdio--.h: New file.
79038         * lib/stdlib--.h: New file.
79039         * lib/mkstemp-safer.c: New file.
79040
79041         GNU tar needs these.
79042         * lib/pipe-safer.c: New file.
79043         * lib/creat-safer.c: New file.
79044         * lib/fcntl--.h (creat): Define to creat_safer.
79045         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79046         * lib/unistd--.h (pipe): Define to pipe_safer.
79047         * lib/unistd-safer.h: Declare pipe_safer.
79048
79049 2005-08-26  Simon Josefsson  <jas@extundo.com>
79050
79051         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79052         Haible <bruno@clisp.org>.
79053
79054 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79055
79056         * lib/regex_internal.h: Remove all references to
79057         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79058         or better.
79059         (bitset_not, bitset_merge, bitset_not_merge):
79060         (bitset_mask, re_string_allocate, re_string_construct):
79061         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79062         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79063         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79064         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79065         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79066         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79067         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79068         (re_acquire_state_context):
79069         Remove unnecessary forward decls.
79070         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79071         Put __attribute at function definition,
79072         now that the function decl has been removed.
79073         * lib/regex_internal.c (re_string_peek_byte_case):
79074         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79075         Likewise.
79076
79077 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79078
79079         * m4/regex.m4: Add AC_PREREQ(2.50).
79080         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79081
79082 2005-08-25  Simon Josefsson  <jas@extundo.com>
79083
79084         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79085         __fsetlocking.
79086
79087 2005-08-25  Simon Josefsson  <jas@extundo.com>
79088
79089         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79090         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79091         GLIBC specific code.
79092
79093 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79094
79095         Make regex safe for g++.  This fixes one real bug (an "err"
79096         that should have been "*err").  g++ problem reported by
79097         Sam Steingold.
79098         * lib/regex_internal.h (re_calloc): New macro, consistent with
79099         re_malloc etc.  All callers of calloc changed to use re_calloc.
79100         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79101         not int.  All callers changed.
79102         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79103         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79104         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79105         (find_recover_state): Change "err" to "*err"; this fixes what
79106         appears to be a real bug.
79107         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79108         versus int.
79109
79110 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79111
79112         * modules/regex (Depends-on): Add malloc, since the code
79113         assumes that !malloc(0) means failure.
79114
79115 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79116
79117         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79118
79119         alloca modernization/simplification for regex.
79120         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79121         needs to be at the start of the file, and can be moved into
79122         regex_internal.h and simplified.
79123         * lib/regex_internal.h: Include <alloca.h>.
79124         (__libc_use_alloca) [!defined _LIBC]: New macro.
79125         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79126         now works outside glibc.
79127
79128 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79129
79130         * config/srclist.txt: Add glibc bugs 1241, 1245.
79131
79132 2005-08-25  Jim Meyering  <jim@meyering.net>
79133
79134         * lib/open-safer.c: Include <config.h>.
79135         Otherwise, we'd lose LARGEFILE support in any file using
79136         e.g. "fcntl--.h"
79137
79138 2005-08-25  Bruno Haible  <bruno@clisp.org>
79139
79140         * m4/minmax.m4: Require autoconf 2.52.
79141         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79142         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79143         alternatives of translit over the alphabet.
79144         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79145
79146 2005-08-24  Simon Josefsson  <jas@extundo.com>
79147
79148         * tests/test-getpass.c: New file.
79149
79150 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79151
79152         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79153         for GNU regex features.
79154
79155 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79156
79157         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
79158         * lib/regex.h (regerror): Likewise.
79159
79160         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
79161         requires this.  (The code never needed it.)
79162
79163         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
79164         All uses of recently-renamed identifiers changed to use the new,
79165         POSIX-compliant names.  The code will build and run just fine
79166         without these changes, but it's better to eat our own dog food
79167         and use the standard-conforming names.
79168
79169         * lib/regex.h: Fix a multitude of POSIX name space violations.
79170         These changes have an effect only for programs that define
79171         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79172         do not change anything for programs compiled in the normal way.
79173         Also, there is no effect on the ABI.
79174
79175         (_REGEX_SOURCE): New macro.
79176         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79177         defined and _GNU_SOURCE is not; this fixes a name space violation.
79178
79179         Rename the following macros to obey POSIX requirements.
79180         The old names are still visible as macros if _REGEX_SOURCE is defined.
79181         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79182         RE_BACKSLASH_ESCAPE_IN_LISTS.
79183         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79184         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79185         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79186         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79187         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
79188         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
79189         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
79190         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
79191         (REG_INTERVALS): renamed from RE_INTERVALS.
79192         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
79193         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
79194         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
79195         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
79196         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
79197         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
79198         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
79199         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
79200         RE_UNMATCHED_RIGHT_PAREN_ORD.
79201         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
79202         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
79203         (REG_DEBUG): renamed from RE_DEBUG.
79204         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
79205         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
79206         unusual, since we can't clash with the POSIX REG_ICASE.
79207         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
79208         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
79209         (REG_NO_SUB): renamed from RE_NO_SUB.
79210         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
79211         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
79212         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
79213         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
79214         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
79215         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
79216         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
79217         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
79218         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
79219         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
79220         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
79221         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
79222         RE_SYNTAX_POSIX_MINIMAL_BASIC.
79223         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
79224         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
79225         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
79226         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
79227         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
79228         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
79229         (REG_FIXED): Renamed from REGS_FIXED.
79230         (REG_NREGS): Renamed from RE_NREGS.
79231
79232         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
79233         of other REG_* macros, since POSIX says the user is allowed to
79234         #undef these macros selectively.
79235
79236         (reg_errcode_t): Update comment stating what other tables need
79237         to be consistent.
79238
79239         Rename the following enum values to obey POSIX requirements.
79240         The old names are still visible as macros.
79241         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
79242         is not defined, since GNU is supposed to be a superset of POSIX as
79243         much as possible, and since we want reg_errcode_t to be a signed
79244         type for implementation consistency.
79245         (_REG_NOERROR): Renamed from REG_NOERROR.
79246         (_REG_NOMATCH): Renamed from REG_NOMATCH.
79247         (_REG_BADPAT): Renamed from REG_BADPAT.
79248         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
79249         (_REG_ECTYPE): Renamed from REG_ECTYPE.
79250         (_REG_EESCAPE): Renamed from REG_EESCAPE.
79251         (_REG_ESUBREG): Renamed from REG_ESUBREG.
79252         (_REG_EBRACK): Renamed from REG_EBRACK.
79253         (_REG_EPAREN): Renamed from REG_EPAREN.
79254         (_REG_EBRACE): Renamed from REG_EBRACE.
79255         (_REG_BADBR): Renamed from REG_BADBR.
79256         (_REG_ERANGE): Renamed from REG_ERANGE.
79257         (_REG_ESPACE): Renamed from REG_ESPACE.
79258         (_REG_BADRPT): Renamed from REG_BADRPT.
79259         (_REG_EEND): Renamed from REG_EEND.
79260         (_REG_ESIZE): Renamed from REG_ESIZE.
79261         (_REG_ERPAREN): Renamed from REG_ERPAREN.
79262         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
79263         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
79264         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
79265         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
79266
79267         (_REG_RE_NAME, _REG_RM_NAME): New macros.
79268         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
79269         changed.  But support the old name if the new one is not defined
79270         and if _REGEX_SOURCE.
79271
79272         Change the following member names in struct re_pattern_buffer.
79273         The old names are still supported if !_REGEX_SOURCE.
79274         The new names are always supported, regardless of _REGEX_SOURCE.
79275         (re_buffer): Renamed from buffer.
79276         (re_allocated): Renamed from allocated.
79277         (re_used): Renamed from used.
79278         (re_syntax): Renamed from syntax.
79279         (re_fastmap): Renamed from fastmap.
79280         (re_translate): Renamed from translate.
79281         (re_can_be_null): Renamed from can_be_null.
79282         (re_regs_allocated): Renamed from regs_allocated.
79283         (re_fastmap_accurate): Renamed from fastmap_accurate.
79284         (re_no_sub): Renamed from no_sub.
79285         (re_not_bol): Renamed from not_bol.
79286         (re_not_eol): Renamed from not_eol.
79287         (re_newline_anchor): Renamed from newline_anchor.
79288
79289         Change the following member names in struct re_registers.
79290         The old names are still supported if !_REGEX_SOURCE.
79291         The new names are always supported, regardless of _REGEX_SOURCE.
79292         (rm_num_regs): Renamed from num_regs.
79293         (rm_start): Renamed from start.
79294         (rm_end): Renamed from end.
79295
79296         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
79297         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
79298         Prepend __ to parameter names.
79299
79300         Undo yesterday's changes.
79301
79302 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79303
79304         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
79305         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
79306         lib/regex.c.
79307
79308 2005-08-24  Jim Meyering  <jim@meyering.net>
79309
79310         Sync from coreutils.
79311         * m4/fcntl-safer.m4: New file.
79312
79313         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
79314         and object files for this module.
79315
79316 2005-08-24  Jim Meyering  <jim@meyering.net>
79317
79318         Sync from coreutils.
79319         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
79320
79321 2005-08-24  Jim Meyering  <jim@meyering.net>
79322
79323         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
79324         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
79325
79326 2005-08-24  Jim Meyering  <jim@meyering.net>
79327
79328         * modules/fcntl-safer: New module.
79329         * modules/fts (Depends-on): Add fcntl-safer.
79330         * MODULES.html.sh (File descriptor based Input/Output):
79331         Add fcntl-safer.
79332
79333 2005-08-24  Bruno Haible  <bruno@clisp.org>
79334
79335         Support for unit test modules.
79336         * modules/README: Mention tests modules.
79337         * modules/TEMPLATE-TESTS: New file.
79338         * gnulib-tool: New options --extract-tests-module, --with-tests and
79339         --tests-base (unused for the moment).
79340         (testsbase, inctests): New variables.
79341         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
79342         (func_verify_module): Exclude TEMPLATE-TESTS.
79343         (func_verify_nontests_module, func_verify_tests_module): New functions.
79344         (func_get_dependencies): Add implicit dependency for tests modules.
79345         (func_get_tests_module): New function.
79346         (func_modules_transitive_closure): When --with-tests was specified,
79347         include the unit tests as well, unless explicitly avoided.
79348         (func_emit_lib_Makefile_am): Ignore the tests modules here.
79349         (func_emit_tests_Makefile_am): New function.
79350         (func_create_testdir): When --with-tests was specified, emit a
79351         tests/ directory.
79352         * MODULES.html.sh (Future developments): Update.
79353
79354 2005-08-24  Bruno Haible  <bruno@clisp.org>
79355
79356         * modules/tls-tests: New file.
79357         * tests/test-tls.c: New file, from GNU gettext.
79358
79359 2005-08-24  Bruno Haible  <bruno@clisp.org>
79360
79361         * modules/lock-tests: New file.
79362         * tests/test-lock.c: New file, from GNU gettext.
79363
79364 2005-08-24  Bruno Haible  <bruno@clisp.org>
79365
79366         * lib/lock.h: Add multiple inclusion guard.
79367         * lib/tls.h: Add multiple inclusion guard.
79368
79369 2005-08-24  Bruno Haible  <bruno@clisp.org>
79370
79371         * gnulib-tool: Add support for the --aux-dir option to
79372         --create-testdir, --create-megatestdir, --test, --megatest.
79373         (func_create_testdir, func_create_megatestdir): Optionally emit a
79374         AC_CONFIG_AUX_DIR directive.
79375         (create-testdir, create-megatestdir, test, megatest): Provide a
79376         default value for $auxdir.
79377
79378 2005-08-24  Bruno Haible  <bruno@clisp.org>
79379
79380         * gnulib-tool (import): Use compound statement instead of subshell
79381         where possible.
79382
79383 2005-08-24  Bruno Haible  <bruno@clisp.org>
79384
79385         * gnulib-tool (import): Change --aux-dir default to "build-aux".
79386
79387 2005-08-24  Bruno Haible  <bruno@clisp.org>
79388
79389         * gnulib-tool (func_version): Update.
79390
79391 2005-08-24  Bruno Haible  <bruno@clisp.org>
79392
79393         * gnulib-tool (func_import, func_create_testdir,
79394         func_create_megatestdir): Quote all autoconf macro arguments.
79395
79396 2005-08-24  Bruno Haible  <bruno@clisp.org>
79397
79398         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
79399         option --force, because --force causes the aclocal.m4 of each
79400         subdirectory to be newer than the corresponding config.h.in.
79401
79402 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79403
79404         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
79405         All contents moved to gl_REGEX.
79406         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
79407         assume that it does.
79408
79409 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79410
79411         * lib/regex.h (REG_NOSYS)
79412         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
79413         Define, since POSIX requires it as of 2001.
79414         (_REG_ENOSYS)
79415         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
79416         New private symbol, used to keep the enum signed in all cases.
79417         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
79418         Youngman in
79419         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
79420
79421         * lib/regex_internal.c (re_string_skip_chars, register_state):
79422         (calc_state_hash):
79423         Remove forward decls; no longer needed now that we use prototypes.
79424         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
79425         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
79426         (clean_state_log_if_needed): Likewise.
79427
79428 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79429
79430         * config/srclist.txt: Add glibc bugs 1231-1233.
79431
79432 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79433
79434         Fix problems reported by Sam Steingold in
79435         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
79436         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
79437         assumed that reg_errcode_t is a signed type, which is not
79438         necessarily true if _XOPEN_SOURCE is not defined.
79439         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
79440         since some compilers warn about it otherwise.
79441
79442 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79443
79444         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
79445         (init_word_char, create_initial_state, duplicate_node_closure):
79446         (fetch_token, peek_token_bracket, build_range_exp):
79447         (build_collating_symbol): Remove forward decls; no longer needed
79448         now that we use prototypes.
79449
79450         * lib/regcomp.c:
79451         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
79452         (re_compile_fastmap_iter, regcomp, regerror, regfree):
79453         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
79454         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
79455         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
79456         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
79457         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
79458         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
79459         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
79460         (build_range_exp, build_collating_symbol, parse_bracket_exp):
79461         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
79462         (build_charclass, build_charclass_op, fetch_number, create_tree):
79463         (create_token_tree, mark_opt_subexp, duplicate_tree):
79464         Use prototypes rather than old-style definitions.
79465
79466         * lib/regex_internal.c:
79467         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
79468         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
79469         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79470         (re_string_reconstruct, re_string_peek_byte_case):
79471         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
79472         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79473         (re_node_set_init_copy, re_node_set_add_intersect):
79474         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79475         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79476         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79477         (re_acquire_state, re_acquire_state_context, register_state):
79478         (create_ci_newstate, create_cd_newstate, free_state):
79479         Likewise.
79480         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
79481         re_search_2):
79482         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
79483         (re_search_internal, prune_impossible_nodes):
79484         (acquire_init_state_context, check_matching, static):
79485         (check_halt_node_context, check_halt_state_context, proceed_next_node):
79486         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
79487         (update_regs, sift_states_backward, build_sifted_states):
79488         (clean_state_log_if_needed, merge_state_array):
79489         (update_cur_sifted_state, add_epsilon_src_nodes):
79490         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
79491         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
79492         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
79493         (find_recover_state, check_subexp_matching_top, transit_state_mb):
79494         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
79495         (check_arrival, check_arrival_add_next_nodes):
79496         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79497         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79498         (check_node_accept_bytes, check_node_accept, extend_buffers):
79499         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
79500         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
79501         (sift_ctx_init):
79502         Likewise.
79503
79504         * lib/regex_internal.h:
79505         (re_string_allocate, re_string_construct, re_string_reconstruct):
79506         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
79507         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
79508         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
79509         (re_string_context_at, re_string_peek_byte_case):
79510         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
79511         is defined, since we now use prototypes always.
79512
79513         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
79514         C89 or better.  All uses removed.
79515
79516 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79517
79518         * config/srclist.txt: Add glibc bugs 1220-1227.
79519
79520 2005-08-20  Jim Meyering  <jim@meyering.net>
79521
79522         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
79523         of unused local, dfa.
79524
79525 2005-08-20  Bruno Haible  <bruno@clisp.org>
79526
79527         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
79528
79529 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79530
79531         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
79532         (re_node_set_insert_last, re_dfa_add_node):
79533         Rename local variables to avoid GCC shadowing warnings.
79534
79535 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79536
79537         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
79538         [defined lint]: Suppress bogus uninitialized-variable warnings.
79539
79540         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
79541         and let the caller return REG_ESPACE if out of space.  This
79542         removes an uninitialied-variable warning with GCC 4.0.1, and also
79543         avoids taking the address of a local variable.  All callers
79544         changed.
79545
79546 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79547
79548         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
79549         $LIBCSRC/posix/regexec.c.
79550         Add glibc bug 1217 for regcomp.c.
79551
79552 2005-08-19  Jim Meyering  <jim@meyering.net>
79553
79554         * lib/regexec.c (proceed_next_node): Redo local variables to
79555         avoid GCC shadowing warnings.
79556
79557 2005-08-18  Bruno Haible  <bruno@clisp.org>
79558
79559         * lib/strstr.c (strstr): Fix return value in multibyte case.
79560         * lib/strcasestr.c (strcasestr): Likewise.
79561
79562 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79563
79564         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
79565
79566 2005-08-17  Jim Meyering  <jim@meyering.net>
79567
79568         Make the %s format (seconds since the epoch) work for a negative
79569         number and when used with a zero-padded field width, e.g. %015s.
79570
79571         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
79572         label so that it precedes the code to set `digits'.  Otherwise,
79573         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
79574         print `00-22'.  Now, it prints `-0022', as it should.
79575
79576 2005-08-17  Bruno Haible  <bruno@clisp.org>
79577
79578         * modules/strstr (Files): Add m4/mbrtowc.m4.
79579         (Depends-on): Add mbuiter.
79580
79581 2005-08-17  Bruno Haible  <bruno@clisp.org>
79582
79583         * modules/strcasestr: New file.
79584         * MODULES.html.sh (String handling, based on ANSI C 89): Add
79585         strcasestr.
79586
79587 2005-08-17  Bruno Haible  <bruno@clisp.org>
79588
79589         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
79590
79591 2005-08-17  Bruno Haible  <bruno@clisp.org>
79592
79593         * modules/mbuiter: New file.
79594         * MODULES.html.sh (Extended multibyte and wide character utilities):
79595         Add mbuiter.
79596
79597 2005-08-17  Bruno Haible  <bruno@clisp.org>
79598
79599         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
79600         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
79601
79602 2005-08-17  Bruno Haible  <bruno@clisp.org>
79603
79604         * m4/strcasestr.m4: New file.
79605
79606 2005-08-17  Bruno Haible  <bruno@clisp.org>
79607
79608         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
79609         * lib/strstr.c: Completely rewritten, with multibyte locale support.
79610
79611 2005-08-17  Bruno Haible  <bruno@clisp.org>
79612
79613         * lib/strcasestr.h: New file.
79614         * lib/strcasestr.c: New file.
79615
79616 2005-08-17  Bruno Haible  <bruno@clisp.org>
79617
79618         * lib/strcasecmp.c: Use mbuiter.h.
79619
79620 2005-08-17  Bruno Haible  <bruno@clisp.org>
79621
79622         * lib/mbuiter.h: New file.
79623
79624 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79625
79626         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
79627         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
79628         and gl_GETOPT are both invoked via different paths (as happens
79629         with GNU tar CVS because it uses both argp and getopt), the former
79630         wins.
79631
79632 2005-08-16  Bruno Haible  <bruno@clisp.org>
79633
79634         * modules/tls: New file.
79635         * MODULES.html.sh (Multithreading): Add tls.
79636
79637 2005-08-16  Bruno Haible  <bruno@clisp.org>
79638
79639         * modules/strnlen1: New file.
79640         * MODULES.html.sh (String handling): Add strnlen1.
79641
79642 2005-08-16  Bruno Haible  <bruno@clisp.org>
79643
79644         * modules/strcase (Files): Add m4/mbrtowc.m4.
79645         (Depends-on): Add strnlen1, mbchar.
79646
79647 2005-08-16  Bruno Haible  <bruno@clisp.org>
79648
79649         * modules/mbiter: New file.
79650         * MODULES.html.sh (Extended multibyte and wide character utilities):
79651         Add mbiter.
79652
79653 2005-08-16  Bruno Haible  <bruno@clisp.org>
79654
79655         * modules/mbfile: New file.
79656         * MODULES.html.sh (Extended multibyte and wide character utilities):
79657         Add mbfile.
79658
79659 2005-08-16  Bruno Haible  <bruno@clisp.org>
79660
79661         * modules/mbchar: New file.
79662         * MODULES.html.sh (Extended multibyte and wide character utilities):
79663         New section.
79664
79665 2005-08-16  Bruno Haible  <bruno@clisp.org>
79666
79667         * m4/tls.m4: New file, from GNU gettext.
79668
79669 2005-08-16  Bruno Haible  <bruno@clisp.org>
79670
79671         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
79672         always.
79673         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
79674
79675 2005-08-16  Bruno Haible  <bruno@clisp.org>
79676
79677         * m4/mbiter.m4: New file.
79678
79679 2005-08-16  Bruno Haible  <bruno@clisp.org>
79680
79681         * m4/mbfile.m4: New file.
79682
79683 2005-08-16  Bruno Haible  <bruno@clisp.org>
79684
79685         * m4/mbchar.m4: New file.
79686
79687 2005-08-16  Bruno Haible  <bruno@clisp.org>
79688
79689         * lib/tls.h: New file, from GNU gettext.
79690         * lib/tls.c: New file, from GNU gettext.
79691
79692 2005-08-16  Bruno Haible  <bruno@clisp.org>
79693
79694         * lib/strnlen1.h: New file.
79695         * lib/strnlen1.c: New file.
79696
79697 2005-08-16  Bruno Haible  <bruno@clisp.org>
79698
79699         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
79700         (mbi_init): Update.
79701         (mbi_avail, mbi_advance): Let the iteration end before the terminating
79702         NUL byte, not after it.
79703
79704 2005-08-16  Bruno Haible  <bruno@clisp.org>
79705
79706         * lib/strcase.h (strcasecmp): Add note in comments.
79707         * lib/strncasecmp.c: Use code from strcasecmp.c.
79708         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
79709         (strcasecmp): Work correctly in multibyte locales.
79710
79711 2005-08-16  Bruno Haible  <bruno@clisp.org>
79712
79713         * lib/mbiter.h: New file.
79714
79715 2005-08-16  Bruno Haible  <bruno@clisp.org>
79716
79717         * lib/mbfile.h: New file.
79718
79719 2005-08-16  Bruno Haible  <bruno@clisp.org>
79720
79721         * lib/mbchar.h: New file.
79722         * lib/mbchar.c: New file.
79723
79724 2005-08-16  Bruno Haible  <bruno@clisp.org>
79725
79726         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
79727         the valid ones. Makes the comparison operations transitive:
79728         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
79729         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
79730
79731 2005-08-15  Simon Josefsson  <jas@extundo.com>
79732
79733         * modules/ssize_t (License): Change to 'unlimited'.
79734
79735         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
79736
79737 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79738
79739         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
79740         Add comments for each pending glibc patch.
79741
79742 2005-08-15  Bruno Haible  <bruno@clisp.org>
79743
79744         * lib/regex.h (__restrict_arr): Don't define to __restrict if
79745         __cplusplus is defined.
79746
79747 2005-08-14  Jim Meyering  <jim@meyering.net>
79748
79749         Sync from coreutils.
79750
79751         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
79752         Use the hash-table-based cycle-detection code not just when
79753         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
79754         Reported by James Youngman in
79755         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
79756         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
79757         FTS_TIGHT_CYCLE_CHECK.
79758         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
79759         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
79760         once again.
79761         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
79762         * lib/fts.c (fd_safer): Remove decl.
79763         Include fcntl--.h rather than unistd-safer.h
79764         (fts_safe_changedir): Don't call fd_safer; no longer needed
79765         now that we include fcntl--.h.
79766
79767 2005-08-12  Simon Josefsson  <jas@extundo.com>
79768
79769         * modules/getndelim2: Use ssize_t module.
79770         * modules/getnline: Likewise.
79771         * modules/safe-read: Likewise.
79772         * modules/xreadlink: Likewise.
79773
79774         * modules/ssize_t: New file.
79775
79776 2005-08-12  Simon Josefsson  <jas@extundo.com>
79777
79778         * m4/readline.m4: Look for termcap, curses or ncurses if required.
79779
79780 2005-08-12  Simon Josefsson  <jas@extundo.com>
79781
79782         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79783         ssize_t.
79784
79785 2005-08-12  Simon Josefsson  <jas@extundo.com>
79786
79787         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
79788         readline, getdelim and check_version.
79789         (Support for systems lacking ISO C 99: Sizes of integer types):
79790         Add size_max.
79791
79792 2005-08-12  Bruno Haible  <bruno@clisp.org>
79793
79794         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
79795
79796 2005-08-11  Simon Josefsson  <jas@extundo.com>
79797
79798         * modules/readline: New file.
79799
79800         * modules/strnlen (Files): Add strnlen.h.
79801
79802 2005-08-11  Simon Josefsson  <jas@extundo.com>
79803
79804         * m4/readline.m4: New file.
79805
79806 2005-08-11  Simon Josefsson  <jas@extundo.com>
79807
79808         * lib/readline.h, readline.c: New file.
79809
79810 2005-08-11  Simon Josefsson  <jas@extundo.com>
79811
79812         * doc/gnulib.texi (Initial import, Finishing touches): Mention
79813         gl_AVOID.
79814
79815 2005-08-11  Bruno Haible  <bruno@clisp.org>
79816
79817         * lib/strnlen.h (strnlen): Change parameter name to match comment.
79818
79819 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
79820
79821         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
79822
79823 2005-08-10  Simon Josefsson  <jas@extundo.com>
79824
79825         * tests/test-iconvme.c: New file.
79826
79827 2005-08-10  Simon Josefsson  <jas@extundo.com>
79828
79829         * m4/strnlen.m4: New file.
79830
79831         * m4/strndup.m4: Don't check for strnlen declaration, done in
79832         strnlen.m4.
79833
79834 2005-08-10  Simon Josefsson  <jas@extundo.com>
79835
79836         * lib/strndup.c: Use strnlen.h.
79837
79838         * lib/strnlen.h: New file.
79839
79840 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79841
79842         * README: Typos.
79843
79844 2005-08-02  Simon Josefsson  <jas@extundo.com>
79845
79846         * modules/readline: New file.
79847
79848 2005-08-02  Simon Josefsson  <jas@extundo.com>
79849
79850         * modules/getdelim: New file.
79851
79852         * modules/getline: Rewrite, don't use getndelim2.
79853
79854 2005-08-02  Simon Josefsson  <jas@extundo.com>
79855
79856         * m4/getline.m4: Separate out getdelim stuff into separate module.
79857
79858         * m4/getdelim.m4: New file.
79859
79860 2005-08-02  Simon Josefsson  <jas@extundo.com>
79861
79862         * lib/getline.h, getline.c: Rewrite.
79863
79864         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
79865
79866 2005-07-31  Bruno Haible  <bruno@clisp.org>
79867
79868         * lib/lock.h (gl_lock_initializer): New macro.
79869         (gl_lock_define_initialized): Use it.
79870         (gl_rwlock_initializer): New macro.
79871         (gl_rwlock_define_initialized): Use it.
79872         (gl_recursive_lock_initializer): New macro.
79873         (gl_recursive_lock_define_initialized): Use it.
79874
79875 2005-07-30  Karl Berry  <karl@gnu.org>
79876
79877         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
79878         Report from Ben Pfaff, regarding getopt.
79879
79880 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
79881
79882         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
79883         normal way.
79884         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
79885         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
79886         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
79887         (gl_GETOPT): Use the new macros.  Most of the implementation
79888         is moved to the new macros.  This is for programs like Emacs
79889         that don't want all the functionality of gl_GETOPT.
79890
79891 2005-07-26  Bruno Haible  <bruno@clisp.org>
79892
79893         * m4/lock.m4: Update from GNU gettext.
79894
79895 2005-07-26  Bruno Haible  <bruno@clisp.org>
79896
79897         * lib/lock.h: Update from GNU gettext.
79898         * lib/lock.c: Update from GNU gettext.
79899
79900 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
79901
79902         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
79903         obsolescent AC_TRY_RUN.  Include the default includes files, for
79904         'exit'.
79905
79906 2005-07-24  Bruno Haible  <bruno@clisp.org>
79907
79908         * modules/visibility: New file.
79909         * MODULES.html.sh (Misc): Add visibility.
79910
79911 2005-07-24  Bruno Haible  <bruno@clisp.org>
79912
79913         * m4/visibility.m4: New file.
79914
79915 2005-07-24  Bruno Haible  <bruno@clisp.org>
79916
79917         * doc/visibility.texi: New file.
79918
79919 2005-07-22  Bruno Haible  <bruno@clisp.org>
79920
79921         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
79922         $(ALLOCA_H), redundant through BUILT_SOURCES.
79923         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
79924         redundant through BUILT_SOURCES.
79925         * modules/byteswap (Makefile.am): Remove explicit dependency on
79926         $(BYTESWAP_H), redundant through BUILT_SOURCES.
79927         * modules/fnmatch (Makefile.am): Remove explicit dependency on
79928         $(FNMATCH_H), redundant through BUILT_SOURCES.
79929         * modules/getopt (Makefile.am): Remove explicit dependency on
79930         $(GETOPT_H), redundant through BUILT_SOURCES.
79931         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
79932         redundant through BUILT_SOURCES.
79933         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
79934         redundant through BUILT_SOURCES.
79935         * modules/stdbool (Makefile.am): Remove explicit dependency on
79936         $(STDBOOL_H), redundant through BUILT_SOURCES.
79937         * modules/stdint (Makefile.am): Remove explicit dependency on
79938         $(STDINT_H), redundant through BUILT_SOURCES.
79939         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
79940         Remove explicit dependency on $(SYSEXITS_H).
79941         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
79942
79943 2005-07-18  Simon Josefsson  <jas@extundo.com>
79944
79945         * lib/check-version.c (check_version): Accept identical versions too.
79946
79947 2005-07-18  Bruno Haible  <bruno@clisp.org>
79948
79949         * modules/lock: New file.
79950         * MODULES.html.sh (Multithreading): New section.
79951
79952 2005-07-18  Bruno Haible  <bruno@clisp.org>
79953
79954         * m4/lock.m4: New file, from GNU gettext.
79955
79956 2005-07-18  Bruno Haible  <bruno@clisp.org>
79957
79958         * lib/lock.h: New file, from GNU gettext.
79959         * lib/lock.c: New file, from GNU gettext.
79960
79961 2005-07-18  Bruno Haible  <bruno@clisp.org>
79962
79963         * lib/lock.h (gl_once_t): New type.
79964         (gl_once_define, gl_once): New macros.
79965         * lib/lock.c (fresh_once): New variable.
79966         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
79967         functions.
79968
79969 2005-07-16  Simon Josefsson  <jas@extundo.com>
79970
79971         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
79972         workaround, suggested by Bruno.
79973
79974 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79975
79976         * modules/xalloc (Depends-on): Add xalloc-die.
79977         * modules/xvasprintf (Depends-on): Add xalloc-die.
79978
79979 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79980
79981         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
79982         with a minor change.
79983
79984 2005-07-15  Bruno Haible  <bruno@clisp.org>
79985
79986         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
79987         When using lib/poll.c, define poll as rpl_poll.
79988
79989 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
79990
79991         * modules/argp (Depends-on): Remove unlocked-io.
79992
79993 2005-07-14  Derek Price  <derek@ximbiot.com>
79994
79995         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
79996         for glob symlink bug.
79997
79998 2005-07-14  Bruno Haible  <bruno@clisp.org>
79999
80000         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80001         Instead, test for *_unlocked function declarations directly.
80002
80003 2005-07-11  Simon Josefsson  <jas@extundo.com>
80004
80005         * modules/size_max: New file.
80006
80007         * modules/xsize: Depend on size_max module for size_max.m4.
80008
80009 2005-07-11  Simon Josefsson  <jas@extundo.com>
80010
80011         * lib/size_max.h: New file.
80012
80013 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80014
80015         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80016         copyright symbol and the year.
80017         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80018         (version_etc_va): Use parameterized copyright notice.
80019         Reword to conform to the current GNU coding standards.
80020
80021 2005-07-11  Karl Berry  <karl@gnu.org>
80022
80023         * doc/gnulib.texi (Quoting): new node.
80024         (Initial import): more info, from Patrice.
80025
80026 2005-07-11  Bruno Haible  <bruno@clisp.org>
80027
80028         * gnulib-tool (func_usage): Document option --avoid.
80029         (Command line options): Handle --avoid.
80030         (func_acceptable): New function.
80031         (func_modules_transitive_closure): Use it.
80032
80033 2005-07-11  Bruno Haible  <bruno@clisp.org>
80034
80035         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80036         Reported by Jim Meyering.
80037
80038 2005-07-10  Bruno Haible  <bruno@clisp.org>
80039
80040         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80041         Needed when size_t is smaller than 'unsigned int'.
80042         Reported by Paul Eggert.
80043
80044 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80045
80046         * modules/argp (Depends-on): Add unlocked-io
80047
80048 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80049
80050         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80051         block of defines.
80052
80053 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80054
80055         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80056         fix now.
80057
80058 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80059         and Paul Eggert  <eggert@cs.ucla.edu>
80060
80061         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80062         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80063
80064 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80065
80066         * modules/regex (Files): Add lib/regex_internal.c,
80067         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80068         (Depends-on): Add extensions.
80069         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80070
80071 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80072
80073         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80074         pathconf.
80075         * m4/same.m4 (gl_SAME): Likewise.
80076         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80077
80078         * m4/regex.m4: Adjust to new libc regex implementation.
80079         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80080         all the .c and .h parts of (the new) regex.
80081         Quote the m4 stuff better.
80082         Check for RE_ICASE bug of old gnulib.
80083         Check for REG_STARTEND of recent libc.
80084         Rename local variables from jm_* to gl_*.
80085         Quote operand of "test -f".
80086         Say "recent enough" version of libc, not "version 2".
80087         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80088         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80089         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80090         Remove check for btowc, isascii.
80091         Require AM_LANGINFO_CODESET.
80092
80093 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80094
80095         * lib/regex.c, regex.h: Sync from libc.
80096         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80097         * lib/regexec.c:
80098         New files, synced from libc, except that regex_internal.h
80099         currently has a small porting fix.
80100
80101 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80102
80103         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80104         regex_internal.c, regexec.c.
80105         Add regex_internal.h too, but as a comment, since the libc version
80106         is currently broken in gnulib mode.
80107
80108 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80109
80110         Support programs like Emacs that use gnulib but not gettext.
80111         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80112         * modules/gettext-h: New file.
80113         * modules/gettext (Files): Remove lib/gettext.h.
80114         (Depends-on): Add gettext-h.
80115         (Makefile.am): Remove lib_SOURCES.
80116         * modules/argmatch, modules/c-stack, modules/closeout:
80117         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80118         * modules/execute, modules/file-type, modules/getaddrinfo:
80119         * modules/getopt, modules/human, modules/javacomp:
80120         * modules/javaexec, modules/mkdir-p, modules/obstack:
80121         * modules/openat, modules/pagealign_alloc, modules/pipe:
80122         * modules/quotearg, modules/regex, modules/rpmatch:
80123         * modules/unicodeio, modules/userspec, modules/version-etc:
80124         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80125         * modules/xsetenv:
80126         Depend on gettext-h, not gettext.
80127
80128 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80129
80130         * gnulib-tool (func_import): Add support for 'public domain' license.
80131         * modules/alloca, modules/atexit, modules/memmove:
80132         Now public domain, not GPL.
80133         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80134         * modules/realloc, modules/strerror, modules/strtod:
80135         Now LGPL, not GPL.
80136
80137 2005-07-05  Bruno Haible  <bruno@clisp.org>
80138
80139         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80140         autoconf CVS. Needed for mingw.
80141
80142 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80143
80144         Remove the dependency of the strftime module on the tzset module.
80145         * modules/strftime (Depends-on): Remove dependency on tzset.
80146
80147 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80148
80149         Remove the dependency of the strftime module on the tzset module.
80150         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80151         gl_FUNC_TZSET_CLOBBER.
80152
80153 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80154
80155         Remove the dependency of the strftime module on the tzset module.
80156         * lib/strftime.c (my_strftime)
80157         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
80158         Copy the input structure, to work around some of the bug with
80159         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
80160         Solaris releases, you should also use the tzset module, but we won't
80161         require it as a dependency any more since we don't want LGPLed code
80162         to depend on GPLed code.
80163
80164 2005-07-02  Jim Meyering  <jim@meyering.net>
80165
80166         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
80167         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
80168         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80169         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80170
80171 2005-07-02  Jim Meyering  <jim@meyering.net>
80172
80173         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80174
80175 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80176
80177         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80178         declares only 'struct timespec;' (!).
80179
80180 2005-07-01  Jim Meyering  <jim@meyering.net>
80181
80182         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80183         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80184         * lib/save-cwd.c, tempname.c:
80185         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80186         and don't include <sys/file.h>).
80187
80188 2005-06-29  Jim Meyering  <jim@meyering.net>
80189
80190         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
80191         type name.  Use the variable name instead.
80192         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
80193         Likewise.
80194
80195 2005-06-28  Simon Josefsson  <jas@extundo.com>
80196
80197         * modules/check-version (Files): Add check-version.m4.
80198
80199 2005-06-28  Simon Josefsson  <jas@extundo.com>
80200
80201         * m4/check-version.m4: New file, suggested by Jim Meyering
80202         <jim@meyering.net>.
80203
80204 2005-06-28  Simon Josefsson  <jas@extundo.com>
80205
80206         * lib/check-version.h, lib/check-version.c: New files.
80207
80208 2005-06-28  Simon Josefsson  <jas@extundo.com>
80209
80210         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
80211         collision with global variable.  Better indentation.  Don't
80212         increment buffer pointer beyond buffer end.  Based on comments
80213         from Paul Eggert <eggert@cs.ucla.edu>.
80214
80215         * lib/base64.h: Indent.
80216
80217 2005-06-28  Simon Josefsson  <jas@extundo.com>
80218
80219         * doc/gnulib.texi (Library version handling): New section.
80220
80221 2005-06-28  Jim Meyering  <jim@meyering.net>
80222
80223         * check-module (find_included_lib_files): Hard-code another
80224         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
80225         but modules/fts-lgpl (correctly) does not list those files.
80226
80227         * modules/canonicalize (Files): Add lib/pathmax.h.
80228
80229 2005-06-25  Simon Josefsson  <jas@extundo.com>
80230
80231         * modules/check-version: New file.
80232
80233 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
80234
80235         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
80236         initializer of struct addrinfo, as an indication that we don't
80237         care how many members the structure has.
80238
80239 2005-06-24  Derek Price  <derek@ximbiot.com>
80240         and Bruno Haible  <bruno@clisp.org>
80241
80242         Remove stat module & update lstat.
80243         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
80244         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80245         * m4/stat.m4: Remove this file.
80246
80247 2005-06-24  Derek Price  <derek@ximbiot.com>
80248         and Bruno Haible  <bruno@clisp.org>
80249
80250         Remove stat module & update lstat.
80251         * lib/stat.c: Remove this file...
80252         (slash_aware_lstat): ...moving this content and its support...
80253         * lib/lstat.c (rpl_lstat): ...into here.
80254         * lib/lstat.h: New file.
80255
80256 2005-06-24  Derek Price  <derek@ximbiot.com>
80257         and Bruno Haible  <bruno@clisp.org>
80258
80259         Remove stat module & update lstat.
80260         * config/srclist.txt (libc sources): Remove stat.
80261
80262 2005-06-24  Derek Price  <derek@ximbiot.com>
80263         and Bruno Haible  <bruno@clisp.org>
80264
80265         Remove stat module & update lstat.
80266         * MODULES.html.sh (stat): Remove.
80267         * MODULES.html: Regenerated.
80268         * modules/lstat (Description): Correct function name.
80269         (Files): Add "lstat.h".
80270         (Depends-on): Remove stat, add xalloc, stat-macros.
80271         * modules/stat: Remove this file.
80272         (Include): Add "lstat.h", remove <sys/stat.h>.
80273
80274 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
80275
80276         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
80277         (ranged_convert): Don't save conversion in a temporary struct.
80278         This causes a warning with GCC 4.0.0, and anyway in the typical
80279         case it's not worth the extra 100 bytes or so of code.
80280         (ranged_convert, __mktime_internal): When calling a function via a
80281         pointer P, use P () rather than (*P) (), as we now assume C89 or
80282         better.
80283
80284 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80285
80286         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
80287         "who -r" failed to give output.  Problem reported by Tim Waugh.
80288
80289         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
80290         (xcalloc): Use it to avoid needless tests.
80291         Problem reported by Jim Meyering.
80292
80293 2005-06-20  Derek Price  <derek@ximbiot.com>
80294
80295         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
80296         unnecessary for Autoconfs > 2.59c.
80297
80298 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80299
80300         * lib/argp.h (__option_is_short): Check upper limit of
80301         __key. Isprint() requires its argument to have the value
80302         of an unsigned char or EOF.
80303
80304 2005-06-16  Jim Meyering  <jim@meyering.net>
80305
80306         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
80307         when either N or S is zero.
80308
80309 2005-06-16  Derek Price  <derek@ximbiot.com>
80310
80311         * m4/bison.m4: Declare YACC & YFLAGS precious.
80312
80313 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
80314
80315         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
80316         multibyte string or pattern, fall back on unibyte matching.
80317         Problem reported by James Youngman.
80318
80319 2005-06-08  Bruno Haible  <bruno@clisp.org>
80320
80321         * modules/csharpcomp: New file.
80322         * MODULES.html.sh (C#): Add csharpcomp.
80323
80324 2005-06-08  Bruno Haible  <bruno@clisp.org>
80325
80326         * m4/csharpcomp.m4: New file, from GNU gettext.
80327
80328 2005-06-08  Bruno Haible  <bruno@clisp.org>
80329
80330         * lib/csharpcomp.h: New file, from GNU gettext.
80331         * lib/csharpcomp.c: New file, from GNU gettext.
80332         * lib/csharpcomp.sh.in: New file, from GNU gettext.
80333
80334 2005-06-08  Bruno Haible  <bruno@clisp.org>
80335
80336         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
80337         warning on mingw.
80338
80339 2005-06-07  Derek Price  <derek@ximbiot.com>
80340
80341         Sync from CVS.
80342         * lib/glob_.h: Indent nested #ifdef.
80343
80344 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80345
80346         Sync from coreutils.
80347         Use "file name" when talking about file names, instead of "filename"
80348         or "path", as per the GNU coding standards.
80349         * lib/mkdir-p.c: Renamed from makepath.c.
80350         (make_dir_parents): Renamed from make_path.  All callers changed.
80351         * lib/mkdir-p.h: Likewise.  All includers changed.
80352         * lib/filenamecat.c: Renamed from path-concat.c.
80353         (file_name_concat): Renamed from path_concat.  All callers changed.
80354         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
80355         * lib/filenamecat.h: Likewise.  All includers changed.
80356         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
80357         in comments or local variable names.
80358         * lib/basename.c: Likewise.
80359         * lib/canonicalize.c, canonicalize.h: Likewise.
80360         * lib/dirname.c, dirname.h: Likewise.
80361         * lib/euidaccess.c: Likewise.
80362         * lib/exclude.c: Likewise
80363         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
80364         * lib/fsusage.c, fsuage.h: Likewise.
80365         * lib/fts.c, fts_.h: Likewise.
80366         * lib/getcwd.c: Likewise.
80367         * lib/getloadavg.c: Likewise.
80368         * lib/mkstemp.c: Likewise.
80369         * lib/mountlist.c, mountlist.h: Likewise.
80370         * lib/openat.c, openat.h: Likewise.
80371         * lib/readlink-stub.c: Likewise.
80372         * lib/readutmp.c, readutmp.h: Likewise.
80373         * lib/rename.c: Likewise.
80374         * lib/rmdir.c: Likewise.
80375         * lib/same.c: Likewise.
80376         * lib/savedir.c: Likewise.
80377         * lib/stripslash.c: Likewise.
80378         * lib/tempname.c: Likewise.
80379         * lib/xreadlink.c: Likewise.
80380         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
80381         All uses changed.
80382         * lib/exclude.h: Likewise.
80383
80384         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
80385         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80386         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
80387         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80388         * lib/pathmax.h: Include <limits.h> unconditionally, since other
80389         files have been getting away with it for years (MORE/BSD 4.3
80390         is extinct now).
80391         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
80392         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80393
80394         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
80395         Define to 256, not 255, as per modern POSIX.
80396
80397 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80398
80399         Sync from coreutils.
80400         Use "file name" when talking about file names, instead of "filename"
80401         or "path", as per the GNU coding standards.
80402         * MODULES.html.sh: mkdir-p renamed from makepath.
80403         filenamecat renamed from path-concat.
80404         * modules/filenamecat: Renamed from modules/path-concat.
80405         (Files): filenamecat.h and filenamecat.c renamed from
80406         path-concat.h and path-concat.c.
80407         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
80408         (Include): filenamecat.h, not path-concat.h.
80409         * modules/mkdir-p: Renamed from modules/makepath.
80410         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
80411         makepath.c.
80412         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
80413         (Include): mkdir-p.h, not makepath.h.
80414
80415 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80416
80417         Sync from coreutils.
80418         * m4/mkdir-p.m4: Renamed from makepath.m4.
80419         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
80420         Rename files from makepath.c to mkdir-p.c, and from
80421         makepath.h to mkdir-p.h.
80422         * m4/filenamecat.m4: Renamed from path-concat.m4.
80423         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
80424         Rename files from path-concat.c to filenamecat.c,
80425         and from path-concat.h to filenamecat.h.
80426         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
80427         "file name" in local variables or comments.
80428         * m4/rename.m4: Likewise.
80429
80430 2005-06-01  Bruno Haible  <bruno@clisp.org>
80431
80432         * modules/csharpexec: New file.
80433         * MODULES.html.sh (C#): New section.
80434
80435 2005-06-01  Bruno Haible  <bruno@clisp.org>
80436
80437         * m4/csharp.m4: New file, from GNU gettext.
80438         * m4/csharpexec.m4: New file, from GNU gettext.
80439
80440 2005-06-01  Bruno Haible  <bruno@clisp.org>
80441
80442         * lib/csharpexec.h: New file, from GNU gettext.
80443         * lib/csharpexec.c: New file, from GNU gettext.
80444         * lib/csharpexec.sh.in: New file, from GNU gettext.
80445
80446 2005-05-31  Derek Price  <derek@ximbiot.com>
80447             Paul Eggert  <eggert@cs.ucla.edu>
80448
80449         Sync from cvs.
80450         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80451
80452 2005-05-31  Derek Price  <derek@ximbiot.com>
80453             Paul Eggert  <eggert@cs.ucla.edu>
80454
80455         Sync from cvs.
80456         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80457
80458 2005-05-29  Derek Price  <derek@ximbiot.com>
80459
80460         * config/srclist.txt (glob_.h, glob.c): Add these files.
80461
80462 2005-05-29  Derek Price  <derek@ximbiot.com>
80463
80464         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
80465         * modules/glob: New file.
80466         * modules/getlogin_r: Add link to POSIX spec in description.
80467
80468 2005-05-29  Derek Price  <derek@ximbiot.com>
80469             Paul Eggert  <eggert@cs.ucla.edu>
80470
80471         * m4/glob.m4: New file.
80472
80473 2005-05-29  Derek Price  <derek@ximbiot.com>
80474             Paul Eggert  <eggert@cs.ucla.edu>
80475
80476         * lib/glob_.h, lib/glob.c: New files.
80477
80478 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80479
80480         * modules/fts (Files): Remove m4/inttypes-pri.m4.
80481         * modules/fts-lgpl (Depends-on): Remove gettext.
80482
80483 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80484
80485         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
80486         and don't require gt_INTTYPES_PRI.
80487
80488 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80489
80490         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
80491
80492         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
80493         the configuration hassle isn't worth it.
80494         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
80495         (LONGEST_MODIFIER, PRIuMAX): Remove.
80496
80497 2005-05-27  Bruno Haible  <bruno@clisp.org>
80498
80499         * lib/getlogin_r.h: Remove second include of <stddef.h>.
80500
80501 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
80502
80503         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
80504         _POSIX_PTHREAD_SEMANTICS for Solaris.
80505
80506 2005-05-25  Derek Price  <derek@ximbiot.com>
80507
80508         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
80509
80510 2005-05-25  Derek Price  <derek@ximbiot.com>
80511             Paul Eggert  <eggert@cs.ucla.edu>
80512
80513         * modules/getlogin_r, m4/getlogin_r.m4: New files.
80514         * lib/getlogin_r.c, getlogin_r.h: New files.
80515
80516 2005-05-25  Bruno Haible  <bruno@clisp.org>
80517             Derek Price  <derek@ximbiot.com>
80518
80519         * lib/getlogin_r.h: Simplify API documentation.
80520
80521 2005-05-23  Derek Price  <derek@ximbiot.com>
80522
80523         * modules/minmax (Files): Add m4/minmax.m4.
80524         (configure.ac): Add gl_MINMAX.
80525
80526 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80527
80528         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
80529         so that unistd-safer.h (GPL'ed code) need not be included.
80530
80531 2005-05-22  Bruno Haible  <bruno@clisp.org>
80532
80533         * m4/minmax.m4: New file.
80534         Based on a patch by Derek Price <derek@ximbiot.com>.
80535
80536 2005-05-22  Bruno Haible  <bruno@clisp.org>
80537
80538         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
80539         (INT64_MIN): Fix definition.
80540         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
80541
80542         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
80543         NEED_SIGNED_INT_TYPES.
80544
80545         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
80546         HAVE_SYSTEM_INTTYPES.
80547
80548 2005-05-22  Bruno Haible  <bruno@clisp.org>
80549
80550         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
80551         Also include <sys/param.h> if it defines MIN, MAX.
80552         Based on a patch by Derek Price <derek@ximbiot.com>.
80553
80554 2005-05-21  Jim Meyering  <jim@meyering.net>
80555
80556         * modules/fts (Files): Add m4/inttypes-pri.m4.
80557         (Depends-on): Add lstat and remove gettext.  Alphabetize.
80558
80559 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80560
80561         New fts module.
80562         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
80563         (setup_dir, free_dir): New functions.
80564         (enter_dir, leave_dir): Define trivial
80565         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
80566         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
80567         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
80568         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
80569         Move to fts-cycle.c.
80570         (fts_open): Use setup_dir.
80571         (fts_close): Use free_dir.
80572         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
80573         This adds a label and some gotos, but the alternatives were messier.
80574         Check for memory allocation failure when entering a dir.
80575         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
80576         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
80577         (FTS): New member fts_cycle, that is a union that contains the
80578         old active_dir_ht and cycle_state.  All uses changed to mention
80579         fts_cycle.ht and fts_cycle.state.
80580         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
80581         fts.c, with the following changes:
80582         (setup_dir, free_dir): New functions.
80583         (enter_dir): Now returns bool.  Return true if successful, false
80584         if memory exhausted.  All callers changed.
80585         Do not bother partly cleaning up on
80586         memory allocation failure; that is free_dir's job.
80587         However, free ad if hash_insert fails, to avoid memory leak.
80588         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
80589         fts->fts_options to see which union member to use.
80590
80591 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80592
80593         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
80594         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
80595
80596 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80597
80598         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
80599
80600 2005-05-20  Jim Meyering  <jim@meyering.net>
80601
80602         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
80603         Now a macro, to pacify GCC.
80604
80605 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
80606
80607         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
80608         of -1.
80609
80610 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
80611
80612         * lib/chown.c (rpl_chown): Return -1 on failure.
80613
80614 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
80615
80616         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
80617         Don't check for stddef.h.
80618         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
80619         don't use its results.
80620         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
80621         since we include them unconditionally.  Don't require
80622         AM_STDBOOL_H, since stdbool is a prerequisite.
80623         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
80624         since we assume C89 or better.
80625         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
80626         as we don't use their results.
80627         Don't check for fchdir, memmove, memset, strrchr, as we use
80628         them unconditionally.
80629         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
80630         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
80631
80632 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
80633
80634         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
80635         Include <stddef.h> unconditionally, since we assume C89 now.
80636         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
80637         * lib/fts.c: Include fts_.h first, to check interface.
80638         Do not include intprops.h; no longer needed.
80639         Include cycle-check.h and hash.h, since fts_.h no longer does.
80640         Remove unnecessary casts of closedir to void.
80641         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
80642         decide whether to decrement nlinks.
80643         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
80644         (FTS): Use struct hash_table * instead of Hash_table, so that
80645         we no longer need to include hash.h here.
80646
80647 2005-05-18  Jim Meyering  <jim@meyering.net>
80648
80649         * modules/dirfd (License): Change to LGPL.  Most of the code
80650         is already in the public domain.
80651
80652 2005-05-18  Jim Meyering  <jim@meyering.net>
80653
80654         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
80655         Reported by Yoann Vandoorselaere.
80656
80657 2005-05-17  Jim Meyering  <jim@meyering.net>
80658
80659         * m4/fts.m4: New file, from coreutils.
80660
80661 2005-05-17  Jim Meyering  <jim@meyering.net>
80662
80663         * lib/fts.c, lib/fts_.h: New files, from coreutils.
80664
80665 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80666
80667         Sync from coreutils.
80668         * m4/unlinkdir.m4: New file.
80669
80670 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80671
80672         Sync from coreutils.
80673         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
80674         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
80675         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
80676         White space changes only.
80677         * lib/makepath.c (make_path): Port to hosts where leading "//" is
80678         special.
80679         * lib/yesno.c: Include getline.h, not ctype.h.
80680         (yesno): Don't remove leading white space; POSIX doesn't allow it.
80681         Use getline to remove arbitrary restriction on response length.
80682
80683 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80684
80685         * config/srclist-update: Spell out "Street" in FSF postal
80686         mail address; this is the style the FSF seems to prefer.
80687
80688         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
80689         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
80690         this updates FSF postal mail address.
80691
80692         Sync from coreutils.
80693         * modules/unlinkdir: New file.
80694         * modules/yesno (Depends-on): Add getline.
80695         * MODULES.html.sh (File system functions): Add unlinkdir.
80696
80697 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80698
80699         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
80700         lib/strsep.h:
80701         Change the initial comment to refer to GPL, not LGPL.
80702         gnulib-tool will change it to LGPL as needed.
80703
80704         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
80705         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
80706         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
80707         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
80708         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
80709         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
80710         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
80711         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
80712         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
80713         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
80714         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
80715         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
80716         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
80717         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
80718         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
80719         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
80720         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
80721         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
80722         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
80723         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
80724         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
80725         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
80726         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
80727         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
80728         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
80729         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
80730         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
80731         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
80732         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
80733         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
80734         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
80735         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
80736         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
80737         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
80738         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
80739         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
80740         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
80741         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
80742         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
80743         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
80744         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
80745         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
80746         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
80747         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
80748         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
80749         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
80750         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
80751         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
80752         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
80753         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
80754         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
80755         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
80756         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
80757         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
80758         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
80759         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
80760         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
80761         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
80762         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
80763         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
80764         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
80765         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
80766         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
80767         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
80768         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
80769         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
80770         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
80771         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
80772         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
80773         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
80774         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
80775         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
80776         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
80777         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
80778         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
80779         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
80780         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
80781         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
80782         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
80783         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
80784         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
80785         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
80786         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
80787         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
80788         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
80789         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
80790         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
80791         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
80792         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
80793         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
80794         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
80795         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
80796         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
80797         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
80798         lib/yesno.c, lib/yesno.h:
80799         Update FSF postal mail address.
80800
80801 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80802
80803         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
80804         tests/test-memmem.c, tests/test-stpncpy.c:
80805         Update FSF postal mail address.
80806
80807 2005-05-13  Bruno Haible  <bruno@clisp.org>
80808
80809         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
80810         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
80811         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
80812         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
80813         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
80814         Add support for 64-bit integers in the MSVC compiler.
80815
80816 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80817
80818         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
80819
80820 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
80821
80822         * gnulib-tool (func_import): Sort and uniquify recommended includes.
80823
80824 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
80825
80826         * doc/getdate.texi (General date syntax): Don't say that date
80827         date --iso-8601=ns generates acceptable dates; it doesn't yet.
80828         Problem reported by Nic Ferrier.
80829
80830 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80831
80832         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
80833         specified in ai_socktype. Fix invalid ai_protocol
80834         check. ai_protocol is usually set to 0 or depending on
80835         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
80836         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
80837         ai_socktype / ai_protocol in the returned addrinfo structure.
80838
80839 2005-05-10  Simon Josefsson  <jas@extundo.com>
80840
80841         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
80842         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80843
80844 2005-05-10  Karl Berry  <karl@gnu.org>
80845
80846         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
80847         (from http://www.gnu.org/licenses).
80848         * doc/COPYING.LIB: also rename to COPYING.LESSER.
80849         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
80850         fdl.texi suffices.
80851
80852 2005-05-10  Karl Berry  <karl@gnu.org>
80853
80854         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
80855         (COPYING.DOC): remove.
80856
80857         * config/srclist-update: new FSF address.
80858
80859 2005-05-10  Derek Price  <derek@ximbiot.com>
80860
80861         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
80862         possible.
80863
80864 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80865             Bruno Haible  <bruno@clisp.org>
80866
80867         * modules/inet_ntop: New file.
80868         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80869         inet_ntop.
80870
80871 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80872             Bruno Haible  <bruno@clisp.org>
80873
80874         * m4/inet_ntop.m4: New file.
80875
80876 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80877             Bruno Haible  <bruno@clisp.org>
80878
80879         * lib/inet_ntop.h: New file.
80880         * lib/inet_ntop.c: New file, from glibc with modifications.
80881
80882 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
80883
80884         * modules/time_r (License): Change to LGPL.
80885         * modules/extensions (License): Change to LGPL.  Actually,
80886         the license is more permissive than that, but currently gnulib-tool
80887         doesn't know how to handle more-permissive licenses.
80888
80889         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
80890         Problem reported by Dave Love.
80891
80892 2005-05-08  Jim Meyering  <jim@meyering.net>
80893
80894         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
80895         blank.
80896
80897 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80898
80899         * modules/argmatch (Depends-on): Add stdbool.
80900         * modules/backupfile (Depends-on): Likewise.
80901         * modules/chdir-long (Depends-on): Likewise.
80902         * modules/closeout (Depends-on): Likewise.
80903         * modules/cycle-check (Depends-on): Likewise.
80904         * modules/dirname (Depends-on): Likewise.
80905         * modules/fnmatch (Depends-on): Likewise.
80906         * modules/fsusage (Depends-on): Likewise.
80907         * modules/fwriteerror (Depends-on): Likewise.
80908         * modules/getcwd (Depends-on): Likewise.
80909         * modules/getloadavg (Depends-on): Likewise.
80910         * modules/hard-locale (Depends-on): Likewise.
80911         * modules/makepath (Depends-on): Likewise.
80912         * modules/mountlist (Depends-on): Likewise.
80913         * modules/nanosleep (Depends-on): Likewise.
80914         * modules/posixtm (Depends-on): Likewise.
80915         * modules/quotearg (Depends-on): Likewise.
80916         * modules/readtokens (Depends-on): Likewise.
80917         * modules/readtokens0 (Depends-on): Likewise.
80918         * modules/readutmp (Depends-on): Likewise.
80919         * modules/save-cwd (Depends-on): Likewise.
80920         * modules/strftime (Depends-on): Likewise.
80921         * modules/userspec (Depends-on): Likewise.
80922         * modules/utimecmp (Depends-on): Likewise.
80923         * modules/xgetcwd (Depends-on): Likewise.
80924         * modules/xnanosleep (Depends-on): Likewise.
80925         * modules/xstrtod (Depends-on): Likewise.
80926         * modules/yesno (Depends-on): Likewise.
80927
80928 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
80929
80930         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
80931         needless checks.
80932
80933 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80934
80935         Merge from coreutils.  Among other things,
80936         add bulletproofing for cases where stdin, stdout, or stderr are closed.
80937         * lib/fd-safer.c: New file.
80938         * lib/fcntl-safer.h, open-safer.c: Remove.
80939         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
80940         * lib/dup-safer.c: Include unistd-safer.h first.
80941         Don't include errno.h.
80942         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
80943         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
80944         * lib/file-type.c: Rely on file-type.h change.
80945         * lib/getloadavg.c: Include unistd-safer.h.
80946         (getloadavg): Use safer open.
80947         * lib/getusershell.c: Include "stdio-safer.h".
80948         (getusershell): Use safer fopen.
80949         * lib/long-options.c (long_options): Use NULL rather than 0.
80950         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
80951         'free'.
80952         * lib/modechange.c: Likewise.
80953         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
80954         (MODE_DONE): New constant.
80955         (struct mode_change): Remove 'next' member.
80956         (make_node_op_equals): New function; like the old one of the
80957         same name, except it allocates an array.
80958         (mode_compile, mode_create_from_ref): Use it.
80959         (mode_compile): Allocate result as an array, not a linked list.
80960         Parse octal string ourself, so that we catch mistakes like "+0".
80961         (mode_adjust): Arg is an array, not a linked list.
80962         * lib/modechange.c: Include stat-macros.h, xalloc.h.
80963         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
80964         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
80965         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
80966         Remove.  This is now stat-macros.h's job.
80967         (talloc): Remove.  All callers replaced by xalloc, so that
80968         our invokers don't have to worry about reporting memory failures.
80969         (make_node_op_equals): Remove.
80970         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80971         New constants.
80972         (struct mode_change): Moved here from modechange.h.
80973         (mode_append_entry): Remove.
80974         (mode_compile): Remove MASKED_OPS arg, since it encouraged
80975         apps to have incorrect behavior.  Use simpler algorithm for head
80976         and tail.  Don't futz with umask; that's now the job of mode_adjust.
80977         Detect more invalid usages rather than having somewhat-random behavior.
80978         Don't insert an "a=" action, as that leads to incorrect behavior.
80979         (mode_compile, mode_create_from_ref): Return NULL on error instead
80980         of an enum, since now there's only one way to have an error.  All
80981         callers changed.
80982         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
80983         at the correct time.  Simplify calculation of "+u" and its ilk.
80984         Don't mishandle "+X".
80985         (mode_free): Remove "register" and localize decls.
80986         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80987         (struct mode_change): Move to modechange.c; callers don't
80988         need to see this stuff.
80989         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
80990         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
80991         (mode_change, mode_adjust): Reflect the new signatures noted above.
80992         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
80993         that might redefine system include files.
80994         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
80995         (my_usleep): Use NULL rather than (void *) 0.
80996         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
80997         Use siginterrupt to specify that system calls should be interrupted.
80998         (rpl_nanosleep): Move initialization of suspended closer to call of
80999         my_usleep.
81000         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81001         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81002         (desirable_utmp_entry): New function.
81003         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81004         using x2nrealloc, to simplify logic.
81005         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81006         size calculation.  Do not assume utmp file is a regular file.
81007         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81008         (READ_UTMP_CHECK_PIDS): New constant.
81009         * lib/save-cwd.c: Include unistd-safer.h.
81010         (save_cwd): Use fd_safer.
81011         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81012         [!_LIBC] Include "stat-macros.h" instead.
81013         * lib/unistd-safer.h (fd_safer): New decl.
81014
81015 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81016
81017         * modules/getloadavg (Depends-on): Add unistd-safer.
81018         * modules/getusershell (Depends-on): Add stdio-safer.
81019         * modules/lstat (Depends-on): Remove xalloc.
81020         * modules/mkstemp (Depends-on): Add stat-macros.
81021         * modules/modechange (Depends-on): Remove xstrtol.
81022         Add stat-macros, xalloc.
81023         * modules/save-cwd (Depends-on): Add unistd-safer.
81024         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81025         * modules/unistd-safer (Files): Add lib/fd-safer.c
81026         (Makefile.am): Remove lib_SOURCES.
81027
81028         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81029         Remove fcntl-safer; unistd-safer supersedes it.
81030
81031 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81032
81033         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81034         AC_HEADER_STAT.
81035         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81036         (gl_PREREQ_CHOWN): Remove.
81037         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81038         it.  Don't require AC_HEADER_STAT.
81039         (gl_PREREQ_LSTAT): Remove.
81040         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81041         Don't require AC_HEADER_STAT.
81042         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81043         (gl_PREREQ_RMDIR): Remove.
81044         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81045         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81046         the stat-macros module a prerequisite.
81047         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81048         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81049         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81050         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81051         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81052         variable names.
81053         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81054         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81055         variable prefixes.
81056         * m4/fcntl-safer.m4: Remove.
81057         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81058         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81059         Invoke gl_PREREQ_FD_SAFER.
81060         (gl_PREREQ_FD_SAFER): New macro.
81061         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81062         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81063         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81064         Remove duplicate call to AC_LIBOBJ(readutmp).
81065         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81066
81067         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81068         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81069
81070 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81071
81072         * MODULES.html.sh (Misc): Add byteswap.
81073
81074 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81075
81076         * modules/getcwd (Depends-on): Add extensions.
81077         * modules/openat (Depends-on): Likewise.
81078
81079 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81080
81081         * modules/byteswap: New file.
81082
81083 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81084
81085         * m4/byteswap.m4: New file.
81086
81087 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81088
81089         * lib/byteswap_.h: New file.
81090
81091 2005-04-25  Karl Berry  <karl@gnu.org>
81092
81093         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81094
81095 2005-04-25  Albert Chin  <china@thewrittenword.com>
81096
81097         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81098         Toolkit C bug.
81099
81100 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81101
81102         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81103         (func_ln_if_changed): Remove forcibly for no error message
81104         in case file does not exist.
81105
81106 2005-04-19  Simon Josefsson  <jas@extundo.com>
81107
81108         * gnulib-tool (Options): Make --symlink mean --symbolic.
81109
81110 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81111
81112         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81113
81114 2005-04-16  Simon Josefsson  <jas@extundo.com>
81115
81116         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81117
81118 2005-04-15  Simon Josefsson  <jas@extundo.com>
81119
81120         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81121
81122 2005-04-15  Simon Josefsson  <jas@extundo.com>
81123
81124         * gnulib-tool: Rename --symlink to --symbolic.
81125
81126 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81127
81128         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81129         symbolic links to files instead of copying/moving.  Add --aux-dir,
81130         specifying directory relative --dir where auxiliary build tools
81131         are placed.
81132
81133 2005-04-14  Bruno Haible  <bruno@clisp.org>
81134
81135         * modules/allocsa (License): Change to LGPL.
81136         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81137
81138 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81139
81140         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81141         that "UTC +1 second" continues to work.  Problem reported
81142         by Dmitry V. Levin.
81143         (relunit_snumber): New rule.
81144         (relunit): Use it.
81145
81146 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81147
81148         * lib/getdate.y (universal_time_zone_table): New constant.
81149         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81150         universal_time_zone_table.
81151         (lookup_zone): Prefer universal_time_zone_table to
81152         local_time_zone_table, so that "GMT" time stamps are allowed in
81153         London during the summer.  Problem reported by Ian Abbott.
81154
81155 2005-04-12  Jim Meyering  <jim@meyering.net>
81156
81157         * lib/human.c (humblock): Set *options even when returning due to
81158         xstrtoumax conversion failure.  Thanks to a used-uninitialized
81159         warning from gcc-4.
81160
81161 2005-04-09  Jim Meyering  <jim@meyering.net>
81162
81163         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
81164         -Wuninitialized: initialize tm0.tm_year.
81165
81166 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81167
81168         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81169         count, since there's no maximum.  All uses changed.
81170         Add member dsts_seen.
81171         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81172         not being INT_MAX.
81173         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81174         Use pc_rels_seen to decide whther a date is absolute.
81175
81176         * lib/getdate.y (number): Don't overwrite year.
81177         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81178         check.
81179
81180 2005-04-02  Simon Josefsson  <jas@extundo.com>
81181
81182         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81183         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81184
81185 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81186
81187         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
81188         where no absolute path name can be longer than PATH_MAX.
81189
81190 2005-03-27  Jim Meyering  <jim@meyering.net>
81191
81192         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
81193
81194 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
81195
81196         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
81197         "one's complement" -> "ones' complement" in comment, as per Knuth.
81198         "value of type" -> "type or expression" in comment.
81199         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
81200
81201 2005-03-26  Jim Meyering  <jim@meyering.net>
81202
81203         Comment nits.
81204         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
81205         Correct typos: s/or/of/.
81206
81207 2005-03-26  Jim Meyering  <jim@meyering.net>
81208
81209         * modules/check-include-files: Move to ../ and rename to...
81210         * check-module: ...this.
81211
81212 2005-03-25  Jim Meyering  <jim@meyering.net>
81213
81214         * modules/xvasprintf (Files): Add xalloc.h.
81215
81216 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
81217
81218         * modules/gettext (Files): config/config.rpath ->
81219         build-aux/config.rpath
81220         * modules/iconv (Files): Likewise.
81221         Problem reported by Oskar Liljeblad.
81222
81223 2005-03-23  Jim Meyering  <jim@meyering.net>
81224
81225         * modules/check-include-files: New script to check for
81226         missing dependencies, multiple includes, etc.
81227
81228         * modules/c-strtold (Depends-on): Add xalloc.
81229         * modules/c-strtod (Depends-on): Add xalloc.
81230         * modules/hash (Depends-on): Add xalloc.
81231         (Files): Remove lib/xalloc.h.
81232
81233         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
81234         * modules/userspec (Files): Add lib/inttostr.h.
81235
81236 2005-03-23  Jim Meyering  <jim@meyering.net>
81237
81238         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
81239
81240 2005-03-22  Jim Meyering  <jim@meyering.net>
81241
81242         * modules/stat-macros: New module.
81243         * modules/canonicalize, modules/euidaccess, modules/file-type,
81244         * modules/filemode, modules/lchown, modules/makepath,
81245         * modules/rmdir, modules/stat: Depend on new stat-macros module
81246         rather than listing lib/stat-macros.h manually.
81247         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
81248
81249 2005-03-22  Jim Meyering  <jim@meyering.net>
81250
81251         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
81252
81253 2005-03-22  Bruno Haible  <bruno@clisp.org>
81254
81255         * config/srclist.txt: Replace target directory 'config' with
81256         'build-aux'.
81257         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
81258         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
81259         ../build-aux/.
81260
81261 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
81262
81263         * modules/chdir-long (Depends-on): Add mempcpy.
81264
81265         * modules/acl, modules/backupfile, modules/c-strtod,
81266         modules/c-strtold, modules/canon-host, modules/canonicalize,
81267         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
81268         modules/exclude, modules/exitfail, modules/file-type,
81269         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
81270         modules/getdate, modules/getline, modules/getpagesize,
81271         modules/getpass, modules/getugroups, modules/group-member,
81272         modules/hard-locale, modules/hash, modules/human, modules/idcache,
81273         modules/inttostr, modules/long-options, modules/makepath,
81274         modules/md5, modules/memcasecmp, modules/memcoll,
81275         modules/modechange, modules/mountlist, modules/path-concat,
81276         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
81277         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
81278         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
81279         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
81280         modules/strftime, modules/strndup, modules/strverscmp,
81281         modules/timespec, modules/unlocked-io, modules/userspec,
81282         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
81283         modules/yesno:
81284         Remove lib_SOURCES line from Makefile.am section, as this is now
81285         done automatically by the corresponding Autoconf macro.
81286
81287 2005-03-21  Jim Meyering  <jim@meyering.net>
81288
81289         Changes imported from coreutils.
81290
81291         * lib/cycle-check.c: Don't include xalloc.h.
81292
81293         * lib/path-concat.c: Don't include assert.h.
81294         (path_concat): Remove assertion that would have triggered
81295         for ABASE starting with more than one slash.
81296         Reported by Andreas Schwab.
81297
81298         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
81299         properly when ABASE is an absolute file name.
81300         Correct the description of this function.
81301         Include <assert.h>.
81302         Add an assertion and a test driver.
81303         This fixes a bug introduced on 2004-07-02.
81304         Andreas Schwab reported the resulting failure of cp --parents:
81305         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
81306
81307 2005-03-21  Jim Meyering  <jim@meyering.net>
81308
81309         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
81310         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
81311
81312 2005-03-21  Jim Meyering  <jim@meyering.net>
81313         and  Paul Eggert  <eggert@cs.ucla.edu>
81314
81315         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
81316         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
81317         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
81318         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
81319         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
81320         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
81321         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
81322         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
81323         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
81324         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
81325         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
81326         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
81327         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
81328         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
81329         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
81330         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
81331         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
81332         for these modules.
81333
81334 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
81335
81336         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
81337         (which shouldn't happen), generate nothing instead of returning 0
81338         immediately, so that nstrftime (NULL, ...) doesn't return 0.
81339
81340 2005-03-16  Bruno Haible  <bruno@clisp.org>
81341
81342         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
81343         HAVE_LONGLONG_64BIT.
81344
81345 2005-03-16  Bruno Haible  <bruno@clisp.org>
81346
81347         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
81348         HAVE_LONGLONG_64BIT.
81349
81350 2005-03-16  Bruno Haible  <bruno@clisp.org>
81351
81352         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
81353         HAVE_LONGLONG_64BIT.
81354
81355 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81356
81357         * lib/strftime.c (my_strftime): Prepend space to format so that we can
81358         reliably distinguish strftime failure from empty output on POSIX
81359         hosts.
81360
81361 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81362
81363         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
81364         (iconv_string): Don't guess a size-zero buffer, as that might cause
81365         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
81366         result would be 'too large', where 'too large' is (heuristically)
81367         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
81368         overflow concerns.  This will prevent some unwanted malloc failures
81369         when the inputs are very large.
81370
81371 2005-03-15  Karl Berry  <karl@gnu.org>
81372
81373         * config/srclist.txt (config.rpath): from gettext.
81374         * config/config.rpath: update.
81375
81376 2005-03-15  Bruno Haible  <bruno@clisp.org>
81377
81378         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
81379         to 'negate'.
81380
81381         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
81382         variable.
81383
81384         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
81385         results.
81386
81387 2005-03-14  Simon Josefsson  <jas@extundo.com>
81388
81389         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
81390         <fx@gnu.org>.
81391
81392 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
81393
81394         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
81395         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
81396         intprops.h.
81397         * lib/strtol.c: Likewise.
81398
81399 2005-03-14  Jim Meyering  <jim@meyering.net>
81400
81401         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
81402         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
81403         to be nonzero so that we (and caller) can detect the difference
81404         between a valid zero-length expansion and an error return, even
81405         when the underlying strftime fails before writing anything into
81406         that location.
81407
81408 2005-03-14  Bruno Haible  <bruno@clisp.org>
81409
81410         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
81411         Update from GNU gettext 0.14.3.
81412
81413 2005-03-10  Jim Meyering  <jim@meyering.net>
81414
81415         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
81416
81417 2005-03-10  Jim Meyering  <jim@meyering.net>
81418
81419         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
81420         so that this module works on systems without fchdir.
81421
81422 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
81423
81424         Factor int-properties macros into a single file, except for
81425         glibc-related files.
81426         * lib/intprops.h: New file.
81427         * lib/getloadavg.c: Include it instead of limits.h.
81428         (INT_STRLEN_BOUND): Remove.
81429         * lib/human.c: Include intprops.h.
81430         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
81431         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
81432         302/1000.
81433         * lib/inttostr.h: Include intprops.h instead of limits.h.
81434         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
81435         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
81436         for consistency with intprops.h.
81437         (time_t_is_integer, twos_complement_arithmetic): Use them.
81438         * lib/sig2str.h: Include <signal.h>, intprops.h.
81439         (INT_STRLEN_BOUND): Remove.
81440         * lib/strftime.c (TYPE_SIGNED): Remove.
81441         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
81442         * lib/strtol.c: Adjust comments to match intprops.h.
81443         * lib/userspec.c: Include intprops.h.
81444         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
81445         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
81446         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
81447         instead of rolling our own expressions.
81448         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
81449
81450         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
81451         instead of int.
81452         (my_strftime): Do not mishandle years close to INT_MAX, by doing
81453         the right thing even if adding 1900 would overflow.  Similarly
81454         for tm_mon + 1 and tm_yday + 1.
81455         Make %Y always equivalent to %C%y, and similarly for %G and %g.
81456         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
81457         (DO_SIGNED_NUMBER): New macro.
81458         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
81459
81460 2005-03-07  Bruno Haible  <bruno@clisp.org>
81461
81462         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
81463
81464 2005-03-07  Bruno Haible  <bruno@clisp.org>
81465
81466         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
81467
81468 2005-03-04  Derek R. Price  <derek@ximbiot.com>
81469
81470         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
81471         (func_import): Only replace files via --import when they have actually
81472         changed.
81473
81474 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81475
81476         * m4/mmap-anon.m4: New file.
81477         * m4/pagealign_alloc.m4: New file.
81478
81479 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81480             Bruno Haible  <bruno@clisp.org>
81481
81482         * modules/pagealign_alloc: New file.
81483         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
81484
81485 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81486             Bruno Haible  <bruno@clisp.org>
81487
81488         * lib/pagealign_alloc.h: New file.
81489         * lib/pagealign_alloc.c: New file.
81490
81491 2005-03-03  Bruno Haible  <bruno@clisp.org>
81492
81493         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
81494         Use an all-permissive copyright notice, recommended by RMS.
81495
81496 2005-03-02  Bruno Haible  <bruno@clisp.org>
81497
81498         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
81499         of AIX, the replacement has to be done only after <string.h> is
81500         included, therefore not in config.h. stpncpy.h does the replacement,
81501         and stpncpy.c uses it.
81502
81503 2005-03-02  Bruno Haible  <bruno@clisp.org>
81504
81505         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
81506         stpncpy.c uses it.
81507
81508 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81509
81510         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
81511         The workaround isn't strictly needed for POSIX conformance, and
81512         it's too much of a pain to configure and maintain.  We'll ask
81513         people to fix their kernels instead.
81514         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
81515         (NANOSLEEP_BUG_WORKAROUND): Remove.
81516         (xnanosleep): Remove the workaround.
81517
81518 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81519
81520         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
81521         Reported by Derek Price.
81522         (Include): Add "timespec.h".
81523
81524         * modules/xnanosleep (Depends-on): Remove gethrxtime.
81525
81526 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81527
81528         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
81529         to detect nanosleep bug.
81530
81531 2005-03-01  Bruno Haible  <bruno@clisp.org>
81532
81533         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
81534
81535 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81536
81537         * modules/gethrxtime: New file.
81538         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
81539         (Depends-on): Add gethrxtime.
81540         (configure.ac): Add gl_XNANOSLEEP.
81541         (Makefile.am): Remove lib_SOURCES line.
81542
81543 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81544
81545         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
81546         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
81547
81548 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81549
81550         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
81551         * lib/timespec.h (gettime): Return void, since it always
81552         succeeds now.  All uses changed.
81553         * lib/gettime.c (gettime): Likewise.
81554         [HAVE_NANOTIME]: Prefer nanotime.
81555         Assume gettimeofday succeeds, as POSIX requires.
81556         Assime time () succeeds, since other code already does.
81557         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
81558         (timespec_subtract): Remove.
81559         (NANOSLEEP_BUG_WORKAROUND): New constant.
81560         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
81561         things considerably.  Use it only on GNU/Linux hosts, since the
81562         workaround shouldn't be needed elsewhere.
81563
81564 2005-02-24  Bruno Haible  <bruno@clisp.org>
81565
81566         * modules/gettext (Files): Add m4/glibc2.m4.
81567
81568 2005-02-24  Bruno Haible  <bruno@clisp.org>
81569
81570         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
81571         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
81572         * m4/progtest.m4:
81573         Update from GNU gettext 0.14.2.
81574         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
81575
81576 2005-02-24  Bruno Haible  <bruno@clisp.org>
81577
81578         * lib/localcharset.c: Update from GNU gettext 0.14.2.
81579         * lib/config.charset: Update from GNU gettext 0.14.2.
81580
81581 2005-02-24  Bruno Haible  <bruno@clisp.org>
81582
81583         * lib/gettext.h: Update from GNU gettext 0.14.2.
81584
81585 2005-02-23  Simon Josefsson  <jas@extundo.com>
81586
81587         * m4/iconvme.m4: New file.
81588
81589 2005-02-23  Jim Meyering  <jim@meyering.net>
81590
81591         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
81592         change.
81593         Thanks to Bruno Haible for catching it.
81594
81595 2005-02-22  Simon Josefsson  <jas@extundo.com>
81596
81597         * modules/iconvme: New file.
81598
81599         * MODULES.html.sh: Add iconvme.
81600
81601 2005-02-22  Simon Josefsson  <jas@extundo.com>
81602
81603         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
81604
81605 2005-02-22  Simon Josefsson  <jas@extundo.com>
81606
81607         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
81608
81609 2005-02-22  Jim Meyering  <jim@meyering.net>
81610
81611         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
81612         s/ifndef/ifdef/.
81613
81614 2005-02-20  Neil Conway  <neilc@samurai.com>
81615
81616         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
81617         returned by OSX/Darwin if the specified buffer is not large
81618         enough for the hostname.
81619
81620 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81621
81622         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
81623         pass it to _help, otherwise the latter coredumps trying to
81624         dereference state.root_argp.
81625
81626 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81627
81628         * modules/chdir-long (Depends-on): Add memrchr.
81629         * modules/memrchr (Files): Add lib/memrchr.h.
81630         (Include): "memrchr.h".
81631
81632 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81633
81634         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
81635
81636 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81637
81638         * lib/memrchr.h: New file.
81639         * lib/chdir-long.c: Include it.
81640         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
81641         Don't bother including stddef.h.
81642
81643 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
81644
81645         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
81646         inclusion.
81647         Include <sys/types.h>, for dev_t.
81648         (ME_DUMMY, ME_REMOTE): Move from here....
81649         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
81650         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
81651         Dmitry V. Levin.
81652         Include mountlist.h first, to test the interface.
81653
81654 2005-01-29  Bruno Haible  <bruno@clisp.org>
81655
81656         * lib/progname.c (program_name): Initialize.
81657         Needed when linking statically on MacOS X.
81658
81659 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81660
81661         Sync from coreutils.
81662         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
81663         (Depends-on): Add c-strtod.
81664         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
81665
81666 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81667
81668         Sync from coreutils.
81669         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
81670
81671         Remove files that are specific to coreutils.
81672         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
81673
81674 2005-01-28  Bruno Haible  <bruno@clisp.org>
81675
81676         * modules/javacomp: New file.
81677         * MODULES.html.sh (Java): Add javacomp.
81678
81679 2005-01-28  Bruno Haible  <bruno@clisp.org>
81680
81681         * m4/javacomp.m4: New file, from GNU gettext.
81682
81683 2005-01-28  Bruno Haible  <bruno@clisp.org>
81684
81685         * lib/javacomp.sh.in: New file, from GNU gettext.
81686         * lib/javacomp.h: New file, from GNU gettext.
81687         * lib/javacomp.c: New file, from GNU gettext.
81688
81689 2005-01-26  Simon Josefsson  <jas@extundo.com>
81690
81691         * lib/gai_strerror.c: Use GPL in header.
81692
81693 2005-01-26  Bruno Haible  <bruno@clisp.org>
81694
81695         * modules/javaexec: New file.
81696         * MODULES.html.sh (Java): Add javaexec.
81697
81698 2005-01-26  Bruno Haible  <bruno@clisp.org>
81699
81700         * m4/javaexec.m4: New file, from GNU gettext.
81701
81702 2005-01-26  Bruno Haible  <bruno@clisp.org>
81703
81704         * lib/javaexec.sh.in: New file, from GNU gettext.
81705         * lib/javaexec.h: New file, from GNU gettext.
81706         * lib/javaexec.c: New file, from GNU gettext.
81707
81708 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81709
81710         * modules/lchown (Depends-on): Remove lchown.h
81711
81712 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81713
81714         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
81715         must be defined if the header file was not found, in order
81716         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
81717
81718 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81719
81720         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
81721         initializers for struct pentry_state.
81722         (__argp_error): Check return value of __asprintf
81723         (__argp_failure): Translate error message
81724
81725         * lib/argp-parse.c: Removed braces around the expansion of N_()
81726
81727 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81728
81729         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
81730         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
81731         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
81732         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
81733         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
81734         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
81735         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
81736         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
81737         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
81738         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
81739         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
81740         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
81741         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
81742         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
81743         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
81744         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
81745         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
81746         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
81747         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
81748         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
81749         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
81750         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
81751         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
81752         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
81753         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
81754         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
81755         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
81756         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
81757         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
81758         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
81759         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
81760         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
81761         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
81762         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
81763         xstrtol.m4, xstrtoumax.m4, yesno.m4:
81764         Use an all-permissive copyright notice, recommended by RMS.
81765
81766 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
81767
81768         * modules/chdir-long (Depends-on): Remove mempcpy.
81769
81770 2005-01-21  Jim Meyering  <jim@meyering.net>
81771
81772         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
81773         same value as for Solaris 9.
81774
81775         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
81776         component length.  This included changing the parameter to be
81777         of type `char *' rather than `char const *'.
81778         * lib/chdir-long.h (chdir_long): Update prototype.
81779
81780         * lib/openat.c (fdopendir, fstatat): New functions.
81781         * lib/openat.h: Include headers required for use of DIR and struct
81782         stat.
81783         [AT_SYMLINK_NOFOLLOW]: Define.
81784         (fdopendir, fstatat): Add prototypes.
81785
81786 2005-01-21  Bruno Haible  <bruno@clisp.org>
81787
81788         * modules/classpath: New file.
81789         * MODULES.html.sh (Java): Add classpath.
81790
81791 2005-01-21  Bruno Haible  <bruno@clisp.org>
81792
81793         * lib/classpath.h: New file, from GNU gettext.
81794         * lib/classpath.c: New file, from GNU gettext.
81795
81796 2005-01-20  Simon Josefsson  <jas@extundo.com>
81797
81798         * modules/version-etc-fsf: New file.
81799
81800 2005-01-20  Simon Josefsson  <jas@extundo.com>
81801
81802         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
81803         * lib/version-etc.c: Remove version_etc_copyright.
81804         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
81805         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
81806
81807 2005-01-20  Simon Josefsson  <jas@extundo.com>
81808
81809         * lib/base64.h (isbase64): Add.
81810
81811         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
81812         using a unsigned prototype, don't inline.
81813         (base64_decode): Use it.
81814
81815 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81816
81817         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
81818         it.
81819
81820 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81821
81822         * lib/save-cwd.c (save_cwd): Remove code to support the case
81823         where fchdir is missing or flaky.
81824
81825 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81826
81827         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
81828
81829 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
81830
81831         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
81832         AC_LIBSOURCES now does this.
81833         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
81834         with new ullong_max module.
81835
81836 2005-01-19  Bruno Haible  <bruno@clisp.org>
81837
81838         * modules/sh-quote: New file.
81839         * MODULES.html.sh (Executing programs): Add sh-quote.
81840
81841 2005-01-19  Bruno Haible  <bruno@clisp.org>
81842
81843         * lib/sh-quote.h: New file, from GNU gettext.
81844         * lib/sh-quote.c: New file, from GNU gettext.
81845
81846 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81847
81848         Merge from coreutils.
81849         * m4/ullong_max.m4: New file.
81850         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
81851         (gl_MACROS): Assume localeconv exists.
81852
81853 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81854
81855         Merge changes from coreutils, as described below in several
81856         changelogs dated today.
81857
81858         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
81859         (O_DIRECTORY): Remove; not needed here, since "." must be
81860         a directory.  All uses removed.
81861         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
81862         universal on Suns, and we also need to test for IRIX.
81863         Revamp code to use 'if' rather than '#if'.
81864         Avoid unnecessary comparison of cwd->desc to 0.
81865
81866         * lib/utimens.c (futimens): Robustify the previous patch, by checking
81867         for known valid error numbers rather than observed invalid ones.
81868
81869 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81870
81871         * modules/ullong_max: New file.
81872
81873         * modules/chdir-long, modules/openat: New files.
81874         * modules/save-cwd (Depends-on): Depend on chdir-long.
81875         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
81876
81877 2005-01-18  Jim Meyering  <jim@meyering.net>
81878
81879         Merge from coreutils.
81880         * m4/chdir-long.m4, m4/openat.m4: New files.
81881         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
81882         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
81883         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
81884         is sane and DOES follow symlinks.  Besides, testing 20 different
81885         systems found no broken chown implementations.
81886         Prompted by a change in rsync's copy of this macro.
81887         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
81888
81889         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
81890
81891         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
81892         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
81893         NULL-means-set-to-current-time semantics.
81894         Remove temporary file immediately, rather than waiting
81895         for configure's at-exit trap code to do it.
81896
81897 2005-01-18  Jim Meyering  <jim@meyering.net>
81898
81899         * lib/version-etc.c (version_etc_copyright): Update copyright date.
81900
81901         * lib/utimens.c (futimens): Account for the fact that futimes
81902         can also fail with errno == ENOSYS or errno == ENOENT.
81903         Patch from Dmitry V. Levin.
81904
81905         Change the name of the robust chdir function from chdir to chdir_long.
81906         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
81907         (restore_cwd): Use chdir_long, not chdir.
81908         * lib/chdir-long.c: Renamed from chdir.c.
81909         * lib/chdir-long.h: Renamed from chdir.h.
81910         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
81911         Hurd.
81912
81913 2005-01-18  Bruno Haible  <bruno@clisp.org>
81914
81915         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
81916         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
81917         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
81918         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
81919         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
81920         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
81921         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
81922         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
81923         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
81924         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
81925         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
81926         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
81927         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
81928         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
81929         Use an all-permissive copyright notice, recommended by RMS.
81930
81931 2005-01-18  Bob Proulx  <bob@proulx.com>
81932
81933         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
81934         simplify offsetof() macro construct to avoid compile failure with
81935         native HP-UX 11.0 ANSI C compiler.
81936
81937 2005-01-17  Bruno Haible  <bruno@clisp.org>
81938
81939         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
81940         redundant because stpncpy.m4 takes care of it.
81941
81942 2005-01-17  Bruno Haible  <bruno@clisp.org>
81943
81944         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
81945
81946 2005-01-17  Bruno Haible  <bruno@clisp.org>
81947
81948         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
81949         used.
81950
81951 2005-01-17  Bruno Haible  <bruno@clisp.org>
81952
81953         * lib/fwriteerror.h (fwriteerror): Change specification to include
81954         fclose.
81955         * lib/fwriteerror.c: Include <stdbool.h>.
81956         (fwriteerror): At the end, close the file stream. Record whether
81957         stdout was already closed.
81958
81959 2005-01-17  Bruno Haible  <bruno@clisp.org>
81960
81961         * lib/execute.c (environ): Declare if needed.
81962         * lib/pipe.c (environ): Likewise.
81963         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
81964
81965 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81966
81967         * modules/argp: Depend on vsnprintf
81968
81969 2005-01-10  Jim Meyering  <jim@meyering.net>
81970
81971         * modules/closeout (Depends-on): Add atexit.
81972
81973 2005-01-06  Bruno Haible  <bruno@clisp.org>
81974
81975         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
81976
81977 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81978
81979         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
81980         definitions to be after all include files, to avoid collisions.
81981         Problem reported by Bob Proulx.
81982
81983 2005-01-04  Jim Meyering  <jim@meyering.net>
81984
81985         Changes imported from coreutils.
81986         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
81987         as the mkstemp template, use a temporary directory and an
81988         8.3-friendly template to avoid trouble on systems like DJGPP.
81989         Reported by Juan M. Guerrero via Stepan Kasal.
81990         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
81991         close. Remove the temporary directory right away, rather than waiting
81992         for configure's at-exit trap code to do it.
81993         Suggestion from Stepan Kasal.
81994
81995 2005-01-01  Simon Josefsson  <jas@extundo.com>
81996
81997         * gnulib-tool: Print #include directives when --import'ing.
81998
81999 2004-12-28  Simon Josefsson  <jas@extundo.com>
82000
82001         * tests/test-base64.c: Include required header files.  Remove
82002         unused variables.
82003
82004 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82005
82006         * modules/error (Depends-on): Remove gettext.
82007
82008 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82009
82010         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82011         not needed.  This removes a dependency on the gettext module.
82012         [defined _LIBC]: Do not include <libintl.h>; not needed.
82013
82014 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82015
82016         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82017         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82018
82019 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82020
82021         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82022         HAVE_DECL_STRTOLD.
82023
82024 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82025
82026         * modules/getdate (Depends-on): Remove alloca-opt.
82027
82028 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82029
82030         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82031
82032 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82033
82034         * lib/argp-parse.c: Include <stddef.h>.
82035         (alignof, alignto): New macros.
82036         (parser_init): Don't assume that void * is aligned sufficiently
82037         for struct option.
82038
82039         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82040         need to extend the stack.
82041         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82042         large.
82043
82044 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82045
82046         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82047
82048 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82049
82050         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82051         (2004-10-24) change.  Apparently this was a false alarm.
82052
82053         * modules/getdate: Depend on alloca-opt, not alloca.
82054
82055 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82056
82057         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82058         Remove now-obsolete comment about AIX.
82059         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82060         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82061         (YYMAXDEPTH): New macro.
82062
82063 2004-12-18  Simon Josefsson  <jas@extundo.com>
82064
82065         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82066
82067 2004-12-18  Bruno Haible  <bruno@clisp.org>
82068
82069         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82070
82071 2004-12-18  Bruno Haible  <bruno@clisp.org>
82072
82073         * lib/fatal-signal.c (fatal_signals): Make non-const.
82074         (init_fatal_signals): New function.
82075         (uninstall_handlers, install_handlers): Ignore signals that were set to
82076         SIG_IGN.
82077         (at_fatal_signal): Call init_fatal_signals.
82078         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82079         SIG_IGN.
82080         Reported by Paul Eggert.
82081
82082 2004-12-18  Bruno Haible  <bruno@clisp.org>
82083
82084         * doc/alloca.texi: New file.
82085         * doc/alloca-opt.texi: New file.
82086
82087 2004-12-17  Jim Meyering  <jim@meyering.net>
82088
82089         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82090         Otherwise, install-sh could exit with improper exit status when
82091         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82092
82093 2004-12-16  Simon Josefsson  <jas@extundo.com>
82094
82095         * tests/test-base64.c: Add license.
82096
82097 2004-12-15  Stepan Kasal  <address@hidden>
82098
82099         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82100
82101 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82102
82103         * modules/getcwd (Files): Add m4/d-ino.m4.
82104         Suggested by Mark D. Baushke.
82105
82106 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82107
82108         * lib/getdate.y (textint): New member "negative".
82109         (time_zone_hhmm): New function.
82110         Expect 14 shift-reduce conflicts, not 13.
82111         (o_colon_minutes): New rule.
82112         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82113         (yylex): Set the "negative" member of signed numbers.
82114
82115 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82116
82117         * doc/getdate.texi (Time of day items, Time zone items):
82118         Describe new formats +00:00, UTC+00:00.
82119
82120 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82121
82122         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82123         spurious "-l"s.  Problem reported by Stepan Kasal.
82124
82125 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82126
82127         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82128         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82129
82130 2004-12-04  Simon Josefsson  <jas@extundo.com>
82131
82132         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82133         Vandoorselaere <yoann@prelude-ids.org>.
82134
82135 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82136
82137         Changes imported from coreutils.
82138         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82139         exist.
82140         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82141
82142 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82143
82144         Changes imported from coreutils.
82145         * lib/hard-locale.c: Assume <locale.h> exists.
82146         Include "strdup.h".
82147         (GLIBC_VERSION): New macro.
82148         (hard_locale): Assume setlocale exists.
82149         Rewrite to avoid #ifdef.
82150         Use strdup rather than malloc + strcpy.
82151         * lib/human.c: Assume <locale.h> exists.
82152         (human_readable): Assume localeconv exists.
82153
82154 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82155
82156         * modules/hard-locale (Depends-on): Add strdup.
82157
82158 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82159
82160         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
82161         convert T2, not T.  (Imported from libc.)
82162
82163 2004-11-30  Simon Josefsson  <jas@extundo.com>
82164
82165         * modules/restrict (License): Change to LGPL.
82166
82167 2004-11-30  Simon Josefsson  <jas@extundo.com>
82168
82169         * m4/restrict.m4: Add copyright and copying conditions.
82170
82171 2004-11-30  Simon Josefsson  <jas@extundo.com>
82172
82173         * m4/base64.m4: New file.
82174
82175 2004-11-30  Simon Josefsson  <jas@extundo.com>
82176
82177         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82178         base64.
82179
82180         * tests/test-base64.c: New file.
82181
82182         * modules/base64: New file.
82183
82184 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82185
82186         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82187         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
82188
82189         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
82190
82191 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82192
82193         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
82194         (__getcwd.c): Don't restore errno; glibc doesn't.
82195         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
82196         first, falling back to our code only if its results look suspicious.
82197         Ensure that the resulting buffer is only as large as necessary.
82198
82199         * lib/readutmp.c: Include readutmp.h first.
82200         Include <errno.h>, since readutmp.h no longer does that.
82201         * lib/readutmp.h: Don't include <errno.h>,
82202         <sys/param.h>, <time.h>; not needed to establish interface.
82203         (errno): Remove decl.
82204         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
82205         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
82206         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
82207
82208 2004-11-28  Simon Josefsson  <jas@extundo.com>
82209
82210         * lib/base64.h, base64.c: New file.
82211
82212 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
82213
82214         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
82215
82216 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
82217
82218         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
82219         (Depends-on): Remove pathmax, same.  Add mempcpy.
82220         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
82221         (Makefile.am): Append getcwd.h to lib_SOURCES.
82222         (Include): Add getcwd.h.
82223         (Maintainer): Change from Jim Meyering to "all, glibc",
82224         since getdate now uses intended-for-glibc code.
82225         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
82226         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
82227
82228 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82229
82230         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
82231         HP's ANSI C compiler.
82232         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
82233         Declaring int functions causes warnings on some modern systems and
82234         shouldn't be needed to compile on ancient ones.
82235         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
82236         defined.
82237
82238         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
82239         with the following changes.
82240         (__set_errno): Parenthesize properly.
82241         Include <stdbool.h>.
82242         (MIN, MAX, MATCHING_INO): New macros.
82243         (__getcwd): Define with prototype, not K&R form.
82244         Use heuristics to allocate default buffer on stack if possible.
82245         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
82246         behavior, and to avoid the PATH_MAX limit when computing
82247         ../../../../...
82248         Use MATCHING_INO to compare inode number to file.
82249         Check for arithmetic overflow in size calculations.
82250         Fix bug in reallocation of dot array that caused getcwd to fail
82251         on directories nested deeper than 75.
82252         Be more careful about saving errno on error.
82253         Do not use realloc; use only free+malloc, as this is a bit
82254         more flexible and avoids a needless copy operation.
82255         Do not inspect st_dev and st_ino for symbolic links; POSIX
82256         doesn't specify the latter.
82257         Check for closedir errors.
82258         Avoid needless casts.
82259         Use "#ifdef weak_alias" around weak_alias, to be like other
82260         glibc code.
82261         The following changes to getcwd.c have effect only when used in
82262         gnulib; they have no effect inside glibc proper.
82263         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
82264         as alloca isn't used.
82265         (alloca, __alloca): Likewise.
82266         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
82267         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82268         unconditionally, as gnulib assumes C89 or better.
82269         Do not include <sys/param.h>.
82270         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
82271         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
82272         better.
82273         (NULL) [!defined NULL]: Remove; we assume C89 or better.
82274         Include <dirent.h> in a way that is compatible with modern Autoconf.
82275         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
82276         New macros, if not already defined.
82277         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
82278         Use "_LIBC", not "defined _LIBC", for consistency.
82279         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
82280         a mempcpy module.
82281         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
82282         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
82283         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
82284         credit only to Jim Meyering and adjust the copyright dates.
82285         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
82286         <stdlib.h>, <unistd.h>, "pathmax.h".
82287         Instead, include "xgetcwd.h" (first) and "getcwd.h".
82288         (INITIAL_BUFFER_SIZE): Remove.
82289         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
82290
82291 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82292
82293         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
82294         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
82295         Use the _ONCE methods, for efficiency.
82296         Check for fcntl.h.  In test program, include <errno.h>
82297         and <fcntl.h> if available.  Remove old K&R cruft from
82298         test program.  Check for common errors in GNU/Linux,
82299         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
82300         don't do AC_LIBOBJ, as that's getcwd.m4's job.
82301         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
82302         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
82303         name accordingly.
82304         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
82305         accommodate new getcwd.c.
82306         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
82307         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
82308         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
82309         that's all we need now.
82310
82311 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82312
82313         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
82314         argp-parse.c depends on getopt internals, that means we should
82315         always use our getopt, to be on the safe side.
82316         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
82317         order not to spoil the result of an eventual previous invocation
82318         of gl_GETOPT_SUBSTITUTE.
82319
82320 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82321
82322         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
82323         redefinition warnings. To avoid them, include the defines
82324         in `#if !defined __need_getopt ... #endif'. The only place
82325         where __getopt_argv_const is used is in definitions
82326         of getopt_long and getopt_long_only below, which are as well
82327         protected by `#ifndef __need_getopt'.
82328         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
82329         __need_getopt after including <stdio.h> and <unistd.h> These
82330         headers might have defined it.
82331
82332 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82333
82334         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
82335
82336 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82337
82338         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
82339         (futimens): New function, which uses futimes if available.
82340         (futimens, utimens): Support timespec==NULL, with same semantics
82341         as utime and utimens.
82342         * lib/utimens.h (futimens): New decl.
82343
82344 2004-11-23  Jim Meyering  <jim@meyering.net>
82345
82346         * lib/getopt_.h: Remove trailing blanks.
82347
82348 2004-11-23  Jim Meyering  <jim@meyering.net>
82349
82350         * lib/__fpending.c: Add comment.
82351
82352 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
82353
82354         * modules/canonicalize (Depends-on): Add xreadlink.
82355         Problem reported by James Youngman.
82356
82357 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
82358
82359         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
82360         New macros.
82361         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
82362         optopt): Use them instead of invoking ## directly; otherwise, the
82363         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
82364
82365 2004-11-19  Bruno Haible  <bruno@clisp.org>
82366
82367         * lib/strtok_r.c: Move comments from here...
82368         * lib/strtok_r.h: ... to here.
82369
82370 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82371
82372         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
82373         implementations that mishandle size_t overflow.
82374
82375 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82376
82377         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
82378         might fail.  Problem reported by Yoann Vandoorselaere.
82379         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
82380         implementations that mishandle size_t overflow.
82381
82382 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82383
82384         * modules/canon-host (Depends-on): Add strdup.
82385
82386 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82387
82388         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
82389
82390 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82391
82392         * lib/canon-host.c: Include "strdup.h".
82393         (canon_host): Use getaddrinfo if available, so that IPv6 works.
82394         Use strdup instead of malloc/strcpy to duplicate strings.
82395
82396         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
82397         (human_space_before_unit): New constant.
82398         * lib/human.c (human_readable): Support it.
82399
82400         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
82401         (xgetcwd): Set errno correctly when failing.
82402         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
82403         the failure is actually due to a PATH_MAX problem.
82404
82405         Further getopt changes to make it more likely that glibc will
82406         buy the changes back.
82407         * lib/getopt.c (POSIXLY_CORRECT): New constant.
82408         (getopt): Use it, so to preserve glibc semantic
82409         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
82410         when compiling for libc.
82411         * lib/getopt_.h (__getopt_argv_const): Bring it back.
82412         (getopt_long, getopt_long_only): Use it.
82413
82414         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82415         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
82416         (getopt): Argv is now char * const *, as per standard.
82417         (_getopt_internal_r, _getopt_internal): Argv is now char **,
82418         not char *__getopt_argv_const *.
82419         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82420         _getopt_long_only_r): Likewise.
82421         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
82422         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82423         _getopt_long_r, _getopt_long_only_r): Likewise.
82424         * lib/getopt_.h (__getopt_argv_const): Remove.
82425         (getopt): Argv is now char * const *, as per standard.
82426
82427         * lib/getdate.y (tORDINAL): New token.
82428         (day, relunit): Allow it for relative times.
82429         (relative_time_table): Use tORDINAL for ordinals.
82430
82431 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82432
82433         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
82434         Document that "second" isn't allowed as an ordinal number.
82435
82436 2004-11-16  Jim Meyering  <jim@meyering.net>
82437
82438         * modules/closeout (Depends-on): Add fpending.
82439
82440 2004-11-15  Jim Meyering  <jim@meyering.net>
82441
82442         * lib/closeout.c: Include "__fpending.h" once again.
82443         Include <stdbool.h>.
82444         (close_stdout): Don't fail just because stdout was closed initially,
82445         since some programs don't write to stdout in the normal course of
82446         operation (other than --version and --help), and we don't want this
82447         function to make e.g. `touch file >&-' fail.
82448         But do fail if it was closed and someone has tried to write to it.
82449         E.g., `printf foo >&-' must fail.
82450
82451 2004-11-13  Jim Meyering  <jim@meyering.net>
82452
82453         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
82454
82455 2004-11-12  Simon Josefsson  <jas@extundo.com>
82456
82457         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
82458         small doc fix is still pending.
82459
82460 2004-11-11  Simon Josefsson  <jas@extundo.com>
82461
82462         * modules/strtok_r: New file.
82463
82464         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82465         strtok_r.
82466
82467 2004-11-11  Simon Josefsson  <jas@extundo.com>
82468
82469         * m4/strtok_r.m4: New file.
82470
82471         * m4/getopt.m4: Replace opterr.
82472
82473 2004-11-11  Simon Josefsson  <jas@extundo.com>
82474
82475         * lib/strtok_r.h, strtok_r.c: New file.
82476
82477 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82478
82479         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
82480         of replacing opterr, getopt, etc.  This should handle the
82481         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
82482
82483 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82484
82485         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
82486         we can stop lying to compilers about the constness of argv when we
82487         are compiled outside glibc.
82488         (getopt, getopt_long, getopt_long_only): Use it.
82489         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82490         _getopt_internal, getopt): Likewise.
82491         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82492         _getopt_long_only_r): Likewise.
82493         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82494         _getopt_long_r, _getopt_long_only_r): Likewise.
82495
82496         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
82497         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
82498         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
82499         the other external symbols.
82500         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
82501         declaration, since the above renaming now works around collisions.
82502
82503 2004-11-11  Jim Meyering  <jim@meyering.net>
82504
82505         * lib/linebreak.c: Remove trailing blanks.
82506         * lib/alloca_.h: Likewise.
82507         * lib/acosl.c: Likewise.
82508         * lib/euidaccess.c: Likewise.
82509         * lib/allocsa.h: Likewise.
82510
82511 2004-11-10  Simon Josefsson  <jas@extundo.com>
82512
82513         * m4/getaddrinfo.m4: New file.
82514
82515 2004-11-10  Simon Josefsson  <jas@extundo.com>
82516
82517         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
82518
82519 2004-11-10  Simon Josefsson  <jas@extundo.com>
82520
82521         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82522         getaddrinfo.
82523
82524         * modules/getaddrinfo: New file.
82525
82526 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82527
82528         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
82529
82530 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82531
82532         * lib/mktime.c (SHR): New macro, which is a portable
82533         substitute for >> that should work even on Crays.
82534         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
82535         Problem reported by Mark D. Baushke in
82536         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
82537         * lib/getdate.y (SHR): Likewise.
82538         (tm_diff): Use it.
82539         * lib/strftime.c (SHR): Likewise.
82540         (tm_diff): Use it.
82541         * lib/quotearg.c (struct quoting_options): Use unsigned int for
82542         quote_these_too, so that right shifts are well defined.  All uses
82543         changed.
82544
82545 2004-11-10  Jim Meyering  <jim@meyering.net>
82546
82547         Ensure that no close failure goes unreported.
82548         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
82549         return early when it seems there's nothing to flush.
82550         Don't include __fpending.h.
82551
82552 2004-11-10  Jim Meyering  <jim@meyering.net>
82553
82554         * modules/closeout (Depends-on): Remove fpending.
82555
82556 2004-11-10  Jim Meyering  <jim@meyering.net>
82557
82558         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
82559
82560 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82561
82562         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
82563         gl_FUNC_STRFTIME.
82564         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
82565         and AC_REQUIRE when possible, to avoid duplicate checks.
82566         Check for <wchar.h>.
82567
82568 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82569
82570         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
82571
82572 2004-11-09  Bruno Haible  <bruno@clisp.org>
82573
82574         * m4/sockpfaf.m4: New file.
82575
82576 2004-11-05  Bruno Haible  <bruno@clisp.org>
82577
82578         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
82579         Reported by Mark D. Baushke <mdb@cvshome.org>.
82580
82581 2004-11-04  Bruno Haible  <bruno@clisp.org>
82582
82583         2004-09-11  Bruno Haible  <bruno@clisp.org>
82584                 * allocsa.valgrind: New file.
82585         2004-02-06  Bruno Haible  <bruno@clisp.org>
82586                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
82587                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
82588                 Reported by Christopher Seip <chris.seip@hp.com>.
82589
82590 2004-11-04  Bruno Haible  <bruno@clisp.org>
82591
82592         * modules/allocsa (Files): Add lib/allocsa.valgrind.
82593         (Makefile.am): Distribute it.
82594
82595 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
82596
82597         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
82598         with errno == ERANGE if the buffer is too small.
82599         Problem reported by Mark D. Baushke.
82600
82601 2004-11-03  Albert Chin  <china@thewrittenword.com>
82602             Paul Eggert  <eggert@cs.ucla.edu>
82603
82604         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
82605         equivalent, substitute $ac_type for equivalent type rather than
82606         blindly using uint32_t *always* which won't work if uint32_t is not
82607         available.  Define _UINT32_T to work around typedef of uint32_t if
82608         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
82609         2.5.1.
82610
82611 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82612
82613         * m4/jm-macros.m4: Sync from coreutils.
82614         (gl_MACROS): Check for mbrlen, for pathchk.
82615         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
82616
82617 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82618
82619         * lib/xreadlink.c (MAXSIZE): New macro.
82620         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
82621         size does not exceed MAXSIZE.  Avoid cast.
82622         As suggested by Mark D. Baushke in
82623         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
82624         if readlink fails with buffer size just under MAXSIZE, try again
82625         with MAXSIZE.
82626
82627 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82628
82629         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
82630
82631 2004-11-02  Derek R. Price  <derek@ximbiot.com>
82632         and  Paul Eggert  <eggert@cs.ucla.edu>
82633
82634         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
82635         (get_date): Overparenthesize to avoid GCC warning.
82636
82637 2004-11-02  Bruno Haible  <bruno@clisp.org>
82638
82639         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
82640         returns void.
82641
82642 2004-11-02  Bruno Haible  <bruno@clisp.org>
82643
82644         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
82645         function returns void.
82646
82647 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82648
82649         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
82650         fflush_unlocked, flockfile, funlockfile, funlockfile,
82651         fputs_unlocked, putc_unlocked.
82652
82653 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82654
82655         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82656         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
82657         already declared.
82658
82659 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82660
82661         * modules/getdate (Files): Add doc/getdate.texi.
82662         (Depends-on): Add setenv, xalloc.
82663
82664 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82665
82666         * lib/getdate.y: Add support for TZ="foo" within a date string.
82667         Fix some bugs near time_t boundaries.  Reject dates with
82668         out-of-range components, e.g., "Sept 31".
82669         Include <stdlib.h>, "setenv.h", "xalloc.h".
82670         (ISDIGIT_LOCALE): Remove; unused.
82671         Note that the TZ and time functions used here are not reentrant.
82672         (mktime_ok, get_tz): New functions.
82673         (TZBUFSIZE): New constant.
82674         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
82675         This requires that we sometimes generate our own TZ="XXX..." setting.
82676
82677 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82678
82679         * doc/getdate.texi: New file, from coreutils with modifications for
82680         the new TZ parsing.
82681
82682 2004-10-27  Derek R. Price  <derek@ximbiot.com>
82683
82684         * lib/mktime.c (not_equal_tm): Remove redundant check.
82685
82686 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82687
82688         * modules/regex (lib_SOURCES): Add regex.c.
82689         Reported by James Youngman in
82690         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
82691
82692 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82693
82694         * lib/getdate.y: Use Bison 1.875 features, and some minor
82695         code cleanups.  This change does not affect semantics.
82696         Don't include <stdlib.h>; no longer needed.
82697         Don't include unlocked-io.h; only the "#if TEST" code uses
82698         stdio, and performance isn't crucial there.
82699         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
82700         Bison 1.875 features as described below.
82701         All uses of "PC." replaced by "pc->".
82702         (YYSTYPE): Add a forward declaration.
82703         (yylex, yyerror): Use full prototypes in forward decls.
82704         Use "%pure-parser" rather than obsolescent "%pure_parser".
82705         Use %parse-param and %lex-param instead of obsolescent
82706         YYPARSE_PARAM and YYLEX_PARAM.
82707         (meridian_table, month_and_day_table, time_units_table,
82708         relative_time_table, time_zone_table, military_table,
82709         lookup_zone, lookup_word, get_date):
82710         Use NULL instead of 0 where appropriate.
82711         (to_hour): Avoid abort (), to avoid a dependency on
82712         stdlib.h.
82713         (yyerror, yylex): Now accepts parser_control * arg.
82714         (main) [TEST]: Use '\0' rather than 0 for char.
82715
82716 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82717
82718         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
82719
82720 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82721
82722         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
82723         It's now the caller's responsibility to handle the case where
82724         !HAVE_GETPAGESIZE && !defined getpagesize.
82725
82726         * lib/mktime.c (leapyear): Arg is long int, not int.
82727
82728 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
82729
82730         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
82731
82732 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
82733
82734         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
82735         missing.  Problem reported by James Youngman.
82736
82737 2004-10-16  Simon Josefsson  <jas@extundo.com>
82738
82739         * gnulib-tool: Fix comments.  Fix parse problem.
82740         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
82741
82742 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
82743
82744         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
82745         implementation of getopt_long.  Problem reported by Alexander Taler in:
82746         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
82747
82748 2004-10-15  Bruno Haible  <bruno@clisp.org>
82749
82750         * gnulib-tool: Untabify. Initialize supplied_libname.
82751         (func_usage): More homogenous output.
82752         (func_modules_transitive_closure, func_modules_to_filelist,
82753         func_emit_lib_Makefile_am): New functions.
82754         (func_import): New function, extracted from big case statement. Use
82755         func_get_license, func_modules_transitive_closure,
82756         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
82757         opt_lgpl. Don't use test -a, as it's not portable.
82758         (func_create_testdir): Use func_modules_transitive_closure,
82759         func_modules_to_filelist, func_emit_lib_Makefile_am.
82760
82761 2004-10-15  Bruno Haible  <bruno@clisp.org>
82762
82763         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
82764
82765 2004-10-15  Bruno Haible  <bruno@clisp.org>
82766
82767         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
82768         the portions belonging to each module.
82769         Suggested by Derek Robert Price <derek@ximbiot.com>.
82770
82771 2004-10-12  Simon Josefsson  <jas@extundo.com>
82772
82773         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82774         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
82775         to real functions.
82776
82777 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82778
82779         * modules/vsnprintf: New file.
82780
82781 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82782
82783         * m4/vsnprintf.m4: New file.
82784
82785 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82786
82787         * lib/vsnprintf.h: New file.
82788         * lib/vsnprintf.c: New file.
82789
82790 2004-10-11  Bruno Haible  <bruno@clisp.org>
82791
82792         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
82793         vsnprintf.
82794
82795 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
82796
82797         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
82798
82799 2004-10-07  Bruno Haible  <bruno@clisp.org>
82800
82801         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
82802         fits into the provided buffer.
82803
82804 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
82805
82806         * lib/diacrit.c, diacrit.h: Add GPL notice.
82807
82808         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
82809         notice.
82810         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
82811         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
82812         This avoids a potential constant-folding bug.
82813
82814 2004-10-05  Bruno Haible  <bruno@clisp.org>
82815
82816         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
82817         for the declaration of strsep.
82818
82819 2004-10-05  Bruno Haible  <bruno@clisp.org>
82820
82821         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
82822
82823 2004-10-04  Simon Josefsson  <jas@extundo.com>
82824
82825         * modules/memmem: New file.
82826         * tests/test-memmem.c: New file.
82827         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
82828
82829 2004-10-04  Simon Josefsson  <jas@extundo.com>
82830
82831         * m4/memmem.m4: New file.
82832
82833 2004-10-04  Simon Josefsson  <jas@extundo.com>
82834
82835         * lib/memmem.h: New file.
82836         * lib/memmem.c: New file, taken from glibc.
82837
82838 2004-10-04  Simon Josefsson  <jas@extundo.com>
82839
82840         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
82841         '#ifdef USE_UNLOCKED_IO'.
82842
82843 2004-10-04  Simon Josefsson  <jas@extundo.com>
82844
82845         * config/srclist.txt: Add memmem from glibc.
82846
82847 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82848
82849         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
82850
82851         * modules/argmatch, modules/argp, modules/closeout, modules/error,
82852         modules/exclude, modules/getdate, modules/getline,
82853         modules/getndelim2, modules/getpass, modules/getpass-gnu,
82854         modules/getusershell, modules/linebuffer, modules/md5,
82855         modules/mountlist, modules/posixtm, modules/readtokens,
82856         modules/readutmp, modules/regex, modules/sha1,
82857         modules/version-etc, modules/yesno:
82858         Remove dependency on unlocked-io.
82859
82860 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82861
82862         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
82863
82864         * m4/unlocked-io.m4: Add copyright notice.
82865         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
82866
82867 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82868
82869         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
82870         * lib/xmalloc.c (xmemdup): Likewise.
82871         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
82872         XFREE): Remove these long-obsolescent macros.
82873         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
82874         * lib/xstrdup.c: Remove.
82875
82876         * lib/regex.c (re_comp): Cast gettext return value to char *,
82877         Problem reported by Martin Neitzel via Mark D. Baushke.
82878
82879 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82880
82881         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
82882         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
82883         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
82884         regex.c, sha1.c, version-etc.c, yesno.c:
82885         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
82886         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
82887         the includer's responsibility.
82888
82889         Sync from coreutils.
82890
82891         * lib/modechange.c (mode_compile): Don't decrement a pointer that
82892         points to the start of a string, as the C Standard says the
82893         resulting behavior is undefined.
82894
82895         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
82896         simple -> simple_backups, numbered_existing ->
82897         numbered_existing_backups, numbered -> numbered_backups
82898         to avoid shadowing problems.  All uses changed.
82899         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
82900         * lib/backupfile.c (check_extension, numbered_backup):
82901         Rename locals to avoid shadowing 'basename'.
82902         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
82903         once.
82904
82905         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
82906         * lib/.cvsignore: Add getopt.h.
82907
82908 2004-10-04  Bruno Haible  <bruno@clisp.org>
82909
82910         * modules/README: New file.
82911         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
82912         not a module.
82913
82914 2004-10-02  Jim Meyering  <jim@meyering.net>
82915
82916         * lib/dirfd.h, getpagesize.h: Add copyright notice.
82917
82918 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82919
82920         * modules/strsep: New file.
82921
82922 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82923
82924         * m4/strsep.m4: New file.
82925
82926 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82927
82928         * lib/strsep.h: New file.
82929         * lib/strsep.c: New file.
82930
82931 2004-10-01  Simon Josefsson  <jas@extundo.com>
82932
82933         * lib/snprintf.c (snprintf): Handle size==0.
82934
82935 2004-10-01  Simon Josefsson  <jas@extundo.com>
82936             Bruno Haible  <bruno@clisp.org>
82937
82938         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
82939         (snprintf): Declare 'args'.
82940
82941 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
82942
82943         * lib/snprintf.c: Remove comments as to why each header is needed.
82944
82945 2004-10-01  Bruno Haible  <bruno@clisp.org>
82946
82947         * MODULES.html.sh: Add strsep.
82948
82949 2004-09-30  Simon Josefsson  <jas@extundo.com>
82950
82951         * modules/snprintf: New file.
82952
82953 2004-09-30  Simon Josefsson  <jas@extundo.com>
82954
82955         * m4/snprintf.m4: New file.
82956
82957 2004-09-30  Simon Josefsson  <jas@extundo.com>
82958
82959         * lib/snprintf.h, lib/snprintf.c: New files.
82960
82961 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82962
82963         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
82964         (hol_entry_help): Never translate an empty string.
82965         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
82966         * lib/argp.h (OPTION_NO_TRANS): New option.
82967
82968 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82969
82970         * modules/argp (Maintainer): Replace Simon Josefsson
82971         by Sergey Poznyakoff.
82972
82973 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82974
82975         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
82976         changes merged back into glibc.
82977
82978 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82979
82980         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
82981
82982 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82983
82984         * lib/xvasprintf.c: Include xalloc.h.
82985         (xvasprintf): Use xalloc_die, not xmalloc_die.
82986
82987 2004-09-29  Bruno Haible  <bruno@clisp.org>
82988
82989         * modules/alloca-opt: New file, derived from modules/alloca.
82990         * modules/allocsa: Depend on alloca-opt instead of alloca.
82991         * modules/setenv: Likewise.
82992         * modules/vasnprintf: Likewise.
82993         * MODULES.html.sh: Add alloca-opt.
82994
82995 2004-09-28  Simon Josefsson  <jas@extundo.com>
82996
82997         * gnulib-tool: New parameter --lgpl, to asseert that modules are
82998         LGPL, and to replace license template from GPL to LGPL.
82999
83000 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83001
83002         * modules/dummy: Change license to LGPL.
83003
83004 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83005
83006         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83007
83008 2004-09-24  Simon Josefsson  <jas@extundo.com>
83009
83010         * modules/minmax (License): Change from GPL to LGPL.
83011
83012 2004-09-23  Simon Josefsson  <jas@extundo.com>
83013
83014         * gnulib-tool (--import): Typo.
83015
83016 2004-09-23  Simon Josefsson  <jas@extundo.com>
83017
83018         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83019
83020 2004-09-22  Bruno Haible  <bruno@clisp.org>
83021
83022         * modules/*: Add 'License' field.
83023         * gnulib-tool: Accept --extract-license option.
83024         (func_get_license): New function.
83025
83026 2004-09-21  Bruno Haible  <bruno@clisp.org>
83027
83028         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83029         Reported by Simon Josefsson.
83030
83031 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83032
83033         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83034         gl_AC_TYPE_LONG_LONG.
83035
83036 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83037
83038         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83039
83040 2004-09-18  Simon Josefsson  <jas@extundo.com>
83041         and  Paul Eggert  <eggert@cs.ucla.edu>
83042
83043         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83044         calls with autoreconf.  Define GL_LIB.
83045
83046 2004-09-14  Karl Berry  <karl@gnu.org>
83047
83048         * config/srclist.txt: unsync setenv.c, sigh.
83049
83050 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83051
83052         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83053         Problem reported by Bruno Haible in:
83054         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83055
83056 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83057
83058         * config/srclist.txt: Comment out argp-pvh.c.
83059
83060 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83061
83062         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83063         in case some system header has #define'd it.  Problem reported by
83064         Soeren D. Schulze in
83065         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83066
83067 2004-09-09  Karl Berry  <karl@gnu.org>
83068
83069         * regex.[ch]: delete from the root.  These were supposed to be
83070                 synced with emacs cvs, but this has not happened for about
83071                 a year, and anyway nothing else uses emacs regex.[ch].
83072                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83073                 lib/regex[.ch] is untouched.
83074
83075 2004-09-09  Bruno Haible  <bruno@clisp.org>
83076
83077         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83078
83079 2004-09-09  Bruno Haible  <bruno@clisp.org>
83080
83081         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83082         modifications.
83083         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83084
83085 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83086
83087         * modules/xvasprintf: New file.
83088         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83089
83090 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83091
83092         * lib/xvasprintf.h: New file.
83093         * lib/xvasprintf.c: New file.
83094         * lib/xasprintf.c: New file.
83095
83096 2004-09-08  Bruno Haible  <bruno@clisp.org>
83097
83098         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83099
83100 2004-09-08  Bruno Haible  <bruno@clisp.org>
83101
83102         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83103         length is > INT_MAX.
83104         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83105         more.
83106
83107 2004-09-08  Bruno Haible  <bruno@clisp.org>
83108
83109         * lib/stdint_.h: New file, taken from GNU clisp.
83110
83111 2004-09-08  Bruno Haible  <bruno@clisp.org>
83112             Oskar Liljeblad  <oskar@osk.mine.nu>
83113
83114         * modules/stdint: New file.
83115         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83116
83117 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83118
83119         Import from coreutils.
83120         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83121         strings on unbounded length.  alloca's performance benefits aren't
83122         that important here.
83123         (V_STRDUP): Remove.
83124         (parse_with_separator): New function, with most of the internals
83125         of the old parse_user_spec.  Allow user to omit both user and group,
83126         for compatibility with FreeBSD.
83127         Clone only the user name, not the entire spec.
83128         Do not set *uid, *gid unless entirely successful.
83129         Avoid memory leak in some failing cases.
83130         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83131         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83132         (parse_user_spec): Rewrite to use parse_with_separator.
83133
83134 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83135
83136         * modules/userspec: Don't depend on alloca.
83137
83138 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83139
83140         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83141
83142 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83143
83144         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83145         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83146         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83147
83148 2004-08-16  Simon Josefsson  <jas@extundo.com>
83149
83150         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83151         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83152         Add --dry-run for --import.
83153         Let user provided command line parameters override configure.ac
83154         settings.
83155
83156 2004-08-12  Simon Josefsson  <jas@extundo.com>
83157
83158         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
83159         as discussed with Paul Eggert in threads rooted at
83160         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
83161         and
83162         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
83163         Before, the test was empty, and relied on ELIDE_CODE in source
83164         code.)
83165         (gl_PREREQ_GETOPT): New macro.
83166         (gl_GETOPT): Use them.
83167
83168 2004-08-12  Simon Josefsson  <jas@extundo.com>
83169
83170         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83171         * lib/getopt_.h: Renamed from getopt.h.
83172
83173 2004-08-12  Simon Josefsson  <jas@extundo.com>
83174
83175         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83176         Change default library name from libfoo to libgnu.
83177         Now, if you have a configure.ac that says:
83178                 gl_SOURCE_BASE(gl)
83179                 gl_M4_BASE(gl/m4)
83180                 gl_MODULES(error getopt etcetera)
83181                 gl_INIT
83182         you can import all you need by running:
83183                 ../gnulib/gnulib-tool --import
83184
83185         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83186         (Makefile.am): Rewrite, use logic from argz.
83187         (Include): Use <getopt.h> instead of "getopt.h".
83188
83189 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83190
83191         * modules/argp (Files): Add m4/unlocked-io.m4.
83192         (Depends-on): Add extensions.
83193
83194 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83195
83196         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
83197         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
83198         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
83199         Check for program_invocation_name, program_invocation_short_name,
83200         flockfile, funlockfile, features.h, _getopt_long_only_r.
83201
83202 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83203
83204         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
83205         its complicated substitute.
83206         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
83207         and program_invocation_name.
83208         (__argp_basename) [!_LIBC]: Remove; the only use was
83209         replaced by its body.
83210         (__argp_short_program_name): Change condition from
83211         !defined __argp_short_program_name to
83212         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
83213         to match argp-namefrob.h.
83214         (__argp_failure): Don't assume strerror_r returns char *.
83215         * lib/argp-parse.c (N_): Define unconditionally.
83216         (argp_default_options): Fill out initializers with 0 to avoid
83217         gcc warnings.
83218
83219 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83220
83221         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
83222         getopt1.c.
83223
83224 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83225
83226         Merge from coreutils.
83227
83228         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
83229
83230         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
83231         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
83232
83233 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83234
83235         Merge from coreutils.
83236
83237         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
83238         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
83239         for Reliant Unix 5.43.
83240
83241         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
83242         (union fooround): Use uintmax_t, not long int.
83243         The rest is a merge from libc:
83244         [defined _LIBC]: Include <shlib-compat.h>.
83245         (_obstack) [defined _LIBC]: Remove after 2.3.4.
83246
83247         * lib/settime.c (settime): Recode to avoid warning with
83248         Sun Forte C 6U2.
83249
83250         * lib/strverscmp.c: Convert to UTF-8.
83251
83252 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83253
83254         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83255         m4/uintmax_t.m4.
83256
83257 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83258
83259         * modules/xalloc-die: New file.
83260         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
83261
83262         * modules/md5 (Files): Add m4/uint32_t.m4.
83263         * modules/sha1: Renamed from modules/sha.
83264         (Files):
83265         Rename lib/sha.h to lib/sha1.h.
83266         Rename lib/sha.c to lib/sha1.c.
83267         Rename m4/sha.m4 to m4/sha1.m4.
83268         (lib_SOURCES): Likewise.
83269         (configure.ac): Rename gl_SHA to gl_SHA1.
83270         (Include): sha.h -> sha1.h.
83271
83272 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83273
83274         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
83275         * m4/sha1.m4: Renamed from sha.m4.
83276         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
83277
83278 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83279
83280         * lib/obstack.h (obstack_empty_p):
83281         Don't assume that chunk->contents is suitably aligned.
83282         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
83283         Likewise. Problem reported by Benno in
83284         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
83285
83286         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
83287         readable.  This could be improved further but it'd take some work.
83288
83289 2004-08-08  Simon Josefsson  <jas@extundo.com>
83290
83291         * modules/xgethostname (Depends-on): Remove exit and error (not
83292         used).
83293
83294         * modules/getpass-gnu: Add getpass.h.
83295         (Depends-on): Add stdbool.
83296         * modules/getpass: Add getpass.h.
83297
83298 2004-08-08  Simon Josefsson  <jas@extundo.com>
83299
83300         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
83301         Check getpass declaration.
83302
83303 2004-08-08  Simon Josefsson  <jas@extundo.com>
83304
83305         * lib/xgethostname.c: Don't include error.h (not used).
83306
83307         * lib/getpass.h: Add.
83308         * lib/getpass.c: Include getpass.h first.
83309
83310 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
83311
83312         * lib/xalloc-die.c: New file.
83313         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
83314         All uses removed.
83315         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
83316         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
83317         xalloc-die.c.
83318         (_, N_, xalloc_die): Move to xalloc-die.c.
83319         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
83320         so that we needn't mess with xalloc_msg_memory_exhausted.
83321
83322         * lib/sha1.h: Renamed from sha.h.
83323         (SHA1_H): Renamed from _SHA_H.
83324         (sha1_ctx): Renamed from sha_ctx.
83325         (sha1_init_ctx): Renamed from sha_init_ctx.
83326         (sha1_process_block): Renamed from sha_process_block.
83327         (sha1_process_bytes): Renamed from sha_process_bytes.
83328         (sha1_finish_ctx): Renamed from sha_finish_ctx.
83329         (sha1_read_ctx): Renamed from sha_read_ctx.
83330         (sha1_stream): Renamed from sha_stream.
83331         (sha1_buffer): Renamed from sha_buffer.
83332         * lib/sha1.c: Likewise; renamed from sha.c.
83333         Do not include <sys/types.h>.
83334         Include <stddef.h> rather than <stdlib.h>.
83335
83336 2004-08-08  Bruno Haible  <bruno@clisp.org>
83337
83338         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
83339         FILESYSTEM_PREFIX_LEN.
83340         * lib/progreloc.c: Likewise.
83341         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
83342
83343 2004-08-06  Simon Josefsson  <jas@extundo.com>
83344
83345         * modules/progname (Depends-on): Don't depend on stdbool.
83346
83347 2004-08-06  Simon Josefsson  <jas@extundo.com>
83348
83349         * modules/getsubopt: New file.
83350         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83351         getsubopt.
83352
83353 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83354
83355         More merge from coreutils.
83356
83357         * m4/utimens.m4, m4/utimecmp.m4: New files.
83358         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
83359         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
83360         prereq.m4, sha.m4: Import changes from coreutils.
83361
83362 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83363
83364         More merge from coreutils.
83365         * modules/raise, modules/readtokens0, modules/utimens:
83366         * modules/utimecmp, module/xnanosleep: New files.
83367         * modules/strftime: Add lib/strftime.h.
83368         Change include from <time.h> to "strftime.h".
83369         * modules/yesno: Add lib/yesno.h.
83370         * modules/backupfile: Remove lib/addext.c.
83371         * modules/euidaccess: Add stat-macros.h.
83372         * modules/canonicalize, modules/euidaccess,
83373         modules/filemode, modules/lchown, modules/makepath,
83374         modules/rmdir, modules/stat: Likewise.
83375
83376 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83377
83378         Merge from tar.
83379         * lib/argp-help.c (make_hol, hol_append): Don't assume that
83380         SIZE_MAX is a valid preprocessor constant.
83381         (__argp_basename): Change from "#ifndef _LIBC"
83382         to "#ifndef __argp_short_program_name", so that
83383         we don't compile these functions for tar.
83384
83385         More merges from coreutils.
83386         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
83387         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
83388         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
83389         * lib/addext.c: Remove; no longer needed.
83390         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
83391         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
83392         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
83393         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
83394         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
83395         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
83396         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
83397         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
83398         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
83399         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83400         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
83401         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
83402         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
83403         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
83404         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
83405         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
83406         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
83407         Import changes from coreutils.
83408
83409 2004-08-05  Simon Josefsson  <jas@extundo.com>
83410
83411         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
83412
83413 2004-08-05  Simon Josefsson  <jas@extundo.com>
83414
83415         * m4/getsubopt.m4: New file.
83416
83417 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83418
83419         Merge from coreutils.
83420
83421         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
83422         * m4/getcwd-path-max.m4: New files.
83423
83424         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
83425         FILESYSTEM_PREFIX_LEN ->
83426         FILE_SYSTEM_PREFIX_LEN.
83427         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
83428         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
83429         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
83430         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
83431
83432         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
83433         prerequisite modules now handle the DOS stuff.
83434         Don't check for unistd.h.
83435
83436 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83437
83438         Merge from coreutils.
83439
83440         * lib/.gdb-history: Remove; this doesn't belong here.
83441
83442         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
83443         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
83444         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
83445         * lib/getcwd.c: New files.
83446
83447         * lib/dirname.h: Include <stdbool.h>.
83448         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
83449         for consistency with POSIX terminology.  All uses changed.
83450         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
83451         (strip_trailing_slashes): Use bool for booleans.
83452         * lib/stripslash.c (strip_trailing_slashes): Likewise.
83453
83454         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
83455         sometimes returns a positive errno value even when it succeeds.
83456         (print_errno_message) [!LIBC]: Fall back on strerror if
83457         __strerror_r fails.
83458
83459         * lib/path-concat.c (mempcpy): Don't define if a system header defines
83460         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
83461         (longest_relative_suffix): New function.
83462         (path_concat): Use it.  Assume first argument is not NULL.
83463         Port to DOS.  Omit redundant separators.
83464         Report an error instead of returning NULL.
83465         Use mempcpy instead of memcpy.
83466         (xpath_concat): Remove: not declared or used.
83467
83468         * lib/same.h: Include <stdbool.h>
83469         (same_name): Return bool, not int.
83470         * lib/same.c (same_name): Likewise.
83471         (errno): Don't declare; we assume C89 or better now.
83472
83473         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
83474         if not already defined.
83475
83476         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
83477         * lib/dup-safer.c (errno): Likewise.
83478
83479 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83480
83481         Merge from coreutils.
83482         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
83483         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
83484         * modules/path-concat: Don't depend on strdup.
83485
83486 2004-08-03  Simon Josefsson  <jas@extundo.com>
83487
83488         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
83489         * lib/progname.h: Don't include stdbool.h.
83490
83491 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83492
83493         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
83494         * MODULES.html.sh (func_all_modules): Remove fatal.
83495
83496 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83497
83498         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
83499
83500 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83501
83502         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
83503         working.
83504
83505 2004-08-02  Simon Josefsson  <jas@extundo.com>
83506
83507         * lib/getsubopt.h: New file, with comments from Bruno Haible.
83508         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
83509         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
83510
83511 2004-08-01  Simon Josefsson  <jas@extundo.com>
83512
83513         * lib/xgetdomainname.c: Include stdlib.h, for free().
83514
83515 2004-07-19  Bruno Haible  <bruno@clisp.org>
83516
83517         * MODULES.html.sh (func_all_modules): Add dummy.
83518
83519 2004-07-16  Simon Josefsson  <jas@extundo.com>
83520
83521         * modules/dummy: New file.
83522
83523 2004-07-16  Simon Josefsson  <jas@extundo.com>
83524
83525         * lib/dummy.c: New file.
83526
83527 2004-07-16  Bruno Haible  <bruno@clisp.org>
83528
83529         * lib/backupfile.h: Add extern "C" for C++.
83530         * lib/closeout.h: Likewise.
83531         * lib/copy-file.h: Likewise.
83532         * lib/findprog.h: Likewise.
83533         * lib/full-write.h: Likewise.
83534         * lib/pathname.h: Likewise.
83535         * lib/progname.h: Likewise.
83536         * lib/stpcpy.h: Likewise.
83537         * lib/stpncpy.h: Likewise.
83538         * lib/strcase.h: Likewise.
83539         * lib/strstr.h: Likewise.
83540         * lib/xalloc.h: Likewise.
83541
83542         * lib/mbswidth.h: Add extern "C" for C++.
83543         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
83544
83545 2004-07-13  Robert Millan  <robertmh@gnu.org>
83546
83547         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
83548
83549 2004-07-09  Simon Josefsson  <jas@extundo.com>
83550
83551         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
83552         failed without this.)
83553
83554 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83555
83556         * modules/chown (Files): Add lib/fchown-stub.c, since
83557         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
83558
83559 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83560
83561         * lib/fchown-stub.c: New file.
83562
83563 2004-06-24  Jim Meyering  <jim@meyering.net>
83564
83565         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
83566
83567 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83568
83569         * modules/argz: Omit "#include".
83570
83571         * MODULES.html.sh (func_all_modules): Add calloc, to match
83572         2004-06-01 addition of calloc module.
83573
83574 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83575
83576         * m4/argz.m4: New file, which is autoupdated from libtool.
83577
83578 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83579
83580         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
83581         libtool.
83582
83583 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83584
83585         * config/srclist-update: Don't insist on "USA." before the
83586         close-comment, as libtool omits the period and puts the */ on a
83587         separate line.
83588         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
83589         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
83590
83591 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
83592
83593         * modules/argz: New file.
83594         * MODULES.html.sh (func_all_modules): Add argz.
83595
83596 2004-06-12  Jim Meyering  <jim@meyering.net>
83597         and  Paul Eggert  <eggert@cs.ucla.edu>
83598
83599         * modules/hash (Files): Add lib/xalloc.h.
83600         * modules/pipe (Depends-on): Add wait-process.
83601         * modules/stat (Depends-on): Add xalloc.
83602         * modules/userspec (Files): Add lib/userspec.h.
83603         * modules/xstrto
83604
83605         Upgrade from gettext-0.13.
83606         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
83607         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
83608         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
83609
83610 2004-06-10  Jim Meyering  <jim@meyering.net>
83611
83612         * lib/calloc.c: New file.
83613
83614 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
83615
83616         * lib/getdate.y (yylex): Allow space between sign and number.
83617         Problem reported by Dan Jacobson.
83618
83619 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
83620
83621         Merge from coreutils CVS.
83622
83623         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
83624         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
83625         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
83626         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
83627         xstrtol.m4: Fix copyright date and/or serial number.
83628
83629         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
83630         See if we need an fchown replacement.
83631         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
83632         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
83633         and use the replacement function if we detect either defect.
83634
83635         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
83636         gl_UTIMECMP.
83637
83638 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
83639         and  Jim Meyering  <jim@meyering.net>
83640
83641         Merge from coreutils CVS.
83642
83643         * lib/stat-macros.h: New file, with contents from file-type.h
83644         and coreutils' system.h.
83645         * lib/file-type.c: Include "stat-macros.h".
83646         * lib/file-type.h (file_type): Move all macro definitions to new file,
83647         stat-macros.h.
83648
83649         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
83650         Wrap old code with this conditional.
83651         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
83652         function that does not dereference symlinks.
83653         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
83654
83655         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
83656         dependency problems.
83657         (xreadlink): Accept new arg SIZE, for efficiency.
83658         All decls and uses changed.
83659         * lib/xreadlink.h: Include <stddef.h>, for size_t.
83660
83661         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
83662         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
83663
83664         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
83665         sysexits.h.
83666
83667 2004-06-01  Jim Meyering  <jim@meyering.net>
83668
83669         * m4/calloc.m4: New file.
83670
83671 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
83672
83673         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
83674         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
83675         Also, fix a typo in a diagnostic.
83676
83677 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
83678
83679         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
83680         or AC_FUNC_REALLOC.
83681
83682 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
83683
83684         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
83685         macros to be defined.
83686         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
83687         the allocator returns NULL because the requested size is zero.
83688
83689 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83690
83691         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
83692         var.  Add comment explaining why libc still defines it.  This
83693         merges the following patch from glibc:
83694         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
83695
83696 2004-05-20  Andreas Schwab  <schwab@suse.de>
83697
83698         * m4/free.m4: Replace free if it not known to work, not the other
83699         way round.
83700
83701 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
83702
83703         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
83704         present in glibc since revision 1.1 of this file.
83705         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
83706         obstack_alignment_mask, obstack_alloc, obstack_base,
83707         obstack_blank, obstack_blank_fast, obstack_chunk_size,
83708         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
83709         obstack_grow0, obstack_init, obstack_int_grow,
83710         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
83711         obstack_next_free, obstack_object_size, obstack_ptr_grow,
83712         obstack_ptr_grow_fast, obstack_room): Remove declarations of
83713         nonexistent functions.
83714
83715 2004-05-18  Karl Berry  <karl@gnu.org>
83716
83717         * config/srclist.txt: break link for vasnprintf.c.
83718
83719 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83720
83721         Port obstack to the AS/400, where pointers are 16 bytes wide and
83722         you cannot cast an integer to a valid pointer.  This patch is
83723         currently waiting to be integrated into glibc; see
83724         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
83725
83726         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
83727         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
83728         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
83729         (struct obstack): temp member is now a union of a pointer and
83730         an integer, instead of an integer.  All integer uses changed.
83731         This does not affect the physical layout of struct obstack,
83732         except on hosts (like the AS/400) where the size or alignment of
83733         void * is greater than that of ptrdiff_t.
83734         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
83735         __STDC__)]: Store temporary in pointer member of union, not
83736         integer member.
83737         * lib/obstack.c: Include <stddef.h>, for offsetof.
83738         (struct fooalign): Remove; it doesn't need a name.
83739         (union fooround): Change double to long double, and add void *.
83740         (DEFAULT_ALIGNMENT): Use offsetof to compute.
83741         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
83742         not a macro.  Hence the values are always int; so remove all
83743         casts-to-int in uses.
83744
83745 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83746
83747         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
83748         we can get this patch merged into glibc.
83749
83750 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83751             Paul Eggert  <eggert@cs.ucla.edu>
83752
83753         * m4/argp: Depend on alloca.
83754
83755 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83756             Paul Eggert  <eggert@cs.ucla.edu>
83757
83758         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
83759         freecoding.
83760
83761 2004-05-17  Bruno Haible  <bruno@clisp.org>
83762
83763         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
83764         precision that consists of a '.' followed by an empty digit string.
83765         Patch by Tor Lillqvist <tml@iki.fi>.
83766
83767 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83768
83769         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
83770         for backward compatibility with older code.  We need our own
83771         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
83772         it under some other name, and our alloca.h will define it.
83773
83774 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83775             Derek Price  <derek@ximbiot.com>
83776
83777         * lib/alloca.c: Include <alloca.h>, to get our interface.
83778         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
83779         include <alloca.h> first.  Use C89 prototype for alloca; this
83780         requires including <stddef.h> for size_t.  Use extern "C" if C++.
83781         Use #elif for simplicity, since we can assume C89 now.
83782         Don't try to source the system alloca.h since it will not be found
83783         and to prevent recursively including its replacement.
83784         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
83785         * lib/regex.c: Likewise.
83786
83787 2004-05-16  Derek Price  <derek@ximbiot.com>
83788             Paul Eggert  <eggert@cs.ucla.edu>
83789
83790         getline cleanup.  This changes the getndelim2 API: both order of
83791         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
83792         no delimiter).
83793
83794         * lib/getline.c: Don't include stddef.h or stdio.h, since our
83795         interface does that.
83796         (getline): Always use getdelim, so that we don't have two
83797         copies of this code.
83798         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
83799         if available.
83800         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
83801         (GETNDELIM2_MAXIMUM): New macro.
83802         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
83803         instead of the old practice of delim2==0.  All callers changed.
83804         Return -1 on overflow, instead of returning junk.
83805         Do not set *linesize unless allocation succeeds.
83806         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
83807         that we include sys/types.h.
83808         * lib/getnline.h: Likewise.
83809         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
83810         (getndelim2): Reorder arguments.
83811         * lib/getnline.c (getnline, getndelim):
83812         Don't discard the NMAX argument.
83813         (getnline): Invoke getndelim, to avoid code duplication.
83814         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
83815         of (size_t) -1 by callers of the getnline family.
83816
83817 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83818
83819         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
83820         Check for gettimeofday.
83821         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
83822         Check for settimeofday, stime.
83823
83824 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83825
83826         * lib/nanosleep.c (suspended): Change its type from int to
83827         sig_atomic_t volatile.
83828         (first_call): Make it private to rpl_nanosleep, and have it
83829         be zero initially as that's a bit faster.
83830         (my_usleep): Round up fractional times instead of truncating them,
83831         as this is the usual meaning for 'sleep'.
83832
83833         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
83834         doesn't work.
83835         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
83836         (ENOSYS): Define if not defined.
83837         (settime): Fall back on stime if it exists and settimeofday fails.
83838         But don't bother with fallbacks if a method fails with errno == EPERM.
83839
83840 2004-05-11  Jim Meyering  <jim@meyering.net>
83841
83842         Prior to this change, the save_cwd caller required read access to the
83843         current directory on most systems (ones with the fchdir function).
83844
83845         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
83846         fails, try write-only, and finally, resort to using xgetcwd.
83847
83848 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83849
83850         * lib/obstack.c, obstack.h: Import changes from libc.
83851
83852 2004-04-28  Bruno Haible  <bruno@clisp.org>
83853
83854         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
83855         also implicitly appends .exe to executables.
83856         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
83857         accepts Windows pathnames.
83858         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83859         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83860         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83861         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83862         Reported by Derek Robert Price <derek@ximbiot.com>.
83863
83864 2004-04-21  Karl Berry  <karl@gnu.org>
83865
83866         * config/srclist.txt (localcharset.c): break sync.
83867
83868 2004-04-20  Paul Eggert  <eggert@twinsun.com>
83869
83870         * m4/host-os.m4: Add a copyright notice.
83871
83872 2004-04-20  Jim Meyering  <jim@meyering.net>
83873
83874         Change UTILS_ to gl_ in AC_DEFINE'd names.
83875         Change utils_- and jm_-prefixed variables, too.
83876         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
83877         UTILS_FUNC_MKDIR_TRAILING_SLASH.
83878         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
83879
83880         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
83881         Don't emit trailing blanks.
83882         Also rename jm_-prefixed variables to have gl_ prefix.
83883
83884         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
83885         Also rename jm_-prefixed variables to have gl_ prefix.
83886
83887         * m4/jm-macros.m4: Reflect the renamings.
83888         * m4/prereq.m4: Likewise.
83889
83890 2004-04-20  Jim Meyering  <jim@meyering.net>
83891
83892         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
83893         memory.
83894
83895 2004-04-20  Jim Meyering  <jim@meyering.net>
83896             Bruno Haible  <bruno@clisp.org>
83897
83898         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
83899         memory when realloc fails.
83900
83901 2004-04-19  Jim Meyering  <jim@meyering.net>
83902
83903         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
83904         now that readutmp.c may call `free (0)'.
83905
83906 2004-04-19  Bruno Haible  <bruno@clisp.org>
83907
83908         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
83909         * m4/inttypes_h.m4: Likewise.
83910         * m4/stdint_h.m4: Likewise.
83911         * m4/intmax_t.m4: Likewise.
83912         * m4/uintmax_t.m4: Likewise.
83913
83914 2004-04-18  Jim Meyering  <jim@meyering.net>
83915
83916         * m4/prereq.m4: Don't forbid jm_ prefix.
83917
83918         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
83919         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
83920         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
83921         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
83922         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
83923         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
83924         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
83925         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
83926         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
83927         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
83928         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
83929         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
83930         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
83931         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
83932         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
83933         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
83934         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
83935         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
83936         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
83937
83938 2004-04-18  Jim Meyering  <jim@meyering.net>
83939
83940         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
83941         failure, don't leak memory and do call END_UTMP_ENT.
83942
83943 2004-04-16  Jim Meyering  <jim@meyering.net>
83944
83945         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
83946         coreutils' stat program.
83947         (gl_PREREQ): Don't require jm_PREREQ_STAT.
83948
83949 2004-04-11  Paul Eggert  <eggert@twinsun.com>
83950
83951         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
83952         C89.
83953         (CHAR_BIT): Remove, since we assume C89.
83954         Include <stdint.h> if available, as per current Autoconf CVS advice.
83955
83956 2004-03-31  Jim Meyering  <jim@meyering.net>
83957
83958         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
83959         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
83960         * m4/xalloc.m4: Likewise.
83961
83962 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83963
83964         Merge from coreutils.
83965
83966         * m4/inttostr.m4: New file.
83967         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
83968         Require AM_STDBOOL_H and gl_TIMESPEC instead.
83969         Require gl_CLOCK_TIME.
83970         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
83971
83972 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83973
83974         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
83975         not bool, to be more consistent with Unix conventions.
83976         Suggested by Bruno Haible.
83977
83978         Merge from coreutils.
83979
83980         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
83981         * lib/umaxtostr.c: New files.
83982
83983         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
83984         the usual <time.h> dance.
83985         (get_date): Change signature to support fractional time stamps.
83986         All callers changed.
83987         * lib/getdate.y: Include "getdate.h" first, as we can now
83988         assume C89 and don't need to worry about 'const'.
83989         Similarly, include "unlocked-io.h" near start, not in middle.
83990         Include <limits.h>.
83991         (textint.value): Use long int rather than int.
83992         (textint.digits): Use size_t rather than int.
83993         (BILLION, LOG10_BILLION): New constants.
83994         (parser_control): New member rel_ns.  Members day_ordinal,
83995         time_zone, month, day, hour, minutes, rel_year, rel_month,
83996         rel_day, rel_hour, rel_minutes, rel_seconds
83997         are now long int, not int.  Member seconds is now struct timespec,
83998         not int.  New member timespec_seen.  Members dates_seen, days_seen,
83999         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84000         not int.
84001         (%union.intval): Now long int, not int.
84002         New member timespec.
84003         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84004         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84005         (spec): Now is a timespec or an item list.
84006         (timespec, items): New nonterminals.
84007         (time, rel, relunit, number, get_date):
84008         Add support for fractional seconds.
84009         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84010         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84011         (to_hour): First arg is now long int, not int.
84012         (to_year): Returns long int, not int.
84013         Don't treat year -70 like 70.
84014         (tm_diff): Returns long int, not int.
84015         (lookup_word): Use bool instead of int when appropriate.
84016         (yylex): Use size_t for count, not int.
84017         Detect overflow when parsing large integer constants.
84018         Add support for fractions.
84019         (get_date): Make pointers 'const' if possible.
84020         Use more-portable code to detect integer overflow.
84021         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84022         Don't use ctime; it's not reliable if the year has >4 digits.
84023
84024         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84025         This is for compatibility with BSD.
84026
84027         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84028         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84029         From coreutils' system.h.
84030
84031         * lib/userspec.c: Don't include "posixver.h".
84032         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84033         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84034         compatible extension.  Simplify code by removing a boolean int
84035         that was always nonzero if a string was nonnull.
84036
84037 2004-03-30  Jim Meyering  <jim@meyering.net>
84038
84039         Merge from coreutils.
84040
84041         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84042         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84043         on some systems one must include <grp.h> before it.
84044         Reported by Christian Krackowizer.
84045
84046 2004-03-30  Jim Meyering  <jim@meyering.net>
84047
84048         Merge from coreutils.
84049
84050         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84051
84052         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84053         an empty input stream.
84054
84055         * lib/readtokens.c: Include <stdbool.h>.
84056         (readtoken): Use `size_t' rather than int/long.
84057         All callers adjusted.
84058         Use `bool' rather than `int' where appropriate.
84059         Use memset rather than an explicit loop.
84060         Use x2nrealloc rather than xrealloc.
84061         Allow the use of `\0' as a delimiter.
84062         (readtokens): Likewise.
84063         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84064
84065 2004-03-30  Jim Meyering  <jim@meyering.net>
84066
84067         * m4/realloc.m4: Remove file, since now it does no more than
84068         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84069         the `configure.ac' section of module/realloc.
84070         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84071
84072 2004-03-30  Bruno Haible  <bruno@clisp.org>
84073
84074         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84075         nonnull.
84076
84077 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84078
84079         Merge changes to getloadavg.c from coreutils and Emacs.
84080
84081         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84082         Define to an expression, not to the empty string.
84083         Include cloexec.h and xalloc.h.
84084         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84085         Use set_cloexec_flag rather than rolling our own.
84086         * lib/cloexec.c, lib/cloexec.h: New files.
84087
84088 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84089
84090         * m4/cloexec.m4: New file.
84091
84092 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84093
84094         * lib/getopt.h: Sync with libc CVS.
84095
84096 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84097             Bruno Haible  <bruno@clisp.org>
84098
84099         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84100         mbswidth.
84101
84102 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84103             Bruno Haible  <bruno@clisp.org>
84104
84105         * lib/mbswidth.h: Include <wchar.h> only if
84106         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84107         <wchar.h>.
84108         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84109
84110 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84111
84112         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84113         Sync with libc CVS.
84114         * lib/getopt_int.h: New file, also synced from libc.
84115
84116 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84117
84118         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84119         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84120         Bring back getopt.c, getopt.h, getopt1.c.
84121
84122 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84123
84124         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84125         All uses changed.  Check for sa_sigaction member; this fixes
84126         a bug first reported by Jason Andrade in
84127         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84128
84129 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84130
84131         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84132         '#if' expressions.  Unlike the code it replaces, it does not
84133         depend on (defined _SC_PAGESIZE).  However, it does depend on
84134         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84135         first reported by Jason Andrade in
84136         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84137
84138 2004-02-25  Simon Josefsson  <jas@extundo.com>
84139
84140         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84141
84142 2004-02-25  Simon Josefsson  <jas@extundo.com>
84143
84144         * lib/strdup.h: New file.
84145         * lib/strdup.c: Include it.
84146         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84147         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84148
84149 2004-02-23  Karl Berry  <karl@gnu.org>
84150
84151         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84152         (from fencepost.gnu.org:/gd/gnuorg).
84153
84154 2004-02-23  Karl Berry  <karl@gnu.org>
84155
84156         * config/srclistvars.sh (GNUORG) [karl]: redefine.
84157         * config/srclist.txt: add maintain/standards documents.
84158
84159 2004-02-18  Bruno Haible  <bruno@clisp.org>
84160
84161         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
84162         Reported by Derek Robert Price <derek@ximbiot.com>.
84163
84164 2004-02-16  Karl Berry  <karl@gnu.org>
84165
84166         * config/mkinstalldirs, install-sh: update from automake.
84167
84168 2004-02-06  Karl Berry  <karl@gnu.org>
84169
84170         * m4/po.m4: update from gettext 0.14.1.
84171
84172 2004-02-06  Karl Berry  <karl@gnu.org>
84173
84174         * lib/config.charset: update from gettext 0.14.1.
84175
84176 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84177
84178         Add comments and code, prompted by suggestions from Bruno Haible
84179         for sh-quote.
84180         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84181         describing the enum quoting_style values.
84182         * lib/quotearg.c (quotearg_alloc): New function.
84183         (quotearg_buffer_restyled): Treat lone { and } as special.
84184         Treat = as special.  Work around bug with older shells
84185         that "see" a '\' that is really the 2nd byte of a multibyte char.
84186         Quote empty string with shell_quoting_style.
84187
84188 2004-02-03  Bruno Haible  <bruno@clisp.org>
84189
84190         * m4/pipe.m4: New file, from GNU gettext.
84191
84192 2004-02-03  Bruno Haible  <bruno@clisp.org>
84193
84194         * lib/pipe.h: New file, from GNU gettext.
84195         * lib/pipe.c: New file, from GNU gettext.
84196
84197 2004-01-27  Bruno Haible  <bruno@clisp.org>
84198
84199         * m4/execute.m4: New file, from GNU gettext.
84200
84201 2004-01-27  Bruno Haible  <bruno@clisp.org>
84202
84203         * lib/execute.h: New file, from GNU gettext.
84204         * lib/execute.c: New file, from GNU gettext.
84205         * lib/w32spawn.h: New file, from GNU gettext.
84206
84207 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84208
84209         Merge from diffutils.
84210
84211         * lib/file-type.c (file_type): Add typed memory objects.
84212         * lib/file-type.h (S_TYPEISTMO): New macro.
84213
84214         * lib/c-stack.h (c_stack_action): Remove argv argument.
84215         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
84216         (die): Don't calculate message unless segv_action returns.
84217         (get_stack_location, min_address_from_argv, max_address_from_argv,
84218         volatile stack_base, volatile_stack_size): Remove.
84219         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
84220         that every segmentation violation is a stack overflow.  (Ouch!)
84221         See Debian bug 136249 (still outstanding) for more info about why
84222         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
84223
84224 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84225
84226         Exit-status fix from coreutils.
84227
84228         Use exit_failure consistently in place of EXIT_FAILURE,
84229         so that program exit statuses are consistent on failure.
84230
84231         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
84232         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
84233         * lib/argmatch.h: Comment fix to match the above.
84234         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
84235         Now a macro referring to exit_failure, instead of a separate
84236         variable.  Include "exitfail.h" to get it.
84237         * lib/xstrtol.h: Include "exitfail.h".
84238         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
84239
84240         * lib/long-options.c (parse_long_options): Use prototype
84241         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
84242         for clarity.
84243
84244 2004-01-21  Jim Meyering  <jim@meyering.net>
84245
84246         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
84247         so as not to conflict with a different-sized __mktime_internal
84248         function in GNU libc.
84249         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
84250         Problem building statically-linked `ls' reported by Michael Brunnbauer.
84251
84252 2004-01-20  Karl Berry  <karl@gnu.org>
84253
84254         * config/config.guess: update from config.
84255
84256         * config/srclistvars.sh: GNUWWWLICENSES for karl.
84257
84258 2004-01-20  Bruno Haible  <bruno@clisp.org>
84259
84260         Safer stack allocation.
84261         * lib/setenv.c: Include allocsa.h.
84262         (alloca): Remove fallback definition.
84263         (freea): Remove macro.
84264         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
84265         instead of freea.
84266
84267 2004-01-20  Bruno Haible  <bruno@clisp.org>
84268
84269         * m4/eealloc.m4: New file, from GNU gettext.
84270
84271 2004-01-20  Bruno Haible  <bruno@clisp.org>
84272
84273         * m4/allocsa.m4: New file, from GNU gettext.
84274
84275 2004-01-20  Bruno Haible  <bruno@clisp.org>
84276
84277         * lib/xallocsa.h: New file, from GNU gettext.
84278         * lib/xallocsa.c: New file, from GNU gettext.
84279
84280 2004-01-20  Bruno Haible  <bruno@clisp.org>
84281
84282         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
84283
84284 2004-01-20  Bruno Haible  <bruno@clisp.org>
84285
84286         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
84287         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
84288         specially.
84289
84290 2004-01-20  Bruno Haible  <bruno@clisp.org>
84291
84292         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
84293         patch.
84294
84295 2004-01-20  Bruno Haible  <bruno@clisp.org>
84296
84297         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
84298
84299 2004-01-20  Bruno Haible  <bruno@clisp.org>
84300
84301         * lib/eealloc.h: New file.
84302
84303 2004-01-20  Bruno Haible  <bruno@clisp.org>
84304
84305         * lib/binary-io.h: Avoid warnings on Cygwin.
84306
84307 2004-01-20  Bruno Haible  <bruno@clisp.org>
84308
84309         * lib/allocsa.h: New file, from GNU gettext.
84310         * lib/allocsa.c: New file, from GNU gettext.
84311
84312 2004-01-18  Karl Berry  <karl@gnu.org>
84313
84314         * doc/gpl.texi, doc/lgpl.texi: new files.
84315
84316 2004-01-18  Karl Berry  <karl@gnu.org>
84317
84318         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
84319         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
84320
84321 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84322
84323         Merge from coreutils.
84324
84325         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
84326         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
84327         (gl_DEFAULT_POSIX2_VERSION): Move
84328         the documentation from 'configure' into 'config.hin',
84329         so that 'configure --help' isn't burdened by it and
84330         we don't have to worry about its formatting there.
84331         Reword the documentation so that it's more succinct
84332         and can be run together into a single paragraph.
84333         * m4/same.m4 (gl_SAME): Check for pathconf.
84334
84335 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84336
84337         Merge from coreutils.
84338
84339         * lib/posixver.c: Include posixver.h.
84340
84341         * lib/same.c: Include <stdbool.h>, <limits.h>.
84342         (_POSIX_NAME_MAX): Define if not defined.
84343         (MIN): New macro.
84344         (same_name): If file names are silently truncated, report
84345         that the file names are the same if they are the same after
84346         the silent truncation.
84347
84348         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
84349         conversion function.
84350         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
84351         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
84352         longer needed.
84353
84354 2004-01-15  Jim Meyering  <jim@meyering.net>
84355
84356         Merge from coreutils.
84357
84358         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
84359         if no library is required.
84360         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
84361         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
84362         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
84363         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
84364         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
84365         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
84366         value, $ac_cv_search_crypt, if it's "none required".
84367         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
84368         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
84369         not gl_FUNC_GETLOADAVG.
84370         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
84371         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
84372
84373 2004-01-15  Jim Meyering  <jim@meyering.net>
84374
84375         Merge from coreutils.
84376
84377         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
84378         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
84379         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
84380
84381         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
84382         optional configure-time default.
84383
84384         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84385
84386         * lib/xreadlink.c (xreadlink): Correct outdated comment.
84387
84388 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
84389
84390         Merge from coreutils.
84391
84392         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
84393         value, $ac_cv_search_nanosleep, if it's "none required".
84394
84395 2004-01-14  Paul Eggert  <eggert@twinsun.com>
84396
84397         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
84398         with like-named macro in fnmatch.c.
84399         (EXT): Use an internal constant instead.
84400
84401         Merge fnmatch patches from glibc.
84402         * lib/fnmatch.c (mbsinit): Remove define.
84403         Add libc_hidden_ver (__fnmatch, fnmatch).
84404         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
84405         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
84406
84407 2004-01-14  Karl Berry  <karl@gnu.org>
84408
84409         * config/install-sh: update from automake.
84410
84411 2004-01-13  Karl Berry  <karl@gnu.org>
84412
84413         * config/install-sh: update from automake.
84414
84415 2004-01-09  Karl Berry  <karl@gnu.org>
84416
84417         * config/install-sh: update from automake.
84418
84419 2004-01-05  Karl Berry  <karl@gnu.org>
84420
84421         * config/config.{sub,guess}: update from config.
84422
84423 2003-12-31  Karl Berry  <karl@gnu.org>
84424
84425         * config/depcomp: update from automake.
84426
84427 2003-12-14  Karl Berry  <karl@gnu.org>
84428
84429         * lib/config.charset: update from gettext-runtime.
84430
84431 2003-12-03  Paul Eggert  <eggert@twinsun.com>
84432
84433         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
84434         Bug reported by Alfred M. Szmidt.
84435
84436 2003-12-03  Bruno Haible  <bruno@clisp.org>
84437
84438         * m4/gettext.m4: Upgrade from gettext-0.13.
84439         * m4/po.m4: Upgrade from gettext-0.13.
84440         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
84441         * m4/intmax.m4: New file, from gettext-0.13.
84442         * m4/printf-posix.m4: New file, from gettext-0.13.
84443
84444 2003-11-29  Karl Berry  <karl@gnu.org>
84445
84446         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
84447
84448 2003-11-25  Paul Eggert  <eggert@twinsun.com>
84449             Bruno Haible  <bruno@clisp.org>
84450
84451         * lib/printf-parse.h: Don't include sys/types.h.
84452         (ARG_NONE): New macro.
84453         (char_directive): Change type of *arg_index fields to size_t.
84454         * lib/printf-parse.c: Don't include sys/types.h.
84455         (SSIZE_MAX): Remove macro.
84456         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
84457         Remove unnecessary overflow check.
84458         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
84459         fields.
84460
84461 2003-11-25  Bruno Haible  <bruno@clisp.org>
84462
84463         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
84464
84465 2003-11-25  Bruno Haible  <bruno@clisp.org>
84466
84467         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
84468         gt_TYPE_SSIZE_T.
84469
84470 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84471
84472         * modules/alloca: Remove dependency on xalloc.
84473
84474 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84475
84476         * lib/alloca.c: Remove dependency on xalloc module.
84477         (xalloc_die): Remove.
84478         (memory_full) [!defined emacs]: New macro.
84479         [!defined emacs]: Don't include xalloc.h.
84480         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
84481         address arithmetic overflows.  Change datatypes a bit to avoid
84482         unnecessary casts.
84483
84484 2003-11-22  Jim Meyering  <jim@meyering.net>
84485
84486         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
84487         s/size/size_t/.
84488
84489 2003-11-21  Karl Berry  <karl@gnu.org>
84490
84491         * config/config.{sub,guess}: update from config.
84492
84493 2003-11-18  Karl Berry  <karl@gnu.org>
84494
84495         * config/config.{sub,guess}: update from config.
84496
84497         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
84498
84499 2003-11-17  Paul Eggert  <eggert@twinsun.com>
84500
84501         * README: Mention that S+T cannot overflow if S is the size of
84502         an existing object and T is sufficiently small.
84503
84504 2003-11-17  Jim Meyering  <jim@meyering.net>
84505
84506         On systems without utime and without a utimes function capable of
84507         dealing with a NULL struct utimbuf* argument, this utime replacement
84508         could -- in unusual circumstances -- leak a file descriptor.
84509         * lib/utime.c: Include <unistd.h> and <errno.h>.
84510         (utime_null): Be sure to close `fd' and to preserve errno.
84511         Reported by Geoff Collyer via Arnold Robbins.
84512
84513 2003-11-17  Bruno Haible  <bruno@clisp.org>
84514
84515         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
84516         (Depends-on): Add xsize.
84517
84518 2003-11-17  Bruno Haible  <bruno@clisp.org>
84519
84520         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
84521
84522 2003-11-17  Bruno Haible  <bruno@clisp.org>
84523
84524         * lib/vasnprintf.c (alloca): Remove fallback definition.
84525         (freea): Remove definition.
84526         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
84527         Reported by Paul Eggert.
84528
84529 2003-11-16  Paul Eggert  <eggert@twinsun.com>
84530             Bruno Haible  <bruno@clisp.org>
84531
84532         Protect against address arithmetic overflow.
84533         * lib/printf-args.h: Include stddef.h.
84534         (arguments): Change type of field 'count' to size_t.
84535         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
84536         'unsigned int' where appropriate.
84537         * lib/printf-parse.h: Include sys/types.h.
84538         (char_directive): Change type of *arg_index fields to ssize_t.
84539         (char_directives): Change type of fields 'count', max_*_length to
84540         size_t.
84541         * lib/printf-parse.c: Include sys/types.h and xsize.h.
84542         (SSIZE_MAX): Define fallback value.
84543         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
84544         instead of 'int' where appropriate. Check a_allocated, d_allocated
84545         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
84546         * lib/vasnprintf.c: Include xsize.h.
84547         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
84548         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
84549         overflow. Avoid wraparound when converting a width or precision from
84550         decimal to binary.
84551
84552 2003-11-16  Bruno Haible  <bruno@clisp.org>
84553
84554         Update from GNU gettext.
84555         * lib/printf-parse.c: Generalize to it can be compiled for wide
84556         strings.
84557         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
84558         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
84559         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
84560         SNPRINTF): New macros.
84561         Don't include <alloca.h> if the file is used inside libintl.
84562         (local_wcslen): New function, for Solaris 2.5.1.
84563         (VASNPRINTF): Use it instead of wcslen.
84564
84565 2003-11-16  Bruno Haible  <bruno@clisp.org>
84566
84567         * lib/xsize.h (xmax): New function.
84568         (xsum, xsum3, xsum4): Declare as "pure" functions.
84569
84570 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84571
84572         * modules/xalloc (Files): Undo latest change, since xalloc.h
84573         no longer needs SIZE_MAX or PTRDIFF_MAX.
84574
84575 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84576
84577         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
84578         gl_PTRDIFF_MAX.
84579
84580 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84581
84582         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
84583         "return", to pacify some unknown compiler.  Problem reported
84584         by Joerg Schilling.
84585
84586 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84587
84588         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
84589         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
84590         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
84591         heuristic is just as accurate as far as we know, and it removes a
84592         dependency on size_max.m4 and ptrdiff_max.m4.
84593
84594 2003-11-11  Bruno Haible  <bruno@clisp.org>
84595
84596         * modules/xsize (Files): Add m4/size_max.m4.
84597         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
84598
84599 2003-11-11  Bruno Haible  <bruno@clisp.org>
84600
84601         * m4/size_max.m4: New file.
84602         * m4/ptrdiff_max.m4: New file.
84603         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
84604         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
84605         (gl_XALLOC): Invoke it.
84606
84607 2003-11-11  Bruno Haible  <bruno@clisp.org>
84608
84609         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
84610         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
84611         defined.
84612
84613 2003-11-10  Paul Eggert  <eggert@twinsun.com>
84614
84615         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
84616         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
84617         rejected some allocations of exactly SIZE_MAX - 2 bytes.
84618         From Bruno Haible.
84619         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
84620         not (size_t) -1, since it's defined here.
84621
84622 2003-11-09  Karl Berry  <karl@gnu.org>
84623
84624         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
84625
84626 2003-11-06  Paul Eggert  <eggert@twinsun.com>
84627
84628         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
84629         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
84630         Reject sizes of exactly SIZE_MAX bytes.
84631         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
84632         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
84633
84634 2003-11-05  Bruno Haible  <bruno@clisp.org>
84635
84636         * lib/xsize.h: Include limits.h, to avoid a possible collision with
84637         SIZE_MAX defined in <limits.h> on Solaris.
84638
84639 2003-11-04  Jim Meyering  <jim@meyering.net>
84640
84641         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
84642         variable names, rather than @VAR@.
84643         * modules/poll: Likewise.
84644
84645 2003-11-04  Bruno Haible  <bruno@clisp.org>
84646
84647         * modules/xsize: New file.
84648         * modules/linebreak: Depend on xsize.
84649         * MODULES.html.sh (func_all_modules): Add xsize.
84650
84651 2003-11-04  Bruno Haible  <bruno@clisp.org>
84652
84653         * m4/xsize.m4: New file.
84654
84655 2003-11-04  Bruno Haible  <bruno@clisp.org>
84656
84657         * lib/xsize.h: New file.
84658         * lib/linebreak.c: Include xsize.h.
84659         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
84660         argument for overflow.
84661         Suggested by Paul Eggert.
84662
84663 2003-11-03  Karl Berry  <karl@gnu.org>
84664
84665         * config/config.{guess,sub}: update from config.
84666
84667 2003-11-03  Jim Meyering  <jim@meyering.net>
84668
84669         * modules/userspec (lib_SOURCES): Add userspec.h.
84670         (Include): Add "userspec.h".
84671         Improve description.
84672
84673 2003-11-03  Jim Meyering  <jim@meyering.net>
84674
84675         * lib/userspec.c: Include "userspec.h".
84676         * lib/userspec.h: New file.
84677
84678 2003-11-03  Bruno Haible  <bruno@clisp.org>
84679
84680         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
84681
84682 2003-11-03  Bruno Haible  <bruno@clisp.org>
84683
84684         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
84685         available, to avoid (extremely rare) race condition.
84686         Suggested by Paul Eggert.
84687
84688 2003-11-02  Karl Berry  <karl@gnu.org>
84689
84690         * config/srclist.txt (vasprintf.c): sync broken, sigh.
84691
84692 2003-10-31  Paul Eggert  <eggert@twinsun.com>
84693
84694         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
84695         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
84696         (read_filesystem_list): Set and use me_type_malloced.
84697         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
84698         whatever the type happens to be), for brevity and consistency.
84699         Check for size calculation overflow on Alphas running OSF/1.
84700
84701 2003-10-31  Jim Meyering  <jim@meyering.net>
84702
84703         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
84704
84705         * lib/linebuffer.c: Include <string.h> for declaration of memset.
84706
84707 2003-10-30  Paul Eggert  <eggert@twinsun.com>
84708             Bruno Haible  <bruno@clisp.org>
84709
84710         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
84711         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
84712
84713 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84714
84715         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
84716         netbsd*-gnu*.  Suggested by Robert Millan.
84717
84718 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84719
84720         * modules/group-member: Depend on stdbool.
84721
84722 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84723
84724         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
84725
84726 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84727
84728         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
84729         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
84730         after the 'gnu' in these cases.  This fixes some bugs in the
84731         previous change, and is based on suggestions by Robert Millan.
84732
84733 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84734
84735         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
84736         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
84737         no longer needed.
84738         * lib/quotearg.c (quotearg_n_options): Use it.
84739         * lib/group-member.c: Include <stdbool.h>.
84740         (free_group_info): Arg is now const *; don't free arg.
84741         (get_group_info): Now returns bool and accepts struct group_info *,
84742         rather than returning a malloc'ed struct group_info *.
84743         All uses changed.  Check for overflow in internal size calculation.
84744
84745         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
84746         rather than xmalloc/xrealloc.
84747         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
84748         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
84749         conformance bug: the old code used a pointer after freeing the
84750         storage that it addressed.
84751         * lib/hash.c (hash_initialize): Simplify the code by using
84752         xalloc_oversized rather than doing it by hand.
84753         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
84754         the buffer preserved.  Use free and xmalloc instead.
84755         * lib/quotearg.c (quotearg_n_options): Likewise.
84756         Use a simpler test for size overflow.  Don't use xalloc_oversized
84757         because unsigned int might be wider than size_t (!); this suggests
84758         that we should switch from unsigned int to size_t for slot numbers.
84759
84760 2003-10-28  Paul Eggert  <eggert@twinsun.com>
84761
84762         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
84763         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
84764         NetBSD kernels.  Requested by Richard Stallman.
84765
84766 2003-10-27  Paul Eggert  <eggert@twinsun.com>
84767
84768         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
84769         to allocate the returned structure.  Do not allocate a subarray,
84770         as x2nrealloc will do that.
84771         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
84772         instead of xnrealloc.
84773         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
84774
84775 2003-10-27  Bruno Haible  <bruno@clisp.org>
84776
84777         * lib/stdbool_.h: Better support for BeOS.
84778
84779 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84780
84781         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
84782         now uses inline.
84783
84784 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84785
84786         * lib/xalloc.h (xalloc_oversized): New static inline function, for
84787         callers that want to do their own size-overflow checking.  Include
84788         <stdbool.h>, since xalloc_oversized returns bool.
84789         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
84790         to use xalloc_oversized.
84791
84792         Add two functions x2realloc, x2nrealloc, for programs that grow
84793         arrays dynamically by doubling their sizes.
84794         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
84795         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
84796         New functions.
84797
84798         Port to C99 semantics for 'inline' of external functions.
84799         Bug reported by Bruno Haible.
84800         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
84801         with the old contents of xnmalloc.
84802         (xnmalloc, xmalloc): Use it.
84803         (xnrealloc_inline): New static inline function,
84804         with the old contents of xnrealloc.
84805         (xnrealloc, xrealloc): Use it.
84806
84807         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
84808         that.
84809
84810 2003-10-26  Karl Berry  <karl@gnu.org>
84811
84812         * config/srclist.txt (COPYING.DOC): no longer available from
84813         /gd/gnuorg; don't know where the ultimate source is.
84814
84815 2003-10-25  Paul Eggert  <eggert@twinsun.com>
84816
84817         Fix several address-calculation bugs in the hash modules,
84818         plus some minor code cleanup.
84819
84820         * lib/hash.h: Include <stdbool.h>, for bool.
84821         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
84822         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
84823         hash_get_n_entries, hash_get_max_bucket_length,
84824         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
84825         hash_rehash): Use size_t rather than unsigned.
84826         * lib/hash.c (struct hash_table, hash_get_n_buckets,
84827         hash_get_n_buckets_used, hash_get_n_entries,
84828         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
84829         hash_get_entries, hash_do_for_each, hash_string, is_prime,
84830         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
84831         Likewise.
84832         (SIZE_MAX): Define if not defined.
84833         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
84834         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
84835         hash_print):
84836         Use const * when possible.
84837         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
84838         (check_tuning): Fix bug: if tuning parameters were very close to
84839         0 or 1, rounding errors could have caused subscript violations.
84840         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
84841         (hash_initialize): Add 'fail:' label
84842         to free table and return NULL, and use it to simplify code.
84843         Use calloc rather than clearing the storage ourself.
84844         (hash_initialize, hash_rehash): Check for arithmetic overflow in
84845         buffer size calculations.
84846         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
84847         Include <stddef.h>, for size_t.
84848         * lib/hash-pjw.c (hash_pjw): Likewise.
84849         Switch to method described by Bruno Haible.
84850         Include <limits.h>, for CHAR_BIT.
84851         (SIZE_BITS): New macro.
84852
84853 2003-10-23  Paul Eggert  <eggert@twinsun.com>
84854
84855         * m4/getline.m4 (AM_FUNC_GETLINE):
84856         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
84857         hosts.  Problem reported by Derek Robert Price in
84858         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
84859         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
84860         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
84861
84862 2003-10-21  Paul Eggert  <eggert@twinsun.com>
84863
84864         * lib/getndelim2.c (getndelim2): When size calculation overflows,
84865         ceiling the allocation at NMAX bytes rather than silently
84866         discarding input bytes before NMAX is reached.  This makes
84867         a difference only if NMAX exceeds SIZE_MAX / 2.
84868
84869         * lib/obstack.c: Merge from glibc.
84870         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
84871         Add libc_hidden_def (_obstack_newchunk).
84872         (_obstack_free) [! defined _LIBC]: Remove.
84873         [defined _LIBC]: Make a strong alias from obstack_free, rather than
84874         a clone of the function body.
84875         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
84876         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
84877
84878         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
84879         glibc.
84880         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
84881         arg to memcpy.
84882
84883         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
84884         (obstack_ptr_grow_fast, obstack_int_grow_fast):
84885         Don't use lvalue casts, as GCC plans to remove support for them
84886         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
84887         was also present in the non-GCC version, indicating that this
84888         code had always been buggy and had never been widely used.
84889         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
84890         Use the fast variant of each macro, rather than copying the
84891         definiens of the fast variant; that way, we'll be more likely to
84892         catch future bugs in the fast variants.
84893
84894 2003-10-20  Bruno Haible  <bruno@clisp.org>
84895
84896         * modules/wait-process: New file.
84897         * MODULES.html.sh (func_all_modules): Add wait-process.
84898
84899 2003-10-20  Bruno Haible  <bruno@clisp.org>
84900
84901         * m4/wait-process.m4: New file.
84902
84903 2003-10-20  Bruno Haible  <bruno@clisp.org>
84904
84905         * lib/wait-process.h: New file, from GNU gettext.
84906         * lib/wait-process.c: New file, from GNU gettext.
84907
84908 2003-10-19  Jim Meyering  <jim@meyering.net>
84909
84910         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
84911         HPUX 10.20.
84912
84913 2003-10-18  Karl Berry  <karl@gnu.org>
84914
84915         * config/config.guess: update from config.
84916
84917 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84918
84919         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
84920         (getgroups): First arg is int, not size_t.
84921         Don't let 'free' mangle errno.
84922
84923 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84924
84925         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
84926
84927 2003-10-16  Karl Berry  <karl@gnu.org>
84928
84929         * config/config.{guess,sub}: update from config.
84930
84931 2003-10-16  Jim Meyering  <jim@meyering.net>
84932
84933         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
84934         memcpy.
84935
84936 2003-10-15  Paul Eggert  <eggert@twinsun.com>
84937
84938         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
84939         (SIZE_MAX): Remove.
84940         (new_exclude, add_exclude_file): Initial size no longer needs to
84941         be a power of 2.
84942         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
84943         our own address arithmetic overflow checking.
84944
84945         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
84946         (fnmatch): Do not alloca more than 2000 wide characters;
84947         instead, use malloc for large buffers.
84948         Check for address arithmetic overflow, and return -1
84949         with errno set to ENOMEM in that case.
84950         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
84951         (NEW_PATTERN): Do not alloca more than 8000 bytes;
84952         instead, return -1.  Check for address arithmetic overflow.
84953
84954 2003-10-14  Paul Eggert  <eggert@twinsun.com>
84955
84956         Handle invalid suffixes and overflow independently, so that
84957         callers can treat them independently as needed.  Fix some bugs in
84958         suffix handling, e.g., "100k@" was not diagnosed as an invalid
84959         suffix for a human-readable blocksize.  The major caller-visible
84960         change is the addition of a new
84961         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
84962         that both overflow and suffix chars were found.
84963
84964         * lib/human.c (humblock): Don't check separately for invalid suffix
84965         char; that is xstrtoumax's job (now that its bug is fixed).
84966         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
84967         INTMAX_MAX]: New macros.
84968         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
84969         TYPE_MAXIMUM): New macros.
84970         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
84971         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
84972         if overflow occurs, as it's what __strtol does and it's more useful
84973         in practice.
84974         (__xstrtol): If __strtol reports some error other than ERANGE,
84975         reflect it to the caller as LONGINT_INVALID.  If it reports
84976         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
84977         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
84978         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
84979         value.
84980         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
84981         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
84982         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
84983         [defined UINTMAX_MAX]: New macros.
84984
84985 2003-10-14  Bruno Haible  <bruno@clisp.org>
84986
84987         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
84988
84989 2003-10-14  Bruno Haible  <bruno@clisp.org>
84990
84991         * m4/sig_atomic_t: New file, from GNU gettext.
84992         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
84993
84994 2003-10-14  Bruno Haible  <bruno@clisp.org>
84995
84996         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
84997         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
84998         Also use volatile where needed.
84999
85000 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85001
85002         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85003         Change maintainer from Bruno Haible to 'all'.
85004
85005 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85006
85007         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85008
85009 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85010
85011         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85012         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85013         and define in terms of the other primitives.
85014         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85015         (SIZE_MAX): Define if not already defined.
85016         (array_size_overflow): New function.
85017         (xalloc_die): Abort instead of exiting if 'error' returns.
85018         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85019         (xmalloc, xrealloc): Use them.
85020         (xcalloc): Check for address arithmetic overflow.
85021         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85022         a bit faster than strcpy.
85023
85024 2003-10-10  Simon Josefsson  <jas@extundo.com>
85025
85026         * modules/argp (Depends-on): Add restrict and strcase.
85027
85028 2003-10-10  Simon Josefsson  <jas@extundo.com>
85029
85030         * m4/argp.m4: Add AC_C_INLINE.
85031
85032 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85033
85034         Merge getpass from libc, plus a few fixes.
85035
85036         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85037         Include <stdbool.h>.
85038         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85039         __fsetlocking to empty.
85040         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85041         do include <bits/libc-lock.h>.
85042         Do not include <fcntl.h>; not needed.
85043         [_LIBC]: Include <wchar.h>.
85044         (NOTCANCEL_MODE): New macro.
85045         (flockfile, funlockfile) [_LIBC]: New macros.
85046         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85047         [!_LIBC]: New macros.
85048         (call_fclose): New function.
85049         (getpass): Use it.  Save tty stream separately; this simplifies the
85050         code and makes it more reliable if stdin happens to equal stdout.
85051         Invoke __fsetlocking on tty.
85052         Handle thread cancellation if needed.
85053         Namespace cleanup (use __tcgetattr, __getline).
85054         Use bool for Booleans.
85055         [USE_IN_LIBIO]: Handle wide streams.
85056         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85057         stream might go where.
85058
85059         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85060         doesn't have to include <stdio.h> before us.
85061         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85062         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85063         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85064         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85065         if not declared, so that we can use getpass.c code from libc without
85066         rewriting it.
85067         (flockfile, ftrylockfile, funlockfile): New macros.
85068
85069 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85070
85071         * modules/getpass: Depend on stdbool.
85072
85073 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85074
85075         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85076
85077 2003-10-07  Karl Berry  <karl@gnu.org>
85078
85079         * config/config.{guess,sub}: update from config.
85080
85081 2003-10-06  Jim Meyering  <jim@meyering.net>
85082             Bruno Haible  <bruno@clisp.org>
85083
85084         This lets translators provide better translations for the
85085         "Written by ..." part of --version output.
85086         * lib/version-etc.h: Include stdarg.h.
85087         (version_etc_copyright): Declare as readonly.
85088         (version_etc): Make this function variadic with a NULL-terminated list
85089         of author name strings.
85090         (version_etc_va): New declaration.
85091         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85092         (version_etc_copyright): Declare as readonly.
85093         (version_etc_va): New function. Provide a different translatable string
85094         for each possible number of authors < 10. Abbreviate when there are 10
85095         authors or more.
85096         (version_etc): Make this function variadic. Call version_etc_va.
85097         Suggestion from Gary V. Vaughan.
85098
85099         * lib/long-options.h (parse_long_options): Change prototype: the
85100         authors string is moved to the end and becomes variadic.
85101         * lib/long-options.c: Include stdarg.h.
85102         (parse_long_options): Make this function variadic, too.
85103         Call version_etc_va, not version_etc.
85104
85105 2003-10-06  Bruno Haible  <bruno@clisp.org>
85106
85107         * modules/version-etc-2: Remove file.
85108         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85109
85110 2003-10-06  Bruno Haible  <bruno@clisp.org>
85111
85112         * modules/fatal-signal: New file.
85113         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85114
85115 2003-10-06  Bruno Haible  <bruno@clisp.org>
85116
85117         * m4/fatal-signal.m4: New file.
85118         * m4/signalblocking.m4: New file, from GNU gettext.
85119
85120 2003-10-06  Bruno Haible  <bruno@clisp.org>
85121
85122         * lib/version-etc-2.h: Remove file.
85123         * lib/version-etc-2.c: Remove file.
85124
85125 2003-10-06  Bruno Haible  <bruno@clisp.org>
85126
85127         * lib/fatal-signal.h: New file, from GNU gettext.
85128         * lib/fatal-signal.c: New file, from GNU gettext.
85129
85130 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85131
85132         * README: Rework advice for preventing empty .o files.
85133         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85134         not <sys/types.h>.
85135
85136 2003-10-04  Karl Berry  <karl@gnu.org>
85137
85138         * lib/argp*: update from libc.
85139
85140 2003-10-04  Karl Berry  <karl@gnu.org>
85141
85142         * config/config.{guess,sub}: update from config.
85143
85144 2003-10-02  Bruno Haible  <bruno@clisp.org>
85145
85146         * modules/lchown (Include): Add lchown.h.
85147         * modules/time_r (Include): Use "..." syntax.
85148         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85149
85150 2003-10-01  Simon Josefsson  <jas@extundo.com>
85151
85152         * MODULES.html.sh (func_all_modules): Move gethostname from section
85153         'based on' to section 'lacking' POSIX:2001.
85154
85155 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
85156
85157         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
85158         to output mode on the same stream.
85159
85160 2003-09-29  Paul Eggert  <eggert@twinsun.com>
85161
85162         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
85163         Fix arg typo in previous patch.
85164
85165 2003-09-28  Jim Meyering  <jim@meyering.net>
85166
85167         * lib/error.c: Correct cpp indentation.
85168
85169 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85170
85171         * modules/free: New file.
85172
85173 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85174
85175         * m4/free.m4: New file.
85176
85177 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85178
85179         * lib/minmax.h (MIN, MAX)
85180         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85181         Omit the special code that used __typeof__, since we worry that
85182         it could be more trouble than it's worth.  See:
85183         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85184         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85185
85186         * lib/free.c: New file.
85187
85188 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
85189
85190         Trivial fixes to Makefile.am parts of module listings.
85191         * modules/strstr: Append strstr.h to lib_SOURCES.
85192         * modules/strcase: Likewise, for strcase.h.
85193
85194 2003-09-27  Karl Berry  <karl@gnu.org>
85195
85196         * config/mkinstalldirs: update from automake.
85197
85198 2003-09-26  Paul Eggert  <eggert@twinsun.com>
85199
85200         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
85201         (error_tail): Do not loop, reallocating temporary buffer, since
85202         the output cannot contain more wide characters than the input
85203         contains bytes, the size must be big enough already.  This avoids
85204         one potential size overflow calculation.  Check for size overflow
85205         when calculating temporary buffer size.  Free temporary buffer
85206         when done, if it was allocated with malloc; this plugs a memory
85207         leak.  Remove casts from void * to pointers, that are no longer
85208         needed now that we're assuming C89 or better.
85209
85210         Merge error changes from glibc.
85211
85212         * lib/error.c, error.h: Update copyright notice header to match glibc.
85213         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
85214         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
85215         Disable cancellation while printing error.
85216         * lib/error.h: Prepend __ to parameter names.
85217
85218 2003-09-26  Jim Meyering  <jim@meyering.net>
85219
85220         * lib/error.c (error_tail): Move some declarations
85221         into inner scope where the local variables are used.
85222
85223 2003-09-26  Bruno Haible  <bruno@clisp.org>
85224
85225         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
85226         stpncpy().
85227         Don't define stpncpy through config.h; it's now done through stpncpy.h.
85228
85229 2003-09-26  Bruno Haible  <bruno@clisp.org>
85230
85231         * lib/stpncpy.h (gnu_stpncpy): New declaration.
85232         (stpncpy): Define as alias for gnu_stpncpy.
85233         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
85234
85235 2003-09-25  Simon Josefsson  <jas@extundo.com>
85236
85237         * lib/xgetdomainname.h: New file.
85238         * lib/xgetdomainname.c: New file.
85239
85240 2003-09-25  Simon Josefsson  <jas@extundo.com>
85241             Bruno Haible  <bruno@clisp.org>
85242
85243         * modules/getdomainname: New file.
85244         * modules/xgetdomainname: New file.
85245         * MODULES.html.sh (func_all_modules): Add getdomainname,
85246         xgetdomainname.
85247
85248 2003-09-25  Simon Josefsson  <jas@extundo.com>
85249             Bruno Haible  <bruno@clisp.org>
85250
85251         * m4/getdomainname.m4: New file.
85252
85253 2003-09-25  Simon Josefsson  <jas@extundo.com>
85254             Bruno Haible  <bruno@clisp.org>
85255
85256         * lib/getdomainname.h: New file.
85257         * lib/getdomainname.c: New file.
85258
85259 2003-09-25  Karl Berry  <karl@gnu.org>
85260
85261         * lib/argp-fmtstream.c, argp-help.c: update from libc.
85262
85263 2003-09-25  Karl Berry  <karl@gnu.org>
85264
85265         * config/install-sh: update from automake.
85266
85267 2003-09-25  Bruno Haible  <bruno@clisp.org>
85268
85269         * modules/version-etc-2: New file, from modules/version-etc with
85270         modifications.
85271         * MODULES.html.sh (func_all_modules): Add version-etc-2.
85272
85273 2003-09-25  Bruno Haible  <bruno@clisp.org>
85274
85275         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
85276         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
85277
85278 2003-09-24  Simon Josefsson  <jas@extundo.com>
85279
85280         * modules/xgethostname: Add xgethostname.h.
85281
85282 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85283
85284         * lib/linebuffer.c (freebuffer): Don't free the argument, just
85285         the buffer associated with the argument.  Bug reported by
85286         Simon Josefsson.
85287
85288 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85289
85290         * README: Document assumptions that 'int' is at least 32 bits
85291         wide, that integer arithmetic is 2's complement without overflow,
85292         that there are no holes in integer values, that adding sizes of
85293         two nonoverlapping objects can't overflow, and that all-bits-zero
85294         yields scalar zero.  Fix spelling and capitalization typos.
85295
85296 2003-09-19  Karl Berry  <karl@gnu.org>
85297
85298         * lib/argp.h: update from libc.
85299
85300 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85301
85302         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
85303         to avoid spurious warnings like "AC_RUN_IFELSE was called before
85304         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
85305
85306 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85307
85308         * gnulib-tool: Use "test -h", not "test -L", for portability
85309         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
85310         (tags_regexp): Remove, since \| doesn't conform to POSIX.
85311         (sed_extract_prog): Issue s commands one-by-one, rather than
85312         using \| in one s command.
85313
85314 2003-09-16  Paul Eggert  <eggert@twinsun.com>
85315
85316         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
85317         input error, instead of returning NULL the next time we are called
85318         (and therefore losing track of errno).
85319
85320 2003-09-16  Bruno Haible  <bruno@clisp.org>
85321
85322         * gnulib-tool (func_create_testdir): Warn about duplicated
85323         dependencies.
85324
85325 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85326
85327         * modules/argmatch, modules/fatal, modules/obstack,
85328         modules/xalloc, modules/xgethostname: Sort dependencies by
85329         importance, not alphabetically.
85330
85331 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85332
85333         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
85334         fails, so that the caller gets the proper errno.
85335
85336         * lib/readutmp.c (read_utmp): Likewise.
85337         Check for fstat error.  Close stream and free storage
85338         when failing.
85339
85340 2003-09-14  Karl Berry  <karl@gnu.org>
85341
85342         * config/srclist.txt (strdup.c): disable for c89 changes.
85343
85344 2003-09-14  Jim Meyering  <jim@meyering.net>
85345
85346         * lib/getloadavg.c: Correct cpp indentation.
85347         * lib/strdup.c: Likewise.
85348         * lib/vasnprintf.c: Likewise.
85349
85350 2003-09-14  Bruno Haible  <bruno@clisp.org>
85351
85352         * modules/fwriteerror: New file.
85353         * MODULES.html.sh (func_all_modules): Add fwriteerror.
85354
85355 2003-09-14  Bruno Haible  <bruno@clisp.org>
85356
85357         * lib/fwriteerror.h: New file.
85358         * lib/fwriteerror.c: New file.
85359
85360 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85361
85362         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
85363         modules/xgethostname, modules/xalloc: Depend on exit.
85364
85365 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85366
85367         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
85368
85369         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
85370         and AC_MINIX, too, so that their extensions are available.
85371
85372         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
85373         This macro has been superseded by gl_BACKUPFILE.
85374
85375         More patches to assume C89 or better.
85376
85377         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
85378
85379         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
85380         unconditionally.
85381         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
85382         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
85383         Include <string.h>, <stdlib.h> unconditionally.
85384         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
85385         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
85386         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
85387         headers or for string.h.
85388         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
85389         or strtoul.
85390
85391         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
85392         headers.
85393         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
85394         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85395         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
85396         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
85397         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85398         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
85399         memcpy, memset.
85400         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
85401         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
85402         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
85403         strtol.
85404         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
85405         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
85406         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
85407         strtoul.
85408
85409 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85410
85411         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
85412         * lib/obstack.c [!defined _LIBC]: Likewise.
85413         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
85414         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
85415         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
85416
85417         More changes to assume C89 or better.
85418
85419         * lib/error.c (error_tail): Assume vprintf.
85420
85421         * lib/argmatch.c (getenv): Remove decl.
85422         * lib/progreloc.c (get_full_program_name): Define via prototype.
85423         * lib/setenv.c (clearenv): Likewise.
85424         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
85425         needed.
85426         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
85427         (malloc, memcpy): Remove decls.
85428         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
85429         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
85430         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85431         (memcpy): Remove macro.
85432         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
85433         (__P): Remove.  All uses removed.
85434         (PTR): Remove.  All uses changed to void *.
85435         (CHAR_BIT, NULL): Remove.
85436         (spaces, zeros, memset_space, memset_zero)
85437         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
85438         Remove.
85439         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
85440         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
85441         Define with prototype.
85442         Remove now-unnecessary prototype decl.
85443         (extra_args_spec): Assume ANSI C.  All uses changed.
85444         (extra_args_spec_iso): Remove.
85445         (my_strftime, emacs_strftimeu): Define via prototype.
85446         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
85447         unconditionally.
85448         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
85449         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
85450         (strtoul, strtol): Remove decls.
85451         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
85452         LONG_MAX): Remove.
85453         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85454         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
85455         (LOCALE_PARAM_PROTO): New macro.
85456         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
85457         (INTERNAL (strtol), strtol): Define with a prototype.
85458         (PARAMS): Remove.  All uses removed.
85459         * lib/tempname.c: Include <string.h> unconditionally.
85460         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
85461         * lib/xgethostname.c (main): Define with a prototype.
85462         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
85463         Include <stdlib.h> unconditionally.
85464         (calloc, malloc, realloc, free): Remove decls.
85465         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
85466         Include <stdlib.h> unconditionally.  Sort include file names.
85467         (strtod): Remove.
85468         (xstrtod): Define with a prototype.
85469         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
85470         (strtol, strtoul): Remove decls.
85471
85472 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85473
85474         More patches to assume C89 or better.
85475         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
85476         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
85477         string.h, memchr, STDC_HEADERS.
85478
85479 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85480
85481         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
85482         Include <stdlib.h>, <string.h> unconditionally.
85483         Remove now-unnecessary cast to char *.
85484         * lib/strnlen.c: Include <string.h> unconditionally.
85485         * lib/yesno.c (yesno): Define with a prototype.
85486
85487 2003-09-11  Bruno Haible  <bruno@clisp.org>
85488
85489         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
85490
85491 2003-09-10  Jim Meyering  <jim@meyering.net>
85492
85493         * lib/error.c: Correct indentation of cpp directives.
85494
85495 2003-09-10  Bruno Haible  <bruno@clisp.org>
85496
85497         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
85498         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
85499         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
85500         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
85501         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
85502         <stdlib.h> and <string.h> checks.
85503         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
85504         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
85505
85506 2003-09-10  Bruno Haible  <bruno@clisp.org>
85507
85508         * lib/strcspn.c: Include <string.h> unconditionally.
85509         * lib/strpbrk.c: Include <string.h> unconditionally.
85510         * lib/strstr.c: Include <string.h> unconditionally.
85511         * lib/unicodeio.c: Include <string.h> unconditionally.
85512         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
85513         * lib/unsetenv.c: Likewise.
85514         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
85515         * lib/yesno.c: Include <stdlib.h> unconditionally.
85516         (rpmatch): Add prototype.
85517
85518 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85519
85520         More patches to assume C89 or better.
85521         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
85522         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
85523         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
85524         or for string.h.
85525         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
85526         stdlib.h.
85527         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
85528         C headers.
85529         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
85530         string.h.
85531         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
85532         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
85533         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
85534         or for string.h.
85535         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
85536         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
85537         C headers.
85538         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
85539         memcpy.
85540         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
85541         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
85542         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
85543         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
85544         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
85545         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
85546         string.h, free.
85547         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
85548         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
85549         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
85550         C headers, or for string.h.
85551         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
85552         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
85553         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
85554         headers, memory.h, stdlib.h, string.h, strings.h.
85555         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
85556         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
85557         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
85558         strchr.
85559         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
85560         headers, memory.h, string.h.
85561         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
85562         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
85563         free.
85564         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
85565         headers.
85566         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
85567         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
85568         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
85569         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
85570         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
85571
85572 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85573
85574         More K&R removal.
85575
85576         * lib/acosl.c (main): Use a prototype.
85577         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
85578         tanl.c: Likewise.
85579
85580         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
85581
85582         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
85583         (getopt, etopt_long, getopt_long_only, _getopt_internal)
85584         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
85585         with a prototype.
85586         * lib/getopt.c (const): Remove macro.
85587         Include <string.h> unconditionally.
85588         (my_index): Remove; all uses changed to strchr.
85589         (strlen): Remove decl.
85590         (exchange): Remove forward decl; no longer needed.
85591         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
85592         Define with prototype.
85593         * lib/getopt1.c (const): Remove macro.
85594         (getopt_long, getopt_long_only, main): Define with prototype.
85595
85596         * lib/getugroups.c: Include <string.h> unconditionally.
85597
85598         * lib/getusershell.c: Include <stdlib.h> unconditionally.
85599         (getusershell, setusershell, endusershell, readname, main):
85600         Define with prototypes.
85601
85602         * lib/group-member.c: Include group-member.h first.
85603         Include <stdlib.h> unconditionally.
85604
85605         * lib/hard-locale.c: Include hard-locale.h first.
85606         Include <stdlib.h>, <string.h> unconditionally.
85607
85608         * lib/hash.c (free, malloc): Remove decls.
85609         Include <stdlib.h> unconditionally.
85610
85611         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
85612         (getenv): Do not declare.
85613
85614         * lib/idcache.c: Include <string.h> unconditionally.
85615
85616         * lib/long-options.c: Include long-options.h first, to test interface.
85617         Include <stdlib.h> unconditionally.
85618
85619         * lib/makepath.c: Include makepath.h first, to test interface.
85620         Include <stdlib.h> and <string.h> unconditionally.
85621
85622         * lib/linebuffer.c: Include <stdlib.h>.
85623         (free): Remove decl.
85624
85625         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
85626         stddef.h. rpl_malloc returns void *, not char *.
85627         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
85628         prototype.
85629
85630         * lib/md5.h: Include <limits.h> unconditionally.
85631         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
85632         (__P): Remove; all uses removed.
85633         * lib/md5.c: Include "md5.h" first.
85634         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
85635         md5_buffer, md5_process_bytes, md5_process_block):
85636         Define with prototypes.
85637         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
85638         * lib/sha.c: Include "sha.h" first.
85639         Include <stdlib.h>, <string.h> unconditionally.
85640
85641         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
85642         * lib/memcmp.c (__ptr_t): Likewise.
85643         * lib/memrchr.c (__ptr_t): Likewise.
85644         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
85645         Include <string.h> unconditionally.
85646         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
85647         * lib/memchr.c: Include <stdlib.h> unconditionally.
85648         * lib/memchr.c (LONG_MAX): Remove.
85649         * lib/memrchr.c (LONG_MAX): Likewise.
85650         * lib/memchr.c (__memchr): Define via a prototype.
85651         * lib/memrchr.c (__memrchr): Likewise.
85652         * lib/memcmp.c (__P): Remove, and remove all uses.
85653         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
85654         Remove forward decls; no longer needed.
85655         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
85656         Use types required by C89 in prototype.
85657
85658         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
85659         * lib/savedir.c: Likewise.
85660         * lib/mkdir.c (free): Remove decl.
85661         * lib/rmdir.c (rmdir): Define with a prototype.
85662         * lib/savedir.c: Include savedir.h first, to test interface.
85663
85664         * lib/mktime.c (STDC_HEADERS): Remove.
85665         Include <stdlib.h>, <string.h> unconditionally.
85666
85667         * lib/modechange.c: Include <stdlib.h> unconditionally.
85668         (malloc): Remove decl.
85669
85670         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
85671         (free): Remove decl.
85672
85673         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
85674         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
85675         (This type really should be intptr_t, but that's a C99ism.)
85676         (_obstack_memcpy): Remove: all uses changed to memcpy.
85677         Include <string.h> unconditionally.
85678         (struct obstack): Assume __STDC__ for types of members
85679         chunkfun, freefun, extra_arg.
85680         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
85681         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
85682         obstack_begin, obstack_specify_allocation,
85683         obstack_specify_allocation_with_arg, obstack_chunkfun,
85684         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
85685         Remove unprototyped decls and the macros that use them.
85686         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
85687         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
85688         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
85689         (defined __STDC__ && __STDC__)]:
85690         Remove nonprototyped code.
85691         Include <stdlib.h> unconditionally.
85692         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
85693         _obstack_allocated_p, _obstack_free, obstack_free,
85694         _obstack_memory_used, print_and_abort):
85695         Define using prototypes.
85696         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
85697         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
85698         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
85699         obstack_next_free, obstack_object_size, obstack_room) [0]:
85700         Remove unused, unprototyped code.
85701
85702         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
85703
85704         * lib/physmem.c (physmem_total, physmem_available, main): Define
85705         with prototypes.
85706
85707         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
85708         (main): Define with a prototype.
85709
85710         * lib/posixver.c (getenv): Remove decl.
85711
85712         * lib/putenv.c (malloc): Returns void *, not char *.
85713         Include <string.h> unconditionally.
85714         (strchr, memcpy, NULL): Do not define.
85715
85716         * lib/readtokens.c: Include readtokens.h first, to test interface.
85717         Include <stdlib.h>, <string.h> unconditionally.
85718         (init_tokenbuffer): Define with a prototype.
85719
85720         * lib/regex.c (PARAMS): Remove.  All uses removed.
85721         All uses of _RE_ARGS removed, too.
85722         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85723         unconditionally.
85724         (bzero): Assume memset exists.
85725         (memcmp, memcpy, NULL): Remove.
85726         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
85727         char, or assignments to local vars of type signed char.
85728         (init_syntax_once, PREFIX(extract_number_and_incr),
85729         PREFIX(print_partial_compiled_pattern),
85730         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
85731         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
85732         PREFIX(regex_grow_registers), PREFIX(regex_compile),
85733         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
85734         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
85735         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
85736         wcs_compile_range, byte_compile_range, truncate_wchar,
85737         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
85738         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
85739         count_mbs_length, wcs_re_match_2_internal,
85740         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
85741         PREFIX(alt_match_null_string_p),
85742         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
85743         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
85744         regfree, PREFIX(extract_number)): Define with prototype.  Remove
85745         now-unnecessary declaration, if any.
85746         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
85747         regcomp, regexec):
85748         Remove now-unnecessary casts among pointer types.
85749         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
85750
85751         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
85752         (free): Remove decl.
85753
85754         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
85755
85756         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
85757         (free): Remove decl.
85758
85759         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
85760         * lib/xgetcwd.c: Likewise.
85761
85762         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
85763         (free): Remove decl.
85764
85765         * lib/strchrnul.c (strchrnul): Define with a prototype.
85766         Fix bug: c_in was not converted to char before searching.
85767
85768         The following changes are not K&R related:
85769
85770         * lib/group-member.h: Include <sys/types.h>, so that this file is
85771         self-contained.
85772         * lib/makepath.h: Likewise.
85773
85774         * lib/getusershell.c (readname, default_index, line_size, readname):
85775         Use size_t, not int, for sizes.
85776         (readname): If the size overflows, report an error instead of
85777         looping forever.
85778
85779 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85780
85781         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
85782         libc.
85783
85784 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85785
85786         * README: New section: portability guidelines.
85787
85788 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85789
85790         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
85791         C89 spec.
85792
85793 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85794
85795         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
85796
85797 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85798
85799         Assume C89 or better; remove K&R cruft.
85800         A few of these changes were first proposed by Derek Robert Price
85801         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
85802
85803         * lib/addext.c: Include <string.h> unconditionally.
85804         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
85805         Don't declare getenv or malloc.
85806
85807         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
85808         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
85809         (NULL): Remove.
85810         (find_stack_direction, alloca): Use prototypes.
85811
85812         * lib/atexit.c (atexit): Define using a prototype.
85813
85814         * lib/basename.c, dirname.c, stripslash.c:
85815         Include <string.h> unconditionally.
85816
85817         * lib/bcopy.c: Include <stddef.h>.
85818         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
85819
85820         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
85821
85822         * lib/error.h (error, error_at_line, error_print_progname)
85823         [! (defined (__STDC__) && __STDC__)]: Remove decls.
85824         * lib/error.c: Include error.h first, to check interface.
85825         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85826         (VA_START): Remove; all uses changeed to va_start.
85827         (exit, strerror): Remove decls.
85828         (error_print_progname): Prototype uncondionally.
85829         Don't include <errno.h>; no longer needed.
85830         (private_strerror): Remove.
85831         (error_tail): Always define.
85832         (error, error_at_line): Assume C89 or better; always use prototypes.
85833         * lib/fatal.c: Include "fatal.h" first, to test interface.
85834         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85835         (VA_START): Remove; all uses changed to va_start.
85836         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
85837         this case.
85838         (exit): Remove decl.
85839         (fatal): Prototype unconditionally.  Assume va_start works.
85840         Abort at end, to pacify gcc.
85841
85842         * lib/euidaccess.c (main): Define with a prototype.
85843
85844         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
85845
85846         * lib/exitfail.c: Include <stdlib.h> unconditionally.
85847
85848         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
85849         prototypes.
85850         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
85851         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
85852         (getenv): Remove decl.
85853         (fnmatch): Define using a prototype.
85854         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
85855         (FCT): Define using a prototype.
85856
85857         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
85858
85859         * lib/gethostname.c: Include <stddef.h>.
85860         (gethostname): Define with prototype.  Length is size_t, not int.
85861
85862 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85863
85864         Assume C89 or better; remove K&R cruft.
85865         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
85866         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
85867         string.h, getenv, malloc.
85868         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
85869         headers.
85870         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
85871         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
85872         do not check for strerror.
85873         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
85874         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
85875         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
85876         do not check for doprnt or vprintf.
85877         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
85878         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
85879
85880 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85881
85882         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
85883         getversion.c should have been removed then, but was accidentally
85884         preserved.
85885
85886         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
85887         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
85888
85889 2003-09-08  Karl Berry  <karl@gnu.org>
85890
85891         * config/config.sub, config.guess, srclistvars.sh: update from savannah
85892                 config, forget about prep.
85893
85894         * config/depcomp, missing: update from automake.
85895
85896 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85897
85898         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
85899         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85900
85901 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85902
85903         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
85904         copy_tm_result.  Bug reported by Simon Josefsson in
85905         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85906
85907 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85908
85909         * m4/time_r.m4: New file.
85910         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
85911         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
85912         is. Check for timegm declaration.
85913         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
85914         Do not check for gmtime_r.
85915         Replace mktime if __mktime_internal does not exist and if mktime
85916         hasn't been replaced already.
85917
85918 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85919
85920         * lib/time_r.c, lib/time_r.h: New files.
85921
85922         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
85923         __localtime_r.
85924         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
85925         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
85926
85927         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
85928         __gmtime_r.
85929         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
85930         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
85931         Include <time_r.h>.
85932
85933         * lib/timegm.c: Switch to glibc implementation, with the following
85934         changes:
85935         [defined HAVE_CONFIG_H]: Include <config.h>.
85936         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
85937         (__mktime_internal) [!defined _LIBC]: New decl.
85938         (__gmtime_r) [!defined _LIBC]: New macro and function.
85939         (timegm): Use a prototype, since gnulib assumes C89.
85940         Do not bother declaring tmp to be const, as it's not really usefu.
85941         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
85942         (timegm): Declare only if HAVE_DECL_TIMEGM.
85943
85944 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85945
85946         * MODULES.html.sh (func_all_modules): Add time_r.
85947         * modules/time_r: New file.
85948         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
85949         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
85950
85951 2003-09-03  Paul Eggert  <eggert@twinsun.com>
85952
85953         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
85954         Bug reported by Lute Kamstra in
85955         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
85956
85957         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
85958         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
85959         course with correspondingly smaller numbers for tomorrow and
85960         yesterday.  From Tadayoshi Funaba.  Originally installed into
85961         sh-utils on 1999-08-07, but the patch got lost (I guess during the
85962         coreutils merge?).
85963
85964 2003-08-31  Simon Josefsson  <jas@extundo.com>
85965
85966         * modules/timegm: New file.
85967         * MODULES.html.sh (func_all_modules): Add timegm.
85968
85969 2003-08-31  Simon Josefsson  <jas@extundo.com>
85970
85971         * m4/timegm.m4: New file.
85972
85973 2003-08-31  Simon Josefsson  <jas@extundo.com>
85974
85975         * lib/timegm.h: New file.
85976         * lib/timegm.c: New file.  Based on
85977         wget-1.8.2/src/http.c:mktime_from_utc.
85978
85979 2003-08-31  Karl Berry  <karl@gnu.org>
85980
85981         * lib/argp.h: update from libc.
85982
85983 2003-08-28  Bruno Haible  <bruno@clisp.org>
85984
85985         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
85986         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
85987         followed by '#define fnmatch fnmatch_posix' gives an error.
85988
85989 2003-08-28  Bruno Haible  <bruno@clisp.org>
85990
85991         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
85992         warning on QNX, which defines O_BINARY to 000000.
85993
85994 2003-08-27  Jim Meyering  <jim@meyering.net>
85995
85996         * m4/mkstemp.m4: Require that the system mkstemp be able to create
85997         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
85998         would fail after 32.  Reported by Danny Levinson.  Details here:
85999         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86000
86001 2003-08-24  Bruno Haible  <bruno@clisp.org>
86002
86003         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86004         MSVC7 <stdio.h> is included later.
86005
86006 2003-08-22  Simon Josefsson  <jas@extundo.com>
86007
86008         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86009
86010 2003-08-20  Karl Berry  <karl@gnu.org>
86011
86012         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86013
86014 2003-08-20  Bruno Haible  <bruno@clisp.org>
86015
86016         * modules/progname: New file.
86017         * MODULES.html.sh (func_all_modules): Add progname.
86018
86019 2003-08-20  Bruno Haible  <bruno@clisp.org>
86020
86021         * lib/progname.h: New file, from GNU gettext.
86022         * lib/progname.c: New file, from GNU gettext.
86023         * lib/progreloc.c: New file, from GNU gettext.
86024
86025 2003-08-19  Jim Meyering  <jim@meyering.net>
86026
86027         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86028         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86029
86030 2003-08-19  Bruno Haible  <bruno@clisp.org>
86031
86032         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86033         more.
86034
86035 2003-08-19  Bruno Haible  <bruno@clisp.org>
86036
86037         * lib/xstrdup.c: Assume <string.h> exists.
86038
86039 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86040
86041         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86042         in makefile rules.
86043
86044 2003-08-18  Jim Meyering  <jim@meyering.net>
86045
86046         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86047         * m4/lib-ld.m4: Likewise.
86048
86049 2003-08-18  Jim Meyering  <jim@meyering.net>
86050
86051         * lib/setenv.h: Indent nested cpp directive.
86052         * lib/vasnprintf.c: Remove trailing blanks.
86053
86054 2003-08-17  Simon Josefsson  <jas@extundo.com>
86055
86056         * modules/xstrndup: New file.
86057         * MODULES.html.sh (func_all_modules): Add xstrndup.
86058
86059 2003-08-17  Simon Josefsson  <jas@extundo.com>
86060
86061         * modules/argp: Fix autoconf macro name. Add more dependencies.
86062
86063 2003-08-17  Simon Josefsson  <jas@extundo.com>
86064
86065         * m4/xstrndup.m4: New file.
86066
86067 2003-08-17  Simon Josefsson  <jas@extundo.com>
86068
86069         * m4/argp.m4: New file.
86070
86071 2003-08-17  Simon Josefsson  <jas@extundo.com>
86072             Bruno Haible  <bruno@clisp.org>
86073
86074         * lib/xstrndup.h: New file.
86075         * lib/xstrndup.c: New file.
86076
86077 2003-08-17  Bruno Haible  <bruno@clisp.org>
86078
86079         * modules/strndup (Files, Include): Add lib/strndup.h.
86080
86081 2003-08-17  Bruno Haible  <bruno@clisp.org>
86082
86083         * modules/euidaccess (Files): Add lib/euidaccess.h.
86084
86085 2003-08-17  Bruno Haible  <bruno@clisp.org>
86086
86087         * lib/strndup.h: New file.
86088
86089 2003-08-17  Bruno Haible  <bruno@clisp.org>
86090
86091         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86092         like AC_GNU_SOURCE.
86093         * modules/extensions (configure.ac): Comment out the invocation of
86094         gl_USE_SYSTEM_EXTENSIONS.
86095
86096 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86097
86098         Merges from coreutils, etc.
86099         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86100         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86101         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86102         fixing a typo.
86103         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86104         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86105
86106 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86107
86108         Document merge from coreutils.
86109         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86110         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86111         * modules/utime: Add m4/utimes-null.m4.
86112
86113 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86114
86115         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86116         space, undoing this 2003-08-12 change:
86117         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86118
86119 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86120
86121         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86122         strtoul.c from libc, undoing this 2003-08-12 change:
86123         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86124
86125 2003-08-16  Jim Meyering  <jim@meyering.net>
86126
86127         Merges from coreutils.
86128         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86129         prefix.  Adjust cache variables similarly.  Create 500 rather than
86130         just 300 files, to exercise bug on Darwin6.5, too.
86131         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86132         $missing_dir.
86133         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86134         AM_SYS_POSIX_TERMIOS.
86135         Reported by mkc@mathdogs.com.
86136         Also change use of $am_cv_sys_posix_termios
86137         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86138         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86139         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86140         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86141         in /proc/mounts until it finds one with matching device number.  This
86142         is unnecessary when the FILE argument *is* a mount point.  No stat call
86143         is necessary in that case.  So, disable the statvfs-testing code on
86144         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86145         as RedHat bug# 84846.
86146         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86147         to 1MB, so as not to render systems with no stack size limit (e.g.,
86148         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86149         Include <unistd.h>.  On some systems,
86150         it is required for the definition of _SC_PAGESIZE.
86151
86152 2003-08-16  Jim Meyering  <jim@meyering.net>
86153
86154         Merge from coreutils.
86155         * lib/xstrtoimax.c: #else #if -> #elif.
86156         * lib/xstrtoumax.c: Likewise.
86157
86158 2003-08-16  Jim Meyering  <jim@meyering.net>
86159
86160         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
86161         * m4/utimes.m4: Removed.
86162         * m4/utimes-null.m4: Renamed from utimes.m4.
86163
86164         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86165         to 1MB, so as not to render systems with no stack size limit (e.g.,
86166         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86167         Include <unistd.h>.  On some systems,
86168         it is required for the definition of _SC_PAGESIZE.
86169
86170 2003-08-16  Jim Meyering  <jim@meyering.net>
86171         and Paul Eggert  <eggert@cs.ucla.edu>
86172
86173         Merges from coreutils, etc.
86174
86175         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86176         using the latest version from cvs.  This avoids problems with #line
86177         directives using a vendor (Sun) compiler.
86178         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86179         Don't set GETGROUPS_LIB here; now it's
86180         done via getgroups.m4's wrapper function.
86181         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86182         rather than just in sh-util/configure.in, so that the
86183         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86184         same.
86185         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86186         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86187         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
86188         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
86189         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
86190         Remove code that is now done by the newly-required macros.
86191         Append $(EXEEXT) to DF_PROG.
86192         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
86193         Do not invoke or require the following here,
86194         since prereq.m4 or some gnulib .m4 now does this for us:
86195         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
86196         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
86197         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
86198         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
86199         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
86200         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
86201         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
86202         AC_FUNC_OBSTACK.
86203         Do not replace the following functions, as this is now the job
86204         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
86205         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
86206         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
86207         atexit getpass, strdup, getpagesize.
86208         Replace 'raise'.
86209         Do not check for the following functions, as this is now the job
86210         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
86211         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
86212         setregid.
86213         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
86214         Check for sys/sysctl.h.
86215         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
86216         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
86217         of checking for ssize_t ourselves.
86218
86219         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
86220         Require every macro that gnulib/modules/* suggests for us.
86221         (jm_PREREQ_ADDEXT): New macro.
86222         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
86223         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
86224
86225         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
86226         (gl_PHYSMEM): Use it.
86227         Also check for `table' function.
86228         Check for new headers and functions.
86229         Add check for sys/sysmp.h.
86230         With suggestions from Kaveh Ghazi.
86231         Ignore headers that are present but cannot be compiled.  This
86232         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
86233         C 5.4.
86234
86235 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86236
86237         Document merge from coreutils.
86238         * modules/userspec: Depend on posixver.
86239         * modules/strftime: Depend on tzset.
86240
86241 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86242
86243         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
86244         rather than tab, after '#' in shell-script copyright notices.
86245         Suggested by Bruno Haible.
86246
86247 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86248
86249         * config/srclist-update: Use three spaces, rather than tab, after '#'
86250         in shell-script copyright notices.  Suggested by Bruno Haible.
86251         Remove unnecessary parenthesization in regular expression.
86252
86253 2003-08-15  Jim Meyering  <jim@meyering.net>
86254
86255         Merge from coreutils.
86256         * lib/xgethostname.c: Include <stdlib.h>.
86257         (xghostname): Don't exit for anything other than memory-related
86258         failure; just return NULL.
86259         * lib/userspec.c: Include "posixver.h".
86260         (parse_user_spec): Accept `.' as a separator only
86261         in pre-POSIX-200112 mode.
86262         * lib/strtoimax.c: Use #elif rather than #else #if.
86263         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
86264         Remove function, now that we can rely on a working tzset function.
86265         [!_LIBC]: Ensure that the required autoconf test has been run.
86266         [!defined _NL_CURRENT && HAVE_STRFTIME]:
86267         Use underlying_strftime for %r.
86268         * lib/sha.c: Merge in some clean-up and optimization changes from
86269         glibc.
86270         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
86271         Ensure that it is a multiple of 64.
86272         Rearrange loop exit tests so as to avoid performing an
86273         additional fread after encountering an error or EOF.
86274         * lib/realloc.c: Update copyright date.
86275
86276 2003-08-15  Jim Meyering  <jim@meyering.net>
86277         and Paul Eggert  <eggert@twinsun.com>
86278
86279         Merge from coreutils.
86280         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
86281         member but strut utmpx does not.  Needed for AIX 4.3.3.
86282         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
86283
86284 2003-08-15  Jim Meyering  <jim@meyering.net>
86285         and Paul Eggert  <eggert@cs.ucla.edu>
86286
86287         Merges from coreutils, etc.
86288         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
86289         Require gl_FUNC_TZSET_CLOBBER.
86290         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
86291         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
86292         members.
86293
86294 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86295
86296         Help the merge from coreutils.
86297         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
86298         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
86299         * m4/tzset.m4: Use it too.
86300
86301 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86302
86303         * modules/tzset: New file.
86304
86305 2003-08-14  Jim Meyering  <jim@meyering.net>
86306
86307         Merges from coreutils.
86308         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
86309         variable names, rather than @FNMATCH_H@.
86310         * modules/alloca: Likewise for $(ALLOCA_H).
86311
86312         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
86313         the three copies of the literal target, `fnmatch.h'.
86314         * modules/alloca (alloca.h): Likewise.
86315
86316 2003-08-14  Jim Meyering  <jim@meyering.net>
86317
86318         Merge from coreutils.
86319         * m4/tzset.m4: New file.
86320         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
86321         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
86322         otherwise, AIX 5.1 systems would end up using the latter.
86323         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
86324         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
86325         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
86326         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
86327
86328 2003-08-14  Jim Meyering  <jim@meyering.net>
86329
86330         Merge from coreutils.
86331         * lib/obstack.h: Whitespace changes.
86332         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
86333         and xcalloc return values.
86334         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
86335         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
86336         hang on OSF/1 5.1 for DIR on both local and remote file systems.
86337         Reported by (and fix confirmed by) Nelson H. F. Beebe.
86338         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86339         error from mntctl.
86340         Use mntctl's return value to drive the entry-processing loop, since
86341         we can't rely on the value of the vmt_length member in the last
86342         entry.  On some systems doing so could result in exhausting
86343         virtual memory.  Based in part on a patch from Mike Jetzer.
86344
86345 2003-08-14  Jim Meyering  <jim@meyering.net>
86346         and Paul Eggert  <eggert@twinsun.com>
86347
86348         Merges from coreutils, plus other fixes.
86349         * lib/physmem.c: Merge in portability changes from gcc/libiberty
86350         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
86351         for credits and details.  Thanks to Kaveh Ghazi for helping
86352         to keep these files in sync.
86353         (ARRAY_SIZE): Define it.
86354         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
86355         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
86356         (memcasecmp): Don't assume size_t fits in unsigned int.
86357         Remove casts and duplicate code.
86358         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
86359         (memcpy): Remove definition.
86360         Merge in some clean-up and optimization changes from glibc.
86361         [BLOCKSIZE]: Move definition to top of file.
86362         Ensure that it is a multiple of 64.
86363         Rearrange loop exit tests so as to avoid performing an
86364         additional fread after encountering an error or EOF.
86365         * lib/md5.h (md5_uintptr): Define.
86366         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
86367         return to the initial working directory.  Preserve errno
86368         for caller.
86369         * lib/idcache.c: Include "xalloc.h".
86370         (xmalloc, xrealloc): Remove decls.
86371         (getuser): Remove casts no longer required in C89.
86372         * lib/human.c: Include stdio.h, for sprintf.
86373         * lib/group-member.c: Include "xalloc.h".
86374         (xmalloc, xrealloc): Remove decls.
86375         (get_group_info): Remove casts no longer required in C89.
86376         * lib/getusershell.c (readname): Remove casts no longer required in
86377         C89.
86378         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
86379         * lib/getline.c: Whitespace fix, from coreutils.
86380
86381 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86382
86383         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
86384         Check for isascii.
86385
86386         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86387         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86388         Undo previous (whitespace-only) change.
86389
86390 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86391
86392         * lib/exclude.c: Include <ctype.h>
86393         (IN_CTYPE_DOMAIN): New macro.
86394         (is_space): New fn.
86395         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
86396         and empty lines.
86397
86398         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86399         Undo previous (whitespace-only) change.
86400
86401 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86402
86403         * config/srclist-update: Change update back to the old behavior,
86404         leaving whitespace alone.  Use one 'sed' command rather than a
86405         pipeline.
86406         (fixlicense): Now a variable, not a function.
86407         (remove_trailing_blanks): Remove.
86408         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
86409         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86410         Undo previous (whitespace-only) change.
86411
86412 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86413
86414         Merge from coreutils.
86415         * modules/euidaccess: Add lib_SOURCES, include for new
86416         file euidaccess.h
86417
86418 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86419
86420         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86421         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86422         Normalize leading white space and remove trailing white space.
86423
86424         Merge from coreutils
86425         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
86426
86427         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
86428         0.12.1.  These files are now being upgraded automatically by
86429         ../config/srclist-update.
86430
86431 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86432
86433         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86434         Normalize leading white space and remove trailing white space.
86435         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
86436         notice, as per ../config/srclist-update.
86437
86438         Merge from coreutils.
86439         * lib/euidaccess.h: New file.
86440         * lib/euidaccess.c: Include it.
86441         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
86442         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
86443         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
86444
86445 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86446
86447         * config/srclist-update: Add copyright notice.
86448         (remove_id_lines, remove_trailing_blanks): New constants.
86449         (fixfile): Use them to normalize spacing a bit in copied files.
86450         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86451         Normalize leading white space and remove trailing white space.
86452
86453         * config/texinfo.tex: Sync with texinfo.
86454
86455         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
86456         strtoul.c from libc, to merge coreutils whitespace changes.
86457
86458         * config/srclist.txt: Get the following m4 files from gettext:
86459         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
86460         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
86461         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
86462         wint_t.m4.
86463
86464 2003-08-12  Karl Berry  <karl@gnu.org>
86465
86466         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
86467         been made.
86468
86469 2003-08-11  Paul Eggert  <eggert@twinsun.com>
86470
86471         * modules/gnu-source, m4/gnu-source.m4:
86472         Remove; we're assuming Autoconf 2.54 or later now.
86473         Suggested by Bruno Haible.
86474         * MODULES.html.sh (func_all_modules): Remove gnu-source.
86475
86476 2003-08-11  Bruno Haible  <bruno@clisp.org>
86477
86478         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
86479
86480 2003-08-11  Bruno Haible  <bruno@clisp.org>
86481
86482         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
86483         (vasnprintf): Use it instead of wcslen.
86484
86485 2003-08-11  Bruno Haible  <bruno@clisp.org>
86486
86487         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
86488         value to ensure that _Bool promotes to int. Use #define for _Bool when
86489         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
86490
86491 2003-08-10  Karl Berry  <karl@gnu.org>
86492
86493         * lib/regex.h: update from libc (whitespace fix).
86494
86495 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86496
86497         Merge some files from coreutils.  These changes were
86498         originally made by Jim Meyering.
86499         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
86500         many older Unixes require this.
86501         * lib/alloca.c (alloca): Remove cast to argument of free;
86502         no longer needed in C89.
86503         * lib/alloca_.h, regex.h: Fix white space to match
86504         what GNU indent does.
86505
86506 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86507
86508         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
86509         apparently Emacs's Unicode mode got confused before my 2003-08-05
86510         checkin.
86511
86512 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86513
86514         * m4/extensions.m4: New file.
86515         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
86516         Require gl_USE_SYSTEM_EXTENSIONS.
86517         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
86518         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
86519
86520 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86521
86522         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
86523         * modules/extensions, modules/gnu-source: New files.
86524         * modules/timespec, modules/unlocked-io: Depend on extensions.
86525
86526 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86527
86528         * modules/restrict: New file.
86529         * MODULES.html.sh (func_all_modules): Add restrict.
86530         * modules/regex: Depend on restrict.
86531
86532 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86533
86534         * m4/restrict.m4: New file.
86535         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
86536
86537 2003-08-07  Bruno Haible  <bruno@clisp.org>
86538
86539         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
86540         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
86541
86542 2003-08-07  Bruno Haible  <bruno@clisp.org>
86543
86544         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
86545         makes the module 'getndelim2' compatible with the module 'getline'.
86546
86547 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86548
86549         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
86550         byte with "\201" to avoid glitches when editing that source file
86551         with multi-gnome-terminal.
86552
86553 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86554
86555         * lib/bumpalloc.h: Remove.
86556
86557 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86558
86559         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
86560         * modules/bumpalloc: Remove.
86561
86562 2003-08-04  Paul Eggert  <eggert@twinsun.com>
86563
86564         * lib/getloadavg.c: Change copyright notice and spacing to conform to
86565         GNU coding style.
86566
86567         Merge from coreutils.
86568         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
86569         1. From glibc.
86570         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
86571         from Karl Berry, implemented by Jim Meyering.
86572         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
86573         from Dmitry V. Levin.
86574         Remove anachronistic cast of xrealloc.
86575         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
86576         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
86577         type. Otherwise, it wouldn't compile with at least /bin/cc on
86578         ymp-cray-unicos9.0.2.X.
86579         Combine two mostly-identical uses of alloca into one.
86580         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
86581
86582 2003-08-04  Dave Love  <d.love@dl.ac.uk>
86583
86584         [From Emacs.]
86585
86586         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
86587         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
86588         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
86589         obsolete NLIST_NAME_UNION.
86590         [__GNU__]: Undef BSD and FSCALE.
86591         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
86592
86593 2003-08-03  Paul Eggert  <eggert@twinsun.com>
86594
86595         * lib/stdbool_.h (_Bool): Make it signed char, instead of
86596         an enum type, so that it's guaranteed to promote to int.  See:
86597         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
86598
86599 2003-08-03  Karl Berry  <karl@gnu.org>
86600
86601         * config/depcomp: update from automake.
86602
86603 2003-07-31  Paul Eggert  <eggert@twinsun.com>
86604
86605         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
86606         (strerror): Don't assume that a printable int fits in 14 bytes.
86607
86608 2003-07-31  Bruno Haible  <bruno@clisp.org>
86609
86610         * modules/getpass-gnu: New file.
86611         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
86612
86613 2003-07-31  Bruno Haible  <bruno@clisp.org>
86614
86615         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
86616
86617 2003-07-24  Karl Berry  <karl@gnu.org>
86618
86619         * config/missing: update from automake.
86620
86621 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
86622             Bruno Haible  <bruno@clisp.org>
86623
86624         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
86625         * lib/getline.c (getline, getdelim): Likewise.
86626         Remove _GNU_SOURCE define; now it's defined in config.h through
86627         m4/getline.m4.
86628
86629 2003-07-23  Karl Berry  <karl@gnu.org>
86630
86631         * config/config.sub: update from prep.
86632
86633 2003-07-22  Paul Eggert  <eggert@twinsun.com>
86634
86635         * modules/xalloc (Depends-on): Add exitfail.
86636         * modules/xmemcoll: Likewise.
86637
86638 2003-07-22  Paul Eggert  <eggert@twinsun.com>
86639
86640         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
86641         over-parenthesization in macros.
86642
86643         Sync with coreutils.
86644
86645         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
86646         required by C99.
86647
86648         Use `exit_failure' for xalloc and xmemcoll instead of their own
86649         private exit-failure variables.
86650         * lib/xalloc.h (xalloc_exit_failure): Remove.
86651         * lib/xmalloc.c: Likewise.  Include exitfail.h.
86652         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
86653         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
86654         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
86655         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
86656
86657 2003-07-20  Jim Meyering  <jim@meyering.net>
86658
86659         * modules/closeout (Depends-on): Add exitfail.
86660         Suggestion from Bruno Haible.
86661
86662 2003-07-19  Karl Berry  <karl@gnu.org>
86663
86664         * config/config.sub: update from prep.
86665
86666 2003-07-18  Paul Eggert  <eggert@twinsun.com>
86667
86668         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
86669         Remove.
86670         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
86671         to test that it can stand by itself.  Include "exitfail.h".
86672         Clients should set exit_failure instead.
86673         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
86674
86675 2003-07-18  Bruno Haible  <bruno@clisp.org>
86676
86677         * modules/getndelim2: New file.
86678         * modules/getline: Share files with module getndelim2.
86679         * modules/getnline: Depend on getndelim2 instead of sharing files with
86680         it. Add getnline.c to lib_SOURCES.
86681         * MODULES.html.sh (func_all_modules): Add getndelim2.
86682
86683 2003-07-18  Bruno Haible  <bruno@clisp.org>
86684
86685         * m4/getndelim2.m4: New file.
86686         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
86687         invoke gl_PREREQ_GETNDELIM2.
86688         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
86689         gl_PREREQ_GETNDELIM2.
86690         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
86691         gl_GETNDELIM2.
86692
86693 2003-07-18  Bruno Haible  <bruno@clisp.org>
86694
86695         * lib/getndelim2.h: New file.
86696         * lib/getndelim2.c: Make into a module of its own. Include config.h,
86697         getndelim2.h.
86698         (getndelim2): Make non-static. Change return type to ssize_t.
86699         * lib/getline.h: Change argument names.
86700         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
86701         * lib/getnline.c: Include getndelim2.h.
86702
86703 2003-07-18  Andreas Schwab  <schwab@suse.de>
86704
86705         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
86706
86707 2003-07-17  Karl Berry  <karl@gnu.org>
86708
86709         * config/config.sub: update from prep.
86710
86711 2003-07-17  Bruno Haible  <bruno@clisp.org>
86712
86713         * modules/getnline: New file.
86714         * modules/getline: Add lib/getndelim2.c to source file list.
86715         * MODULES.html.sh (func_all_modules): Add getnline.
86716
86717 2003-07-17  Bruno Haible  <bruno@clisp.org>
86718
86719         * m4/getnline.m4: New file.
86720
86721 2003-07-17  Bruno Haible  <bruno@clisp.org>
86722
86723         * m4/Makefile.am.in: Remove file.
86724         * m4/Makefile.am: Remove file.
86725         * m4/Makefile.in: Remove file.
86726
86727 2003-07-17  Bruno Haible  <bruno@clisp.org>
86728
86729         * lib/getnline.h: New file.
86730         * lib/getnline.c: New file.
86731         * lib/getndelim2.c: New file, extracted from getline.c.
86732         (getndelim2): Renamed from getdelim2, with added nmax argument.
86733         * lib/getline.c: Include getndelim2.c.
86734         (getdelim2): Moved out to getndelim2.c.
86735         (getline, getdelim): Update.
86736
86737 2003-07-17  Bruno Haible  <bruno@clisp.org>
86738
86739         * lib/Makefile.am: Remove file.
86740         * lib/Makefile.in: Remove file.
86741
86742 2003-07-17  Bruno Haible  <bruno@clisp.org>
86743
86744         * configure.in: Remove file.
86745         * Makefile.in: Remove file.
86746
86747 2003-07-17  Bruno Haible  <bruno@clisp.org>
86748
86749         * MODULES.html.sh: Put the </BODY> right before </HTML>.
86750
86751 2003-07-16  Karl Berry  <karl@gnu.org>
86752
86753         * config/srclist-update: was running fixlicense twice, which caused
86754                 texinfo.tex to be nullified for some reason.  Simplify,
86755                 $gplsrc is no longer needed as far as I can see?
86756
86757 2003-07-16  Jim Meyering  <jim@meyering.net>
86758
86759         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
86760
86761 2003-07-15  Paul Eggert  <eggert@twinsun.com>
86762
86763         * config/srclist.txt: Get the following files from gettext-runtime/intl
86764         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
86765         ref-del.sin.  From Bruno Haible.
86766         * config/srclist-update (fixfile): Change grep pattern again, since the
86767         previous fix didn't work (there was another trailing $).  Use
86768         '[$]' to escape the $s.
86769
86770 2003-07-15  Karl Berry  <karl@gnu.org>
86771
86772         * lib/vasnprintf.c: update from gettext.
86773
86774 2003-07-15  Karl Berry  <karl@gnu.org>
86775
86776         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
86777         gets expanded when surrounded by '$'.
86778
86779 2003-07-15  Jim Meyering  <jim@meyering.net>
86780
86781         * modules/save-cwd: Don't depend on error.  From Derek Price.
86782
86783 2003-07-15  Jim Meyering  <jim@meyering.net>
86784
86785         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
86786
86787 2003-07-14  Simon Josefsson  <jas@extundo.com>
86788
86789         * modules/mempcpy: New file.
86790         * MODULES.html.sh (func_all_modules): Add mempcpy.
86791
86792 2003-07-14  Simon Josefsson  <jas@extundo.com>
86793
86794         * m4/mempcpy.m4: New file.
86795
86796 2003-07-14  Simon Josefsson  <jas@extundo.com>
86797
86798         * lib/mempcpy.h: New file.
86799         * lib/mempcpy.c: New file.
86800
86801 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86802
86803         * modules/getdate, modules/posixtm: Depend on mktime.
86804
86805 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86806
86807         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
86808         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
86809         unicodeio.c, unicodeio.h, unlocked-io.h:
86810         Switch from LGPL to GPL.
86811
86812 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86813
86814         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
86815         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
86816         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
86817         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
86818         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
86819         updated automatically by ../config/srclist-update.  This changes
86820         their license from LPGL to GPL.
86821
86822 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86823
86824         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
86825         assumed to refer to the root of the most recent stable gettext version.
86826         * config/srclistvars.sh: Add defaults for eggert.
86827         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
86828         Match "This program" as well as "The program".  This is needed
86829         for gettext.
86830
86831 2003-07-14  Jim Meyering  <jim@meyering.net>
86832
86833         Don't emit diagnostics.  Let callers do that.
86834         * lib/save-cwd.c: Don't include "error.h".
86835         (save_cwd): Don't call error.  Ensure that errno is valid
86836         when returning nonzero.
86837
86838         * lib/save-cwd.h (restore_cwd): Update prototype.
86839         * lib/save-cwd.c (restore_cwd): Remove two parameters.
86840         Simplify.  Don't call error upon failure.  Let callers do that.
86841         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
86842         when auditing is enabled.  But don't bother updating the #if.
86843
86844 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
86845
86846         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
86847         it breaks C++ compilation.
86848         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
86849
86850 2003-07-10  Simon Josefsson  <jas@extundo.com>
86851
86852         * modules/strchrnul (Makefile.am): Add strchrnul.h.
86853
86854 2003-07-10  Jim Meyering  <jim@meyering.net>
86855
86856         * m4/clock_time.m4: Remove trailing blank.
86857         * m4/intmax_t.m4: Likewise.
86858
86859 2003-07-10  Jim Meyering  <jim@meyering.net>
86860
86861         * lib/vasnprintf.c: Remove trailing blanks.
86862         Make cpp indentation consistent.
86863
86864 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86865
86866         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
86867         posixver.c, strftime.c, strnlen.c, strverscmp.c:
86868         Switch from LGPL to GPL.
86869
86870 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86871
86872         * config/srclist.txt: Sort sublists.  Add
86873         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
86874         that differ from gnulib for one reason or another; we'd like this list
86875         to be smaller but for now let's document what we have.
86876
86877 2003-07-08  Paul Eggert  <eggert@twinsun.com>
86878
86879         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
86880         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
86881         and sweeter "eval x=$x".
86882         * config/srclist.txt: Get lib/argp* from glibc.
86883
86884 2003-07-07  Paul Eggert  <eggert@twinsun.com>
86885
86886         * lib/mktime.c: Fix some boundary cases and remove need for floating
86887         point.
86888
86889         Issue a compile-time diagnostic if time_t is floating point, or if
86890         two's complement arithmetic is not in effect, or if arithmetic
86891         right shift does not propagate the sign.  These assumptions were
86892         all in the original code but they weren't checked.
86893
86894         (TIME_T_MIDPOINT, verify): New macros.
86895         (__isleap): Remove; it has integer overflow problems.
86896         (leapyear): New function, without those problems.
86897         (ydhms_tm_diff): Remove; splitting into two parts.
86898         (ydhms_diff): New function, containing the arithmetic part of
86899         the old ydhms_tm_diff function.  Issue a compile-time
86900         diagnostic if we are not using C99 integer division.
86901         Avoid casts when possible.
86902         (guess_time_tm): New function, containing the checking part of
86903         the old ydhms_tm_diff function.  Return the new value, rather than
86904         the difference between it and the old.  Accept a new argument T
86905         so that *T specifies the old value.  Check for overflow in the result.
86906
86907         (__mktime_internal): Use a time_t offset, not a long int offset.
86908         This undoes the 2003-06-04 change, which is no longer needed now
86909         that we have better overflow checking.
86910         (localtime_offset): Likewise.
86911
86912         (__mktime_internal): Avoid harmful overflow on hosts where time_t
86913         and long are 64-bit but int is only 32-bit.
86914         (ydhms_diff): Use long int to store year1 and yday1.
86915         Issue a compile-time diagnostic if long int is not wide enough.
86916
86917         (__mktime_internal): Use long int to store adjusted year and yday.
86918         Use plain C rather than preprocessor commands, if that doesn't
86919         affect efficiency.
86920         Check for overflow (and try to repair) after each probe
86921         rather than checking only at the very end.  This avoids some bugs
86922         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
86923         does not equal GMT offset at maximum time).
86924         Use integer to check for overflow rather than floating point; this
86925         is more portable to non-IEEE hosts, and is a tad faster.
86926         When we detect that we are oscillating between two values,
86927         don't check whether tm_isdst has the requested value, since
86928         we already know the answer.  When tm_isdst has the wrong value,
86929         use a different heuristic to find the right one, based on the
86930         extreme values actually observed in practice in tz2003a,
86931         rather than the (overly optimistic) "previous 3 calendar quarters".
86932
86933         (not_equal_tm, print_tm, check_result): Use "const T" rather than
86934         "T const" to accommodate glibc style.
86935         (check_result): Use less-confusing report format.  "long" -> "long int.
86936         (main): Likewise.
86937         Don't loop if the iteration overflows time_t.
86938         Allow a negative step in the iteration.
86939
86940 2003-07-06  Karl Berry  <karl@gnu.org>
86941
86942         * config/depcomp: update from automake.
86943         * config/config.sub: update from prep.
86944
86945 2003-07-03  Karl Berry  <karl@gnu.org>
86946
86947         * config/config.guess: update from prep.
86948
86949 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86950
86951         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
86952         xreadlink.c now includes it unconditionally.
86953
86954 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86955
86956         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
86957         having it depend on HAVE_SYS_TYPES_H.
86958
86959 2003-07-01  Bruno Haible  <bruno@clisp.org>
86960
86961         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
86962         <sys/types.h> should be sufficient.
86963         Reported by Paul Eggert.
86964
86965 2003-06-26  Karl Berry  <karl@gnu.org>
86966
86967         * config/depcomp: update from automake.
86968
86969 2003-06-26  Bruno Haible  <bruno@clisp.org>
86970
86971         * modules/human: Depend on module stdbool.
86972
86973 2003-06-25  Bruno Haible  <bruno@clisp.org>
86974
86975         * modules/readlink: New file.
86976         * modules/xreadlink: Depend on it.
86977         * MODULES.html.sh (func_all_modules): Add readlink.
86978
86979 2003-06-25  Bruno Haible  <bruno@clisp.org>
86980
86981         * m4/readlink.m4: New file.
86982
86983 2003-06-25  Bruno Haible  <bruno@clisp.org>
86984
86985         * lib/readlink.c: New file.
86986
86987 2003-06-22  Karl Berry  <karl@gnu.org>
86988
86989         * config/srclist.txt: update mkinstalldirs from automake.
86990         * config/mkinstalldirs: update.
86991
86992 2003-06-22  Bruno Haible  <bruno@clisp.org>
86993
86994         Portability to mingw32.
86995         * m4/ssize_t.m4: New file, from GNU gettext.
86996         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
86997         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
86998
86999 2003-06-22  Bruno Haible  <bruno@clisp.org>
87000
87001         * modules/safe-read: Add m4/ssize_t.m4.
87002         * modules/xreadlink: Add m4/ssize_t.m4.
87003
87004 2003-06-20  Bruno Haible  <bruno@clisp.org>
87005
87006         Assume C89, so PARAMS isn't needed.
87007         * lib/unicodeio.h (PARAMS): Remove.
87008         * lib/unicodeio.c: Don't use PARAMS.
87009
87010 2003-06-18  Karl Berry  <karl@gnu.org>
87011
87012         * config/config.{guess,sub}: update from prep.
87013
87014 2003-06-18  Jim Meyering  <jim@meyering.net>
87015
87016         Merge changes from coreutils.
87017         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87018         Remove explicit declarations of xmalloc and realloc.
87019         Include xalloc.h.
87020         (read_utmp): Remove anachronistic cast of xmalloc.
87021
87022 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87023
87024         Assume C89, so PARAMS isn't needed.
87025         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87026         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87027         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87028         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87029         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87030         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87031         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87032         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87033         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87034         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87035         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87036         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87037         no longer needed. Anyway, config.h should always be included before any
87038         other file.
87039
87040 2003-06-11  Simon Josefsson  <jas@extundo.com>
87041
87042         * modules/sysexits: New file.
87043         * MODULES.html.sh (func_all_modules): Add sysexits.
87044
87045 2003-06-11  Simon Josefsson  <jas@extundo.com>
87046
87047         * lib/sysexit_.h: New file.
87048
87049 2003-06-11  Derek Price  <derek@ximbiot.com>
87050
87051         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87052         necessary.
87053
87054 2003-06-11  Bruno Haible  <bruno@clisp.org>
87055
87056         * m4/sysexits.m4: New file.
87057
87058 2003-06-10  Simon Josefsson  <jas@extundo.com>
87059
87060         * lib/argp.h: New file, from glibc.
87061         * lib/argp-ba.c: New file, from glibc.
87062         * lib/argp-eexst.c: New file, from glibc.
87063         * lib/argp-fmtstream.c: New file, from glibc.
87064         * lib/argp-fmtstream.h: New file, from glibc.
87065         * lib/argp-fs-xinl.c: New file, from glibc.
87066         * lib/argp-help.c: New file, from glibc.
87067         * lib/argp-namefrob.h: New file, from glibc.
87068         * lib/argp-parse.c: New file, from glibc.
87069         * lib/argp-pv.c: New file, from glibc.
87070         * lib/argp-pvh.c: New file, from glibc.
87071         * lib/argp-xinl.c: New file, from glibc.
87072
87073 2003-06-10  Simon Josefsson  <jas@extundo.com>
87074
87075         * modules/strchrnul: New file.
87076
87077 2003-06-10  Simon Josefsson  <jas@extundo.com>
87078
87079         * modules/argp: New file.
87080
87081 2003-06-10  Simon Josefsson  <jas@extundo.com>
87082
87083         * m4/strchrnul.m4: New file.
87084
87085 2003-06-10  Simon Josefsson  <jas@extundo.com>
87086
87087         * lib/strchrnul.h: New file.
87088         * lib/strchrnul.c: New file.
87089
87090 2003-06-10  Bruno Haible  <bruno@clisp.org>
87091
87092         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87093
87094 2003-06-07  Karl Berry  <karl@gnu.org>
87095
87096         * config/config.{guess,sub}: update from prep.
87097
87098 2003-06-07  Jim Meyering  <jim@meyering.net>
87099
87100         * modules/strtod: Use $(...) notation, not @...@ for
87101         AC_REPLACE'd variables.
87102         * modules/localcharset: Likewise.
87103
87104 2003-06-07  Jim Meyering  <jim@meyering.net>
87105
87106         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87107         in place of my name in the copyright comment.
87108         Remove definition and uses of __P.
87109
87110         From coreutils.
87111         * lib/stat.c: Don't declare xmalloc explicitly.
87112         Instead, include "xalloc.h".
87113         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87114         xrealloc, and xcalloc return values.
87115         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87116         Improve comment.
87117         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87118
87119 2003-06-07  Bruno Haible  <bruno@clisp.org>
87120
87121         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87122         avoid AC_CONFIG_LINKS.
87123         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87124         fnmatch.h, to avoid AC_CONFIG_LINKS.
87125         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87126
87127 2003-06-07  Bruno Haible  <bruno@clisp.org>
87128
87129         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87130         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87131         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87132         directory.
87133         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87134         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87135         directory.
87136
87137 2003-06-06  Jim Meyering  <jim@meyering.net>
87138
87139         Merge from coreutils.
87140         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87141         Consolidate declarations and initializations of *_base* locals.
87142
87143         Merge from coreutils.
87144         This avoids a core dump on systems without GNU putenv,
87145         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87146         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87147         (unsetenv): New static function, from GNU libc.
87148         (rpl_putenv): Use it.
87149
87150         * lib/modechange.c: Remove trailing blanks.
87151
87152         Merge from coreutils.
87153         * lib/fsusage.c: Remove declaration of statfs.
87154         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
87155
87156         * lib/posixtm.c: Include <stdbool.h> unconditionally.
87157
87158 2003-06-06  Jim Meyering  <jim@meyering.net>
87159
87160         * lib/stdbool_.h: Renamed from stdbool.h.in.
87161
87162 2003-06-06  Jim Meyering  <jim@meyering.net>
87163             Bruno Haible  <bruno@clisp.org>
87164
87165         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
87166         Adjust Makefile.am snippet not to redirect directly to target.
87167         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
87168
87169 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87170
87171         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87172         mismatch, look in future quarters as well as past.  This fixes a
87173         bug when processing fall-backwards gaps immediately after a long
87174         period of daylight-saving time.
87175
87176         * lib/mktime.c: Assume freestanding C89 or better.
87177         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87178         (__P): Remove; not used.
87179         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87180         (mktime, not_equal_tm, print_tm, check_result,
87181         main): Use prototypes.  Use const * where appropriate.
87182         (main): Fix typo in testing code that uncovered by above changes.
87183         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87184
87185 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87186
87187         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
87188         locale.h, localeconv.  This merges changes from coreutils.
87189
87190         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
87191         It can be removed after the next Autoconf is released.
87192         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
87193         needed.
87194
87195 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87196
87197         * lib/mktime.c: Fix Debian bug 177940
87198         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
87199         (localtime_offset): Now long int, not time_t, because we want it
87200         to be guaranteed to be signed.  All uses changed.
87201         (__mktime_internal): If overflow would occur when adding offset,
87202         don't add it.
87203
87204         Merge 'human' changes from coreutils.  Rewrite to support
87205         locale-specific notations like thousands separators.
87206         * lib/human.c: Simplify authorship notice.
87207         Include human.h immediately after config.h.
87208         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
87209         <limits.h>: Do not include, since human.h does.
87210         (SIZE_MAX, UINTMAX_MAX): New macros.
87211         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
87212         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
87213         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
87214         (power_letter): Renamed from suffixes.
87215         (generate_suffix_backwards): Remove.
87216         (adjust_value): Now takes int style (because of human.h changes)
87217         and long double value (for greater precision on some platforms).
87218         (group_number): New function.
87219         (human_readable): Use it.  Use integer options, not enum.
87220         Put the options before the sizes in the arg list.
87221         Support all the new options.
87222         The old human_readable function has been removed;
87223         use inttostr.h instead.
87224         (human_readable, default_block_size, humblock):
87225         Use uintmax_t, not int, for block sizes.
87226         (human_readable_inexact, block_size_types): Remove.
87227         (block_size_opts): New constant.
87228         (human_options): Renamed from human_block_size, with new signature
87229         that allows block sizes up to UINTMAX_MAX.  All callers changed.
87230         * lib/human.h: Add copyright and authorship notice.
87231         Include <limits.h> and <stdbool.h> unconditionally.
87232         (PARAMS): Remove.  All uses removed.
87233         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
87234         (enum human_inexact_style): Remove tag; now a nameless enum.
87235         (human_floor, human_ceiling, human_round_to_even): Now have
87236         values 2, 0, 1 rather than -1, 1, 0.
87237         (human_group_digits, human_suppress_point_zero, human_autoscale,
87238         human_base_1024, human_SI, human_B): New constants.
87239         (human_readable_inexact, human_block_size): Remove.
87240         (human_readable): Size args are now uintmax_t, not int.
87241         (human_options): New decl.
87242
87243         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
87244         unnecessary now that we assume C89 or better.  This change
87245         imported from coreutils.
87246
87247         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87248         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
87249         in the 2003-05-30 sync from glibc.
87250
87251         .h files should stand alone, but we shouldn't include <sys/types.h>
87252         if we can get away with just <stddef.h>.
87253
87254         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
87255         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
87256         rather than <sys/types.h>, as we merely need size_t.
87257         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
87258         to get size_t.
87259         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
87260         Include <stdio.h>, to get FILE.
87261         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
87262         memcasecmp.h has included <stddef.h> and all we need is size_t.
87263         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
87264         our interface, instead of including <sys/types.h>
87265
87266 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87267
87268         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
87269         now, as glibc mktime is buggy on non-glibc systems.
87270
87271 2003-06-03  Karl Berry  <karl@gnu.org>
87272
87273         * config/config.sub: update from prep.
87274
87275 2003-06-02  Paul Eggert  <eggert@twinsun.com>
87276
87277         [from coreutils]
87278         Fix some minor time-related bugs with POSIX time arguments.
87279         Some valid time stamps were being rejected (notably -1, and
87280         time stamps before 1900 on 64-bit hosts).  And some invalid
87281         time stamps were being accepted, e.g. September 31.
87282
87283         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
87284         that we can return (time_t) -1 successfully.
87285         * lib/posixtm.c: Likewise.
87286         [HAVE_STDBOOL_H]: Include <stdbool.h>.
87287         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
87288         (t): Remove static var.
87289         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
87290         of static var.  All uses changed.
87291         (year): Do not reject years before 1900; they can occur with
87292         64-bit time_t.
87293         (posix_time_parse): Do not check for out-of-range components;
87294         that is now the caller's responsibility, since our checks were
87295         only approximations.
87296         (posixtime): Use mktime to check for out-of-range components,
87297         since it knows them exactly.
87298         If mktime returns (time_t) -1, check whether an error actually occurred
87299         by invoking localtime on -1.
87300         (main) [TEST_POSIXTIME]: Check for input data errors, and report
87301         posixtime failures better.
87302         Improve the test data (in comments only).
87303
87304 2003-06-02  Karl Berry  <karl@gnu.org>
87305
87306         * config/mkinstalldirs (version): new variable.
87307         (--version): new option.
87308         (usage): improve message.
87309
87310 2003-05-30  Karl Berry  <karl@gnu.org>
87311
87312         * lib/mktime.c: update from libc.
87313
87314 2003-05-30  Bruno Haible  <bruno@clisp.org>
87315
87316         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
87317         * config/config.rpath: Upgrade to gettext-0.12.1.
87318
87319 2003-05-30  Bruno Haible  <bruno@clisp.org>
87320
87321         * m4/gettext.m4: Upgrade to gettext-0.12.1.
87322         * m4/nls.m4: New file, from gettext-0.12.1.
87323         * m4/po.m4: New file, from gettext-0.12.1.
87324         * m4/progtest.m4: Upgrade to gettext-0.12.1.
87325
87326 2003-05-30  Bruno Haible  <bruno@clisp.org>
87327
87328         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
87329         * lib/localcharset.h: Likewise.
87330         * lib/localcharset.c: Likewise.
87331
87332 2003-05-29  Karl Berry  <karl@gnu.org>
87333
87334         * config/config.rpath: update from gettext.
87335
87336 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87337
87338         Assume the headers required for C89 freestanding compilers.
87339         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
87340         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
87341         * m4/human.m4 (gl_HUMAN): Likewise.
87342         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
87343         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
87344         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87345         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
87346         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87347         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
87348
87349 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87350
87351         Assume the headers required for C89 freestanding compilers.
87352         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
87353         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
87354         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
87355         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
87356         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
87357         define, since <limits.h> is guaranteed to do that.
87358         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
87359         * lib/exclude.c: Include <stdbool.h> unconditionally.
87360         * lib/tempname.c: Include <stddef.h> unconditionally.
87361         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
87362         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
87363         <stddef.h> does that.
87364         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
87365         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
87366         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
87367         needed.
87368         * lib/xstrtol.c: Likewise.
87369         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
87370         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
87371
87372         * lib/addext.c (addext): Use assignment rather than cast, to avoid
87373         warnings on some platforms.
87374
87375         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87376         arbitrarily.
87377
87378 2003-05-26  Jim Meyering  <jim@meyering.net>
87379
87380         Merge in a change from coreutils:
87381         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
87382         that is guaranteed to be `no'.  Use `no_such_member' to indicate
87383         that condition, rather than `-1' which is slightly misleading.
87384         Change the name of the cache variable to have the gl_ prefix.
87385         Prompted by a patch from Richard Dawe for DJGPP.
87386
87387 2003-05-24  Karl Berry  <karl@gnu.org>
87388
87389         * config/config.guess: update from prep.
87390
87391 2003-05-22  Karl Berry  <karl@gnu.org>
87392
87393         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
87394
87395 2003-05-20  Karl Berry  <karl@gnu.org>
87396
87397         * config/config.guess: update from prep.
87398
87399 2003-05-18  Karl Berry  <karl@gnu.org>
87400
87401         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
87402         might actually be set by the user.
87403
87404         * config/depcomp, install-sh, mdate-sh: update from automake.
87405
87406 2003-05-17  Bruno Haible  <bruno@clisp.org>
87407
87408         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
87409         invalid expansion for AC_EGREP_CPP.
87410         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
87411         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
87412         Suggested by Akim Demaille <akim@epita.fr> in
87413         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
87414
87415 2003-05-12  Jim Meyering  <jim@meyering.net>
87416
87417         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
87418         the space-padded-by-default conversion specifiers, %e, %k, %l.
87419
87420 2003-05-12  Bruno Haible  <bruno@clisp.org>
87421
87422         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
87423         the string is longer than 4 KB.
87424
87425 2003-05-11  Karl Berry  <karl@gnu.org>
87426
87427         * config/config.{guess,sub}: update from prep.
87428
87429 2003-05-09  Bruno Haible  <bruno@clisp.org>
87430
87431         * modules/error: Add m4/strerror_r.m4 to file list.
87432
87433 2003-05-03  Bruno Haible  <bruno@clisp.org>
87434
87435         Upgrade to Unicode-4.0.
87436         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
87437         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
87438         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
87439         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
87440         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
87441         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
87442         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
87443         Change width of U+E0100..U+E01EF from 1 to 0.
87444
87445 2003-04-25  Jim Meyering  <jim@meyering.net>
87446
87447         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
87448         of type size_t, not int.
87449
87450 2003-04-25  Bruno Haible  <bruno@clisp.org>
87451
87452         * lib/copy-file.c: Include <stddef.h>, for size_t.
87453
87454 2003-04-21  Paul Eggert  <eggert@twinsun.com>
87455
87456         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
87457         code which expansion is under static control.  Patch imported from
87458         Akim Demaille's patch to Bison; see
87459         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
87460
87461 2003-04-14  Bruno Haible  <bruno@clisp.org>
87462
87463         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
87464
87465 2003-04-11  Jim Meyering  <jim@meyering.net>
87466
87467         Merge changes from Coreutils.
87468
87469         2003-03-22  Jim Meyering  <jim@meyering.net>
87470
87471         * lib/strftime.c (widen): Cast alloca return value to proper type.
87472
87473         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
87474
87475         From GNU libc.
87476         * lib/strftime.c (my_strftime): Handle very large width
87477         specifications for numeric values correctly.  Improve checks for
87478         overflow.
87479
87480         2003-01-19  Jim Meyering  <jim@meyering.net>
87481
87482         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
87483         definitions.
87484         (nl_get_alt_digit) [! defined my_strftime]: Define.
87485         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
87486         _nl_get_alt_digit and _nl_get_walt_digit.
87487
87488         * lib/strftime.c (my_strftime): Merge in locale-related changes from
87489         libc. These changes have no effect outside of _LIBC.
87490
87491 2003-04-10  Bruno Haible  <bruno@clisp.org>
87492
87493         * modules/findprog: New file.
87494         * MODULES.html.sh (func_all_modules): Add it.
87495
87496 2003-04-10  Bruno Haible  <bruno@clisp.org>
87497
87498         * m4/findprog.m4: New file.
87499         * m4/eaccess.m4: New file.
87500
87501 2003-04-10  Bruno Haible  <bruno@clisp.org>
87502
87503         * lib/findprog.h: New file, from GNU gettext.
87504         * lib/findprog.c: New file, from GNU gettext.
87505
87506 2003-04-05  Jim Meyering  <jim@meyering.net>
87507
87508         Merge changes from Coreutils.
87509
87510         * lib/exclude.h (PARAMS): Remove definition and uses.
87511         * lib/exclude.c: Remove uses of `PARAMS'.
87512
87513         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
87514         Add test-cases for DOS filenames. Declare program_name.
87515         (main): Set up program_name.  Patch by Rich Dawe.
87516
87517         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87518         error from mntctl.
87519         Use mntctl's return value to drive the entry-processing loop, since
87520         we can't rely on the value of the vmt_length member in the last
87521         entry.  On some systems doing so could result in exhausting
87522         virtual memory.  Based in part on a patch from Mike Jetzer.
87523
87524 2003-04-04  Bruno Haible  <bruno@clisp.org>
87525
87526         * modules/linebreak: New file.
87527         * MODULES.html.sh (func_all_modules): Add it.
87528
87529 2003-04-04  Bruno Haible  <bruno@clisp.org>
87530
87531         * m4/linebreak.m4: New file.
87532
87533 2003-04-04  Bruno Haible  <bruno@clisp.org>
87534
87535         * lib/linebreak.h: New file, from GNU gettext.
87536         * lib/linebreak.c: New file, from GNU gettext with slight
87537         modifications.
87538         * lib/lbrkprop.h: New file, from GNU gettext.
87539
87540 2003-04-03  Bruno Haible  <bruno@clisp.org>
87541
87542         * modules/utf8-ucs4: New file.
87543         * modules/utf16-ucs4: New file.
87544         * modules/ucs4-utf8: New file.
87545         * modules/ucs4-utf16: New file.
87546         * MODULES.html.sh (func_all_modules): Add them.
87547
87548 2003-04-03  Bruno Haible  <bruno@clisp.org>
87549
87550         * m4/utf-ucs4.m4: New file.
87551         * m4/ucs4-utf.m4: New file.
87552
87553 2003-04-03  Bruno Haible  <bruno@clisp.org>
87554
87555         * lib/utf8-ucs4.h: New file, from GNU gettext.
87556         * lib/utf16-ucs4.h: New file, from GNU gettext.
87557         * lib/ucs4-utf8.h: New file, from GNU gettext.
87558         * lib/ucs4-utf16.h: New file, from GNU gettext.
87559
87560 2003-04-02  Bruno Haible  <bruno@clisp.org>
87561
87562         * modules/binary-io: New file.
87563         * MODULES.html.sh (func_all_modules): Add it.
87564
87565 2003-04-02  Bruno Haible  <bruno@clisp.org>
87566
87567         * lib/binary-io.h: New file, from GNU gettext.
87568
87569 2003-04-01  Bruno Haible  <bruno@clisp.org>
87570
87571         * modules/pathname: New file.
87572         * MODULES.html.sh (func_all_modules): Add it.
87573
87574 2003-04-01  Bruno Haible  <bruno@clisp.org>
87575
87576         * lib/pathname.h: New file, from GNU gettext.
87577         * lib/concatpath.c: New file, from GNU gettext.
87578
87579 2003-03-30  Bruno Haible  <bruno@clisp.org>
87580
87581         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
87582
87583 2003-03-30  Bruno Haible  <bruno@clisp.org>
87584
87585         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
87586         function chown() doesn't exist.
87587
87588 2003-03-28  Bruno Haible  <bruno@clisp.org>
87589
87590         * modules/copy-file: New file.
87591         * MODULES.html.sh (func_all_modules): Add it.
87592
87593 2003-03-28  Bruno Haible  <bruno@clisp.org>
87594
87595         * m4/copy-file.m4: New file.
87596
87597 2003-03-28  Bruno Haible  <bruno@clisp.org>
87598
87599         * lib/copy-file.h: New file, from GNU gettext.
87600         * lib/copy-file.c: New file, from GNU gettext.
87601
87602 2003-03-18  Jim Meyering  <jim@meyering.net>
87603
87604         * lib/quote.c (quote_n): Fix typo in comment.
87605
87606 2003-03-18  Bruno Haible  <bruno@clisp.org>
87607
87608         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
87609         checking.
87610         * m4/onceonly_2_57.m4: Likewise.
87611
87612 2003-03-17  Bruno Haible  <bruno@clisp.org>
87613
87614         * m4/onceonly.m4: Require autoconf 2.54 or newer.
87615         (m4_quote): Remove macro.
87616         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
87617
87618 2003-03-14  Jim Meyering  <jim@meyering.net>
87619
87620         Merge changes from Coreutils.
87621         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
87622         to be const, in order to avoid warnings.
87623         (obstack_room): Likewise.
87624         (obstack_empty_p): Likewise.
87625
87626 2003-03-14  Bruno Haible  <bruno@clisp.org>
87627
87628         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
87629         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
87630
87631 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87632
87633         Merge changes from Bison.
87634         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
87635         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
87636         when compiling Bison 1.875's `bitset bset = obstack_alloc
87637         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
87638         * lib/hash.c: Include <stdbool.h> unconditionally.
87639
87640 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87641
87642         * m4/onceonly.m4 (m4_quote): New macro.
87643         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
87644         Quote AC_FOREACH variable-expansions properly.
87645
87646 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87647
87648         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
87649
87650 2003-03-09  Paul Eggert  <eggert@twinsun.com>
87651
87652         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
87653         Reported by Bruce Becker; see:
87654         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
87655
87656 2003-03-03  Paul Eggert  <eggert@twinsun.com>
87657             Bruno Haible  <bruno@clisp.org>
87658
87659         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
87660         Reported by John Hughes, see
87661         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
87662
87663 2003-02-20  Bruno Haible  <bruno@clisp.org>
87664
87665         * MODULES.html.sh (func_all_modules): Add poll.
87666
87667 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87668
87669         * modules/poll: New file.
87670
87671 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87672
87673         * lib/poll_.h: New file.
87674         * lib/poll.c: New file.
87675
87676 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87677
87678         * m4/poll.m4: New file.
87679
87680 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87681
87682         * modules/mathl: New file.
87683
87684 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87685
87686         * lib/mathl.h: New file.
87687         * lib/acosl.c: New file.
87688         * lib/asinl.c: New file.
87689         * lib/atanl.c: New file.
87690         * lib/ceill.c: New file.
87691         * lib/cosl.c: New file.
87692         * lib/expl.c: New file.
87693         * lib/floorl.c: New file.
87694         * lib/frexpl.c: New file.
87695         * lib/ldexpl.c: New file.
87696         * lib/logl.c: New file.
87697         * lib/sincosl.c: New file.
87698         * lib/sinl.c: New file.
87699         * lib/sqrtl.c: New file.
87700         * lib/tanl.c: New file.
87701         * lib/trigl.c: New file.
87702         * lib/trigl.h: New file.
87703
87704 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87705
87706         * m4/mathl.m4: New file.
87707
87708 2003-02-18  Bruno Haible  <bruno@clisp.org>
87709
87710         * MODULES.html.sh (func_all_modules): Add mathl.
87711
87712 2003-02-17  Bruno Haible  <bruno@clisp.org>
87713
87714         * modules/mkdtemp: New module.
87715         * MODULES.html.sh (func_all_modules): Add it.
87716
87717 2003-02-17  Bruno Haible  <bruno@clisp.org>
87718
87719         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
87720
87721 2003-02-17  Bruno Haible  <bruno@clisp.org>
87722
87723         * lib/mkdtemp.h: New file, from GNU gettext.
87724         * lib/mkdtemp.c: New file, from GNU gettext.
87725
87726 2003-02-02  Jim Meyering  <jim@meyering.net>
87727
87728         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
87729         e.g. glibc-2.2.93.
87730
87731 2003-01-31  Bruno Haible  <bruno@clisp.org>
87732
87733         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
87734         'rpl_rename'.
87735         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
87736         'rpl_strnlen'.
87737         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
87738         'rpl_strtod'.
87739         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
87740         'rpl_utime'.
87741
87742 2003-01-31  Bruno Haible  <bruno@clisp.org>
87743
87744         * lib/rename.c: #undef rename before defining rpl_rename.
87745         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
87746
87747 2003-01-30  Bruno Haible  <bruno@clisp.org>
87748
87749         * modules/vasnprintf, modules/vasprintf: New modules.
87750         * MODULES.html.sh (func_all_modules): Add them.
87751
87752 2003-01-30  Bruno Haible  <bruno@clisp.org>
87753
87754         * m4/signed.m4: New file, from GNU gettext.
87755         * m4/longdouble.m4: New file, from GNU gettext.
87756         * m4/wchar_t.m4: New file, from GNU gettext.
87757         * m4/wint_t.m4: New file, from GNU gettext.
87758         * m4/vasnprintf.m4: New file.
87759         * m4/vasprintf.m4: New file.
87760
87761 2003-01-30  Bruno Haible  <bruno@clisp.org>
87762
87763         * lib/printf-args.h: New file, from GNU gettext.
87764         * lib/printf-args.c: New file, from GNU gettext.
87765         * lib/printf-parse.h: New file, from GNU gettext.
87766         * lib/printf-parse.c: New file, from GNU gettext.
87767         * lib/vasnprintf.h: New file, from GNU gettext.
87768         * lib/vasnprintf.c: New file, from GNU gettext.
87769         * lib/asnprintf.c: New file, from GNU gettext.
87770         * lib/vasprintf.h: New file, from GNU gettext with modifications.
87771         * lib/vasprintf.c: New file, from GNU gettext.
87772         * lib/asprintf.c: New file, from GNU gettext.
87773
87774 2003-01-29  Bruno Haible  <bruno@clisp.org>
87775
87776         * modules/stpncpy: New module.
87777         * MODULES.html.sh (func_all_modules): Add it.
87778
87779 2003-01-29  Bruno Haible  <bruno@clisp.org>
87780
87781         * m4/stpncpy.m4: New file.
87782
87783 2003-01-29  Bruno Haible  <bruno@clisp.org>
87784
87785         * lib/stpncpy.h: New file, from GNU gettext with modifications.
87786         * lib/stpncpy.c: New file, from GNU gettext with modifications.
87787
87788 2003-01-28  Bruno Haible  <bruno@clisp.org>
87789
87790         * modules/c-ctype: New module.
87791         * MODULES.html.sh (func_all_modules): Add it.
87792
87793 2003-01-28  Bruno Haible  <bruno@clisp.org>
87794
87795         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
87796         Paul Eggert.
87797         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
87798         Paul Eggert.
87799
87800 2003-01-27  Bruno Haible  <bruno@clisp.org>
87801
87802         * modules/xsetenv: New module.
87803         * MODULES.html.sh (func_all_modules): Add it.
87804
87805 2003-01-27  Bruno Haible  <bruno@clisp.org>
87806
87807         * lib/xsetenv.h: New file, from GNU gettext.
87808         * lib/xsetenv.c: New file, from GNU gettext.
87809
87810 2003-01-23  Jim Meyering  <jim@meyering.net>
87811
87812         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
87813         from working on systems without dirfd (at least Irix and OSF1/Tru64).
87814
87815 2003-01-23  Bruno Haible  <bruno@clisp.org>
87816
87817         * modules/minmax: New module.
87818         * MODULES.html.sh (func_all_modules): Add it.
87819
87820 2003-01-23  Bruno Haible  <bruno@clisp.org>
87821
87822         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
87823         Eggert.
87824
87825 2003-01-22  Bruno Haible  <bruno@clisp.org>
87826
87827         * modules/exit: New module.
87828         * MODULES.html.sh (func_all_modules): Add it.
87829
87830 2003-01-22  Bruno Haible  <bruno@clisp.org>
87831
87832         * lib/exit.h: New file, from GNU gettext.
87833
87834 2003-01-19  Bruno Haible  <bruno@clisp.org>
87835
87836         * gnulib-tool: Recognize option --extract-maintainer.
87837         (func_get_maintainer): New function.
87838         * modules/*: Add Maintainer entry.
87839
87840 2003-01-16  Jim Meyering  <jim@meyering.net>
87841
87842         * m4/regex.m4: The `regex' struct is both input and output.
87843         Initialize it before each use.  Patch by Tim Waugh.
87844
87845 2003-01-16  Bruno Haible  <bruno@clisp.org>
87846
87847         * MODULES.html.sh: Add a table of contents. Add the module name as
87848         leftmost column. Add hyperlinks.
87849
87850 2003-01-15  Bruno Haible  <bruno@clisp.org>
87851
87852         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
87853
87854 2003-01-15  Bruno Haible  <bruno@clisp.org>
87855
87856         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
87857         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
87858         suffix.
87859
87860 2003-01-15  Bruno Haible  <bruno@clisp.org>
87861
87862         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
87863
87864 2003-01-15  Bruno Haible  <bruno@clisp.org>
87865
87866         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
87867         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
87868
87869 2003-01-14  Jim Meyering  <jim@meyering.net>
87870
87871         * lib/same.c (same_name): Tweak a comment.
87872
87873 2003-01-14  Bruno Haible  <bruno@clisp.org>
87874
87875         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
87876         when a string comparison is sufficient.
87877
87878 2003-01-14  Bruno Haible  <bruno@clisp.org>
87879
87880         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
87881         'unsigned int'.
87882
87883 2003-01-14  Bruno Haible  <bruno@clisp.org>
87884
87885         * lib/hash-pjw.c: Add comment about low quality of this function.
87886
87887 2003-01-13  Bruno Haible  <bruno@clisp.org>
87888
87889         * modules/stpcpy: Distribute lib/stpcpy.h.
87890         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
87891
87892 2003-01-13  Bruno Haible  <bruno@clisp.org>
87893
87894         * modules/*: Add a description.
87895         * modules/strpbrk: Fix Makefile.am snippet.
87896         * modules/strtoimax: Fix dependencies.
87897         * modules/strtoumax: Likewise.
87898
87899 2003-01-13  Bruno Haible  <bruno@clisp.org>
87900
87901         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
87902         * modules/alloca (Makefile.am): All object files depend on alloca.h.
87903         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
87904
87905 2003-01-13  Bruno Haible  <bruno@clisp.org>
87906
87907         * gnulib-tool (func_create_testdir): Store config/* files in the main
87908         directory.
87909         * config.rpath: Move to ...
87910         * config/config.rpath: ... here.
87911         * modules/gettext: Contains config/config.rpath, not config.rpath.
87912         * modules/iconv: Likewise.
87913
87914 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87915
87916         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87917         to avoid collisions with libcurses and libreadline.
87918
87919         * m4/getstr.m4: Remove.
87920         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
87921
87922 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87923
87924         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87925         to avoid collisions with libcurses and libreadline.
87926
87927         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
87928         * lib/getstr.h, getstr.c: Remove.
87929         * lib/getline.c: Include "getline.h", to check interface.
87930         Move body of old getstr.c here: this defines MIN_CHUNK and
87931         declares getdelim2, which is renamed from getstr.
87932         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
87933
87934         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
87935         All uses changed.
87936         * lib/linebuffer.h: Likewise.
87937         (readline): Remove backward-compatibility macro.
87938
87939 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87940
87941         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87942         to avoid collisions with libcurses and libreadline.
87943         * getstr: Remove.
87944         * MODULES.html.sh: Remove getstr.
87945         * modules/getline: Depend on unlocked-io, not getstr.
87946
87947 2003-01-12  Jim Meyering  <jim@meyering.net>
87948
87949         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
87950
87951 2003-01-10  Bruno Haible  <bruno@clisp.org>
87952
87953         * modules/alloca: Change Makefile.am requirements. Simplify Include
87954         requirements. Add lib/alloca_.h to file list.
87955
87956 2003-01-10  Bruno Haible  <bruno@clisp.org>
87957
87958         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
87959
87960 2003-01-10  Bruno Haible  <bruno@clisp.org>
87961
87962         * lib/alloca_.h: New file.
87963         * lib/getdate.y: Unconditionally include alloca.h.
87964         * lib/makepath.c: Likewise.
87965         * lib/setenv.c: Likewise.
87966         * lib/userspec.c: Likewise.
87967
87968 2003-01-09  Karl Berry  <karl@gnu.org>
87969
87970         * MODULES.html.sh: include `dirname $0` in PATH, to find
87971         gnulib-tool.
87972
87973 2003-01-09  Bruno Haible  <bruno@clisp.org>
87974
87975         * modules/stdbool: Change configure.ac, Makefile.am requirements.
87976         Simplify Include requirements. Add lib/stdbool.h.in to file list.
87977
87978 2003-01-09  Bruno Haible  <bruno@clisp.org>
87979
87980         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
87981
87982 2003-01-09  Bruno Haible  <bruno@clisp.org>
87983
87984         * lib/stdbool.h.in: New file.
87985
87986 2003-01-09  Bruno Haible  <bruno@clisp.org>
87987
87988         * gnulib-tool (func_all_modules): Ignore files ending in ~.
87989         * MODULES.html.sh: Likewise.
87990
87991 2003-01-08  Jim Meyering  <jim@meyering.net>
87992
87993         * lib/full-write.c: Undefine and define-away `const' after inclusion
87994         of errno.h, not before.  Suggestion from Bruno Haible.
87995
87996 2003-01-08  Bruno Haible  <bruno@clisp.org>
87997
87998         * modules/full-read: Depend on full-write.
87999
88000 2003-01-08  Bruno Haible  <bruno@clisp.org>
88001
88002         * lib/safe-read.c: Include specification header first, to ensure its
88003         selfcontainedness.
88004         * lib/full-write.c: Likewise.
88005
88006 2003-01-07  Jim Meyering  <jim@meyering.net>
88007
88008         * lib/full-write.c: Rework so that it may serve to define full_read,
88009         too.
88010         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88011
88012 2003-01-07  Bruno Haible  <bruno@clisp.org>
88013
88014         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88015         <inttypes.h>.
88016         * lib/xstrtol.h: Likewise.
88017         * lib/xstrtoimax.c: Likewise.
88018         * lib/xstrtoumax.c: Likewise.
88019         * lib/human.h: Likewise.
88020
88021         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88022         on systems that have <inttypes.h> but not <stdint.h>.
88023
88024 2003-01-07  Bruno Haible  <bruno@clisp.org>
88025
88026         * MODULES.html.sh: Add copyright notice.
88027         (missed_files): Omit CVS directory entries.
88028         (func_module): Make it work with sed-3.02.
88029         * MODULES.txt: Remove file.
88030
88031 2003-01-06  Jim Meyering  <jim@meyering.net>
88032
88033         * lib/version-etc.c: Update year in translatable copyright string.
88034
88035 2003-01-03  Karl Berry  <karl@gnu.org>
88036
88037         * config/config.{guess,sub}: update from prep.
88038
88039 2003-01-02  Karl Berry  <karl@gnu.org>
88040
88041         * doc/COPYING.DOC: belatedly updated to 1.2.
88042
88043 2003-01-01  Karl Berry  <karl@gnu.org>
88044
88045         * gnulib-tool (func_verify_module): report module name $module in
88046         error message, not $1.
88047         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88048         be created, only if it doesn't exist.
88049         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88050
88051 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88052
88053         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88054
88055 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88056
88057         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88058         memcmp if strcoll doesn't work.
88059
88060 2002-12-31  Bruno Haible  <bruno@clisp.org>
88061
88062         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88063         nonempty.
88064
88065 2002-12-31  Bruno Haible  <bruno@clisp.org>
88066
88067         * lib/memcoll.c (STRCOLL): New macro.
88068         (memcoll): Use it.
88069
88070 2002-12-31  Bruno Haible  <bruno@clisp.org>
88071
88072         * lib/localcharset.h: New file.
88073         * lib/localcharset.c: Include it.
88074         * lib/unicodeio.c: Likewise.
88075
88076 2002-12-31  Bruno Haible  <bruno@clisp.org>
88077
88078         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88079         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88080
88081 2002-12-31  Bruno Haible  <bruno@clisp.org>
88082
88083         * lib/getline.h: Include <stddef.h>, for size_t.
88084
88085         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88086         * lib/unicodeio.c: Don't include <stddef.h>.
88087
88088 2002-12-31  Bruno Haible  <bruno@clisp.org>
88089
88090         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88091         HAVE_TM_ZONE.
88092
88093 2002-12-24  Karl Berry  <karl@gnu.org>
88094
88095         * config/config.guess: update from prep.
88096
88097 2002-12-24  Bruno Haible  <bruno@clisp.org>
88098
88099         General infrasructure.
88100         * m4/README: Rewritten.
88101         * m4/onceonly.m4: New file.
88102         * m4/onceonly_2_57.m4: New file.
88103
88104         Module atexit.
88105         * m4/atexit.m4: New file.
88106
88107         Module strtod.
88108         * m4/strtod.m4: New file.
88109
88110         Module strtol.
88111         * m4/strtol.m4: New file.
88112
88113         Module strtoul.
88114         * m4/strtoul.m4: New file.
88115
88116         Module memchr.
88117         * m4/memchr.m4: New file.
88118
88119         Module memcmp.
88120         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88121         (jm_FUNC_MEMCMP): Invoke it.
88122
88123         Module memcpy.
88124         * m4/memcpy.m4: New file.
88125
88126         Module memmove.
88127         * m4/memmove.m4: New file.
88128
88129         Module memset.
88130         * m4/memset.m4: New file.
88131
88132         Module strcspn.
88133         * m4/strcspn.m4: New file.
88134
88135         Module strpbrk.
88136         * m4/strpbrk.m4: New file.
88137
88138         Module strstr.
88139         * m4/strstr.m4: New file.
88140
88141         Module strerror.
88142         * m4/strerror.m4: New file.
88143
88144         Module mktime.
88145         * m4/mktime.m4: Renamed from jm-mktime.m4.
88146         (gl_PREREQ_MKTIME): New macro.
88147         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88148
88149         Module malloc.
88150         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88151         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88152         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88153
88154         Module realloc.
88155         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
88156         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
88157         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
88158
88159         Module strftime.
88160         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
88161         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
88162         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
88163         gl_TM_GMTOFF.
88164         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
88165
88166         Module xalloc.
88167         * m4/xalloc.m4: New file.
88168
88169         Module alloca.
88170         * m4/alloca.m4: New file.
88171
88172         Module putenv.
88173         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88174         (jm_FUNC_PUTENV): Invoke it.
88175
88176         Module setenv.
88177         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88178         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88179         when invoked twice.
88180         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88181         gt_FUNC_SETENV.
88182
88183         Module memrchr.
88184         * m4/memrchr.m4: New file.
88185
88186         Module stpcpy.
88187         * m4/stpcpy.m4: New file.
88188
88189         Module strcase.
88190         * m4/strcase.m4: New file.
88191
88192         Module strdup.
88193         * m4/strdup.m4: New file.
88194
88195         Module strnlen.
88196         * m4/strnlen.m4: New file.
88197
88198         Module strndup.
88199         * m4/strndup.m4: New file.
88200
88201         Module xstrtod.
88202         * m4/xstrtod.m4: New file.
88203
88204         Module xstrtol.
88205         * m4/xstrtol.m4: New file.
88206
88207         Module getdate.
88208         * m4/getdate.m4: New file.
88209
88210         Module unlocked-io.
88211         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
88212         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
88213         * m4/jm-glibc-io.m4n: Remove file.
88214
88215         Module long-options.
88216         * m4/long-options.m4: New file.
88217
88218         Module md5.
88219         * m4/md5.m4: New file.
88220
88221         Module sha.
88222         * m4/sha.m4: New file.
88223
88224         Module getstr.
88225         * m4/getstr.m4: New file.
88226
88227         Module getline.
88228         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
88229         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
88230         <sys/types.h>, for size_t. Use the function name gnu_getline, not
88231         simply getline. Infoke gl_PREREQ_GETLINE.
88232
88233         Module obstack.
88234         * m4/obstack.m4: New file.
88235
88236         Module hash.
88237         * m4/hash.m4: New file.
88238
88239         Module readtokens.
88240         * m4/readtokens.m4: New file.
88241
88242         Module strverscmp.
88243         * m4/strverscmp.m4: New file.
88244
88245         Module stdbool.
88246         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
88247         OSF/1.
88248
88249         Module strtoll.
88250         * m4/strtoll.m4: New file.
88251
88252         Module strtoull.
88253         * m4/strtoull.m4: New file.
88254
88255         Module strtoimax.
88256         * m4/strtoimax.m4: New file.
88257
88258         Module strtoumax.
88259         * m4/strtoumax.m4: New file.
88260
88261         Module xstrtoimax.
88262         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
88263         jm_AC_PREREQ_XSTRTOIMAX.
88264         Moved the strtol prerequisites to strtol.m4.
88265         Moved the strtoll prerequisites to strtoll.m4.
88266         Moved the strtoimax prerequisites to strtoimax.m4.
88267
88268         Module xstrtoumax.
88269         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
88270         jm_AC_PREREQ_XSTRTOUMAX.
88271         Moved the strtoul prerequisites to strtoul.m4.
88272         Moved the strtoull prerequisites to strtoull.m4.
88273         Moved the strtoumax prerequisites to strtoumax.m4.
88274
88275         Module chown.
88276         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
88277         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
88278
88279         Module dup2.
88280         * m4/dup2.m4: New file.
88281
88282         Module ftruncate.
88283         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
88284         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
88285
88286         Module getgroups.
88287         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
88288         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
88289
88290         Module gettimeofday.
88291         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
88292         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
88293         gl_PREREQ_GETTIMEOFDAY.
88294
88295         Module mkdir.
88296         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
88297         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
88298
88299         Module mkstemp.
88300         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
88301         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
88302         jm_AC_TYPE_UINTMAX_T.
88303         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
88304
88305         Module stat.
88306         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
88307         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
88308
88309         Module lstat.
88310         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
88311         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
88312
88313         Module timespec.
88314         * m4/timespec.m4 (gl_TIMESPEC): New macro.
88315         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
88316         * m4/st_mtim.m4: Indentation.
88317
88318         Module nanosleep.
88319         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
88320         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
88321         gl_PREREQ_NANOSLEEP.
88322
88323         Module regex.
88324         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
88325         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
88326         (gl_REGEX): New macro.
88327
88328         Module rename.
88329         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
88330         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
88331
88332         Module rmdir.
88333         * m4/rmdir.m4: New file.
88334
88335         Module utime.
88336         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
88337         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
88338         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
88339
88340         Module dirname.
88341         * m4/dirname.m4: New file.
88342
88343         Module getopt.
88344         * m4/getopt.m4: New file.
88345
88346         Module unistd-safer.
88347         * m4/unistd-safer.m4: New file.
88348
88349         Module fnmatch.
88350         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
88351         declaration.
88352         (gl_PREREQ_FNMATCH_EXTRA): New macro.
88353         (gl_FUNC_FNMATCH_POSIX): New macro.
88354         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
88355         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
88356         simply fnmatch.
88357
88358         Module exclude.
88359         * m4/exclude.m4: New file.
88360
88361         Module human.
88362         * m4/human.m4: New file.
88363
88364         Module acl.
88365         * m4/acl.m4: Nop.
88366
88367         Module backupfile.
88368         * m4/backupfile.m4: New file.
88369         * m4/d-ino.m4: Indentation.
88370
88371         Module fsusage.
88372         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
88373         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
88374         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
88375
88376         Module dirfd.
88377         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
88378         requirements.
88379
88380         Module euidaccess.
88381         * m4/euidaccess.m4: New file.
88382
88383         Module file-type.
88384         * m4/file-type.m4: New file.
88385
88386         Module fileblocks.
88387         * m4/fileblocks.m4: New file.
88388
88389         Module filemode.
88390         * m4/filemode.m4: New file.
88391
88392         Module isdir.
88393         * m4/isdir.m4: New file.
88394
88395         Module lchown.
88396         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
88397         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
88398
88399         Module makepath.
88400         * m4/makepath.m4: New file.
88401
88402         Module modechange.
88403         * m4/modechange.m4: New file.
88404
88405         Module mountlist.
88406         * m4/mountlist.m4: New file.
88407         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
88408         Indentation.
88409
88410         Module path-concat.
88411         * m4/path-concat.m4: New file.
88412
88413         Module pathmax.
88414         * m4/pathmax.m4: New file.
88415
88416         Module same.
88417         * m4/same.m4: New file.
88418
88419         Module save-cwd.
88420         * m4/save-cwd.m4: New file.
88421
88422         Module savedir.
88423         * m4/savedir.m4: New file.
88424
88425         Module xgetcwd.
88426         * m4/xgetcwd.m4: New file.
88427         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
88428
88429         Module xreadlink.
88430         * m4/xreadlink.m4: New file.
88431
88432         Module safe-read.
88433         * m4/safe-read.m4: New file.
88434
88435         Module safe-write.
88436         * m4/safe-write.m4: New file.
88437
88438         Module closeout.
88439         * m4/closeout.m4: New file.
88440
88441         Module stdio-safer.
88442         * m4/stdio-safer.m4: New file.
88443
88444         Module getpass.
88445         * m4/getpass.m4: New file.
88446
88447         Module getugroups.
88448         * m4/getugroups.m4: New file.
88449
88450         Module group-member.
88451         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
88452         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
88453
88454         Module idcache.
88455         * m4/idcache.m4: New file.
88456
88457         Module userspec.
88458         * m4/userspec.m4: New file.
88459
88460         Module gettime.
88461         * m4/clock_time.m4: New file.
88462         * m4/gettime.m4: New file.
88463
88464         Module settime.
88465         * m4/settime.m4: New file.
88466
88467         Module posixtm.
88468         * m4/posixtm.m4: New file.
88469
88470         Module gethostname.
88471         * m4/gethostname.m4: New file.
88472
88473         Module canon-host.
88474         * m4/canon-host.m4: New file.
88475
88476         Module gettext.
88477         * m4/codeset.m4: New file, from gettext-0.11.5.
88478         * m4/gettext.m4: New file, from gettext-0.11.5.
88479         * m4/glibc21.m4: New file, from gettext-0.11.5.
88480         * m4/iconv.m4: New file, from gettext-0.11.5.
88481         * m4/intdiv0.m4: New file, from gettext-0.11.5.
88482         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
88483         * m4/inttypes.m4: New file, from gettext-0.11.5.
88484         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
88485         * m4/isc-posix.m4: New file, from gettext-0.11.5.
88486         * m4/lcmessage.m4: New file, from gettext-0.11.5.
88487         * m4/lib-ld.m4: New file, from gettext-0.11.5.
88488         * m4/lib-link.m4: New file, from gettext-0.11.5.
88489         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
88490         * m4/progtest.m4: New file, from gettext-0.11.5.
88491         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
88492         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
88493         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
88494
88495         Module localcharset.
88496         * m4/localcharset.m4: New file.
88497
88498         Module hard-locale.
88499         * m4/hard-locale.m4: New file.
88500
88501         Module mbswidth.
88502         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
88503         onceonly macros.
88504         * m4/mbrtowc.m4: Add comment.
88505
88506         Module memcasecmp.
88507         * m4/memcasecmp.m4: New file.
88508
88509         Module memcoll.
88510         * m4/memcoll.m4: New file.
88511
88512         Module unicodeio.
88513         * m4/unicodeio.m4: New file.
88514
88515         Module rpmatch.
88516         * m4/rpmatch.m4: New file.
88517
88518         Module yesno.
88519         * m4/yesno.m4: New file.
88520
88521         Module exitfail.
88522         * m4/exitfail.m4: New file.
88523
88524         Module c-stack.
88525         * m4/c-stack.m4 (gl_C_STACK): New macro.
88526         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
88527
88528         Module error.
88529         * m4/error.m4 (gl_ERROR): New macro.
88530         (jm_PREREQ_ERROR): Use onceonly macros.
88531
88532         Module fatal.
88533         * m4/fatal.m4: New file.
88534
88535         Module getloadavg.
88536         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
88537         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
88538
88539         Module getpagesize.
88540         * m4/getpagesize.m4: New file.
88541
88542         Module getusershell.
88543         * m4/getusershell.m4: New file.
88544
88545         Module physmem.
88546         * m4/physmem.m4: New file.
88547
88548         Module posixver.
88549         * m4/posixver.m4: New file.
88550
88551         Module quotearg.
88552         * m4/quotearg.m4: New file.
88553
88554         Module quote.
88555         * m4/quote.m4: New file.
88556
88557         Module readutmp.
88558         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
88559
88560         Module sig2str.
88561         * m4/sig2str.m4: New file.
88562
88563         Other.
88564         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
88565         ulonglong.m4.
88566         * m4/intmax_t.m4: New file.
88567         * m4/d-type.m4: Indentation.
88568         * m4/jm-macros.m4: Update.
88569         * m4/prereq.m4 (jm_PREREQ): Update.
88570         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
88571         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
88572         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
88573         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
88574         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
88575         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
88576         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
88577         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
88578         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
88579         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
88580         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
88581         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
88582         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
88583         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
88584         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
88585         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
88586         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
88587         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
88588         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
88589
88590 2002-12-24  Bruno Haible  <bruno@clisp.org>
88591
88592         * MODULES.txt: Update according to m4/ changes.
88593
88594         Module gettext.
88595         * config.rpath: New file, from gettext-0.11.5.
88596
88597         * modules/*: New module descriptions.
88598         * gnulib-tool: New file.
88599         * MODULES.html.sh: New file.
88600
88601 2002-12-21  Karl Berry  <karl@gnu.org>
88602
88603         * doc/fdl.texi: update to version 1.2.
88604
88605 2002-12-19  Karl Berry  <karl@gnu.org>
88606
88607         * config/config.guess: update from prep.
88608
88609 2002-12-18  Bruno Haible  <bruno@clisp.org>
88610
88611         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
88612         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
88613
88614 2002-12-17  Bruno Haible  <bruno@clisp.org>
88615
88616         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
88617         stdlib.h, string.h.
88618
88619 2002-12-17  Bruno Haible  <bruno@clisp.org>
88620
88621         * lib/canon-host.c (strdup): Remove unused declaration.
88622
88623         * lib/fsusage.c: Include full_read.h.
88624         (get_fs_usage): Use full_read instead of safe_read.
88625
88626         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
88627
88628 2002-12-12  Karl Berry  <karl@gnu.org>
88629
88630         * config/config.guess: update from prep.
88631
88632 2002-12-11  Bruno Haible  <bruno@clisp.org>
88633
88634         * m4/setenv.m4: New file, from gettext-0.11.5.
88635
88636 2002-12-11  Bruno Haible  <bruno@clisp.org>
88637
88638         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
88639         not unsetenv().
88640         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
88641         modifications:
88642
88643         2002-12-11  Bruno Haible  <bruno@clisp.org>
88644
88645                 * setenv.c (alloca): Fall back to malloc.
88646                 (freea): New macro.
88647                 (setenv): Use freea() to free memory allocated with alloca().
88648
88649         2002-11-13  Bruno Haible  <bruno@clisp.org>
88650
88651                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
88652                 function declarations.
88653                 * unsetenv.c (unsetenv): Likewise.
88654
88655         2002-03-04  Bruno Haible  <bruno@clisp.org>
88656
88657                 Portability to AIX 4.3.3.
88658                 * unsetenv.c: New file, extracted from setenv.c.
88659                 * setenv.c: Move the unsetenv() function to unsetenv.c.
88660
88661         2001-12-20  Bruno Haible  <bruno@clisp.org>
88662
88663                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
88664                 use malloc instead. For SunOS 4.
88665
88666         2001-12-11  Bruno Haible  <bruno@clisp.org>
88667
88668                 * setenv.c: Declare alloca.
88669                 (compar_fn_t): New typedef.
88670                 (KNOWN_VALUE, STORE_VALUE): Use it.
88671
88672         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
88673         setenv.h.
88674
88675 2002-12-10  Paul Eggert  <eggert@twinsun.com>
88676
88677         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
88678         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
88679         Choose values that are less likely to collide with system fnmatch
88680         options.
88681         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
88682         defined (e.g., a pure POSIX system).
88683         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
88684         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
88685
88686 2002-12-06  Paul Eggert  <eggert@twinsun.com>
88687
88688         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
88689         a pain in practice to deal with generated m4 files.  This change
88690         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
88691
88692         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
88693         and jm-glibc-io.m4, as they are no longer a special case.
88694         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
88695         kludge and the auto-generation stuff.  Check only whether the
88696         functions are declared, not whether they exist, since older hosts
88697         that don't declare the functions can't use the optimization anyway.
88698
88699 2002-12-06  Jim Meyering  <jim@meyering.net>
88700
88701         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
88702
88703         Merge in changes from libc's misc/error.c, in preparation
88704         for the merge of gnulib's changes back into libc.
88705
88706         * lib/error.c (_): Define only if not already defined.
88707         Move definition to follow all #include directives.
88708         Include unlocked-io.h only if !_LIBC.
88709         [_LIBC]: Include <libio/libioP.h>.
88710         [USE_IN_LIBIO]: Include <libio/iolibio.h>
88711         (fflush): Tweak definition to use INTUSE.
88712         (putc): Define.
88713
88714 2002-12-05  Paul Eggert  <eggert@twinsun.com>
88715
88716         * lib/alloca.c [defined emacs]: Include "lisp.h".
88717         (xalloc_die) [defined emacs]: New macro.
88718         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
88719         [! defined emacs]: Include <xalloc.h>.
88720         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
88721         (pointer): Typedef to POINTER_TYPE *.
88722         (malloc): Remove decl; we now always use xmalloc.
88723         (alloca): Use old-style definition, since Emacs needs this.
88724         Check for arithmetic overflow when computing combined size.
88725
88726 2002-12-04  Paul Eggert  <eggert@twinsun.com>
88727
88728         Do not generate unlocked-io.h automatically, since it's easier to
88729         maintain it by hand.
88730
88731         * lib/unlocked-io.h: New file, from GNU diffutils,
88732         but with proper copyright notice and attribution.
88733         * lib/gen-uio: Remove.
88734         * lib/Makefile.am: Add copyright notice.
88735         (libfetish_a_SOURCES): Add unlocked-io.h.
88736         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
88737         (DISTCLEANFILES, io_functions): Remove macros.
88738         (EXTRA_DIST): Remove gen_uio.
88739         (unlocked-io.h): Remove rule.
88740
88741 2002-12-04  Jim Meyering  <jim@meyering.net>
88742
88743         Reflect the fact that stat.c and lstat.c are no longer generated.
88744         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
88745         (DISTCLEANFILES): Likewise.
88746         (EXTRA_DIST): Likewise.
88747         (all_local): Don't depend on stat.c or lstat.c.
88748         (stat.c, lstat.c): Remove rules.
88749         (EXTRA_DIST): Remove xstat.in.
88750
88751         * lib/xstat.in: Remove file.  Contents moved into stat.c.
88752         * lib/stat.c: New file.  Contents mostly from xstat.in.
88753         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
88754         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
88755
88756         * lib/safe-read.c: Rework so that it may serve to define safe_write,
88757         too.
88758         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
88759
88760 2002-12-03  Jim Meyering  <jim@meyering.net>
88761
88762         * lib/safe-read.c, safe-write.c: Change variable names and comments,
88763         but not semantics, to minimize the differences between these two files.
88764         (safe_read): Change comment to mention SAFE_READ_ERROR.
88765
88766         * lib/safe-read.c (IS_EINTR): Define.
88767         (safe_read): Use IS_EINTR in place of in-function cpp directives.
88768
88769 2002-12-02  Jim Meyering  <jim@meyering.net>
88770
88771         * lib/safe-read.c (EINTR): Define.
88772         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
88773         (INT_MAX): Provide fallback.
88774         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
88775
88776         * lib/safe-read.h (SAFE_READ_ERROR): Define.
88777
88778 2002-12-02  Bruno Haible  <bruno@clisp.org>
88779
88780         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
88781         Define, taken from safe-read.c.
88782         (INT_MAX): Provide fallback.
88783         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
88784         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
88785
88786         * lib/safe-read.c (EINTR): Remove definition.
88787         (safe_read): Don't use EINTR if it is absent.
88788
88789 2002-12-01  Jim Meyering  <jim@meyering.net>
88790
88791         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
88792         zero.
88793         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
88794
88795 2002-11-27  Paul Eggert  <eggert@twinsun.com>
88796
88797         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
88798         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
88799         with `if (! (value < limit)) abort ();', for readability.
88800
88801 2002-11-26  Karl Berry  <karl@gnu.org>
88802
88803         * lib/strdup.c: copy from libc again, with jim's ok.
88804         * lib/.cppi-disable: re-add strdup.c
88805
88806 2002-11-25  Karl Berry  <karl@gnu.org>
88807
88808         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
88809         instead of "strtol.c".
88810
88811 2002-11-25  Karl Berry  <karl@gnu.org>
88812
88813         * config/install-sh: update from automake for variable quoting, $0 in
88814         error msgs, etc.
88815
88816         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
88817         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
88818         entry.
88819
88820 2002-11-25  Jim Meyering  <jim@meyering.net>
88821
88822         * lib/mktime.c: Sync from libc, now that it has the latest fix.
88823
88824 2002-11-24  Karl Berry  <karl@gnu.org>
88825
88826         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
88827         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
88828
88829 2002-11-24  Jim Meyering  <jim@meyering.net>
88830
88831         Update from coreutils:
88832
88833         * lib/mktime.c: Merge in changes from libc.
88834
88835         Avoid a link-time failure on some Linux systems.
88836         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
88837         (otherwise).
88838         (__mon_yday): Declare with the STATIC attribute.
88839         (__mktime_internal): Likewise.
88840         Based on a report from Greg Schafer.
88841
88842 2002-11-23  Jim Meyering  <jim@meyering.net>
88843
88844         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
88845         Use `unsigned', not `int', as type of index.
88846
88847         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
88848
88849         * lib/fsusage.c: Remove unneeded parentheses around operands of
88850         `defined'.
88851
88852 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88853
88854         * lib/quotearg.h: Allow multiple inclusion by surrounding with
88855         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
88856         so that we can be included first.
88857         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
88858         * lib/quotearg.c: Include quotearg.h immediately after config.h.
88859         No need to include stddef.h or sys/types.h any more.
88860         Surround local include files with "", not "<>".
88861         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
88862         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
88863         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
88864         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
88865         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
88866         (ISPRINT): Remove; no longer needed now that we assume C89.
88867
88868         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
88869         Preserve errno.
88870
88871         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
88872         quotearg_char): Use SIZE_MAX rather than
88873         (size_t) -1 when we are talking about "infinity".
88874
88875         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
88876
88877 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88878
88879         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
88880         hint that one should use `if (! x) abort ();' rather than `assert
88881         (x);', and anyway it's one less thing to worry about configuring.
88882         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
88883         hash_rehash, hash_insert): Use abort rather than assert.
88884
88885 2002-11-22  Bruno Haible  <bruno@clisp.org>
88886
88887         * lib/safe-read.h: Assume C89. Add comments.
88888         (safe_read): Change return type to size_t.
88889         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
88890         byte counts > SSIZE_MAX correctly.
88891         * lib/safe-write.h: New file.
88892         * lib/safe-write.c: New file.
88893         * lib/full-read.h: New file.
88894         * lib/full-read.c: New file.
88895         * lib/full-write.h: Assume C89. Add comments.
88896         * lib/full-write.c: Include safe-write.h.
88897         (full_write): Rewritten to use safe_write.
88898         Suggested by Jim Meyering and Paul Eggert.
88899
88900 2002-11-21  Jim Meyering  <jim@meyering.net>
88901
88902         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
88903
88904         Merge in changes from the coreutils.
88905
88906         2002-09-25  Paul Eggert  <eggert@twinsun.com>
88907         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
88908         <stdint.h>.
88909         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
88910         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
88911         int.  Work more efficiently if X is the same width as uintmax_t.
88912         Do not compare X to -1, to avoid bogus compiler warning.
88913         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
88914         Don't assume that f_frsize and f_bsize are the same type.
88915
88916         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
88917         warning on FreeBSD.
88918
88919         * lib/makepath.c (make_path): Restore umask *before* creating the final
88920         component.
88921         (make_path): Minor reformatting.
88922
88923         * lib/xmalloc.c: Adjust to work with new autoconf macros,
88924         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
88925         HAVE_MALLOC/HAVE_REALLOC.
88926
88927         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
88928         dummy ones.  At least on GNU/Linux systems, `auto' means something
88929         else.
88930         From Michael Stone.
88931
88932 2002-11-21  Bruno Haible  <bruno@clisp.org>
88933
88934         Remove case insensitive option matching.
88935         * lib/argmatch.h (argcasematch): Remove declaration.
88936         (ARGCASEMATCH): Remove macro.
88937         (__xargmatch_internal): Remove case_sensitive argument.
88938         (XARGMATCH): Update.
88939         (XARGCASEMATCH): Remove macro.
88940         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
88941         case_sensitive argument.
88942         (argcasematch): Remove function.
88943         (__xargmatch_internal): Remove case_sensitive argument.
88944         (main): Use XARGMATCH instead of XARGCASEMATCH.
88945
88946         * lib/xmalloc.c: Change compile-time error message. Add comment about
88947         required autoconf version.
88948
88949 2002-11-20  Paul Eggert  <eggert@twinsun.com>
88950
88951         Merge argmatch cleanups from Bison.  Assume C89.
88952
88953         * lib/argmatch.c: Include config.h here, not in argmatch.h.
88954         Include stdlib.h, for EXIT_FAILURE.
88955         Always include <string.h>, since we assume C89.
88956         (EXIT_FAILURE): Remove pre-C89 bug workaround.
88957         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
88958         Include <stddef.h> instead, since it's all we need for size_t.
88959         (PARAMS): Remove.  All uses removed.
88960         (ARRAY_CARDINALITY): Do not bother to #undef.
88961         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
88962         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88963         Remove unnecessary parentheses.
88964         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88965         Insert necessary parentheses.
88966         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
88967         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
88968
88969 2002-11-19  Bruno Haible  <bruno@clisp.org>
88970
88971         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
88972         * lib/mbswidth.h: Include <stddef.h>, for size_t.
88973
88974         * lib/mbswidth.h (PARAMS): Remove macro.
88975         (mbswidth, mbsnwidth): Use ANSI C function declarations.
88976         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
88977
88978         * lib/gcd.h (PARAMS): Remove macro.
88979         (gcd): Use ANSI C function declarations.
88980         * lib/gcd.c (gcd): Likewise.
88981
88982 2002-11-15  Bruno Haible  <bruno@clisp.org>
88983
88984         * lib/strcspn.c: Include <stddef.h>.
88985         (strcspn): Use ANSI C function declaration. Change return type to
88986         size_t. Use NULL.
88987         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
88988         (strpbrk): Use NULL.
88989         * lib/strpbrk.h (PARAMS): Remove macro.
88990         (strpbrk): Use ANSI C function declaration.
88991         * lib/strstr.c: Don't include <sys/types.h>.
88992         * lib/strstr.h (PARAMS): Remove macro.
88993         (strstr): Use ANSI C function declarations.
88994
88995 2002-11-14  Karl Berry  <karl@gnu.org>
88996
88997         * config/mkinstalldirs: `do' on separate line, instead of
88998         `for var; do'.
88999
89000 2002-11-06  Bruno Haible  <bruno@clisp.org>
89001
89002         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89003         * lib/gcd.c (gcd): Likewise.
89004
89005 2002-11-05  Bruno Haible  <bruno@clisp.org>
89006
89007         * lib/gcd.h: New file, from gettext-0.11.5.
89008         * lib/gcd.c: New file, from gettext-0.11.5.
89009
89010 2002-11-05  Bruno Haible  <bruno@clisp.org>
89011
89012         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89013         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89014         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89015         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89016
89017         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89018         <libintl.h>.
89019         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89020         <libintl.h>.
89021
89022         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89023         * lib/human.c: Include gettext.h instead of <libintl.h>.
89024         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89025         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89026         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89027         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89028         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89029         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89030         (textdomain): Remove definition.
89031         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89032
89033         * lib/long-options.c: Remove include of <libintl.h> and definition of
89034         _.
89035         * lib/same.c: Remove include of <libintl.h> and definition of _.
89036
89037 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89038
89039         * lib/config.charset: A few additions for Solaris.
89040
89041 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89042
89043         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89044         * lib/localcharset.c (locale_charset): Declare as extern "C".
89045
89046 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89047
89048         * lib/config.charset: msdos in uk_UA uses CP1125.
89049
89050 2002-11-04  Bruno Haible  <bruno@clisp.org>
89051
89052         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89053         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89054         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89055         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89056         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89057
89058 2002-11-04  Bruno Haible  <bruno@clisp.org>
89059
89060         * lib/localcharset.c (locale_charset): Don't return an empty string.
89061
89062 2002-11-04  Bruno Haible  <bruno@clisp.org>
89063
89064         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89065         aliases.
89066
89067 2002-11-04  Bruno Haible  <bruno@clisp.org>
89068
89069         * lib/config.charset: Update for newest glibc. Add canonical names
89070         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89071
89072 2002-11-04  Bruno Haible  <bruno@clisp.org>
89073
89074         * lib/config.charset: Add support for NetBSD.
89075
89076 2002-11-04  Bruno Haible  <bruno@clisp.org>
89077
89078         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89079
89080 2002-11-01  Bruno Haible  <bruno@clisp.org>
89081
89082         * configure.in: Add AC_CONFIG_AUX_DIR call.
89083         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89084         test/Makefile.
89085         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89086
89087 2002-09-28  Karl Berry  <karl@gnu.org>
89088
89089         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89090         installed automake until the next release, since changes have been
89091         made.
89092
89093 2002-09-25  Karl Berry  <karl@gnu.org>
89094
89095         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89096         * lib/getopt*: copy from libc/posix.
89097         * lib/gettext.h: copy from gettext.
89098         * lib/.cppi-disable: add strdup.c, gettext.h.
89099
89100 2002-09-25  Karl Berry  <karl@gnu.org>
89101
89102         * config/srclist.txt: enable gettext.h check.
89103         * config/config.{guess,sub}: update from prep.
89104         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89105                 from automake 1.6.3.
89106         See srclist*.
89107
89108 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89109
89110         * regex.c (PATFETCH): Remove the translating fetch.
89111         (PATFETCH_RAW): Rename to PATFETCH.
89112         (set_image_of_range): New fun.
89113         (SET_RANGE_TABLE_WORK_AREA): Use it.
89114         (regex_compile): Don't translate the pattern chars so eagerly.
89115         Only do it when inserting an `exactn' bytecode or when handling
89116         a char-range.
89117         (mutually_exclusive_p): Avoid empty statement.
89118
89119 2002-07-06  Jim Meyering  <meyering@lucent.com>
89120
89121         * m4/README: Don't mention Makefile.am.in.
89122         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89123
89124 2002-07-01  Jim Meyering  <meyering@lucent.com>
89125
89126         * lib/c-stack.c: Include sys/time.h.
89127         From Volker Borchert.
89128
89129 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89130
89131         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89132
89133 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89134
89135         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89136         New macro.  Use it uniformly instead of
89137         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89138         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89139         reported by Vin Shelton.
89140
89141 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89142
89143         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89144         Do not assume SA_SIGINFO behavior.
89145         Bug reported by Jim Meyering on NetBSD 1.5.2.
89146
89147 2002-06-22  Jim Meyering  <meyering@lucent.com>
89148
89149         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89150         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89151
89152         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89153         now that configure.ac uses AC_GNU_SOURCE.
89154         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
89155         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
89156
89157         Update to latest tools.  Suggestions from Paul Eggert.
89158         * m4/stdbool.m4: New file, from diffutils-2.8.2.
89159         * m4/gnu-source.m4: Update from diffutils-2.8.2.
89160         * m4/fnmatch.m4: Likewise.
89161         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
89162         to AC_HEADER_STDBOOL
89163
89164 2002-06-22  Jim Meyering  <meyering@lucent.com>
89165
89166         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
89167         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
89168
89169 2002-06-22  Jim Meyering  <meyering@lucent.com>
89170
89171         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89172
89173         * lib/exitfail.c, exitfail.h: Likewise.
89174         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89175
89176         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89177         of fnmatch.h.
89178         (EXTRA_DIST): Add fnmatch_loop.c.
89179         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89180
89181         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89182         * lib/fnmatch.c: Update from diffutils-2.8.2.
89183         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89184         * lib/fnmatch.h: Remove file.
89185
89186 2002-06-21  Jim Meyering  <meyering@lucent.com>
89187
89188         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
89189         * m4/mbrtowc.m4: Likewise.
89190
89191         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
89192         * m4/mbswidth.m4: Reflect name change:
89193         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
89194         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89195
89196         * m4/lib-link.m4: Update from gettext-0.11.2.
89197         * m4/gettext.m4: Likewise.
89198
89199         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
89200         From Alfred M. Szmidt.
89201
89202 2002-06-18  Paul Eggert  <eggert@twinsun.com>
89203
89204         * lib/file-type.h: Report an error if neither S_ISREG nor
89205         S_IFREG is defined, instead of using a test specific to glibc
89206         2.2.  This should be safe, since POSIX requires S_ISREG and
89207         Unix Version 7 had S_IFREG.  We don't need to check for
89208         <sys/types.h> since we don't use any symbols that it defines.
89209
89210 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
89211
89212         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
89213         $@-t, so that each temporary file name is unique and valid in the first
89214         8 characters, for operation under DOS.
89215
89216 2002-06-15  Paul Eggert  <eggert@twinsun.com>
89217
89218         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
89219
89220 2002-06-15  Jim Meyering  <meyering@lucent.com>
89221
89222         Work even with DJGPP 2.03, which lacks support for symlinks.
89223         From Richard Dawe.
89224         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
89225         is defined.
89226         * lib/lchown.c (S_ISLNK): Likewise.
89227
89228 2002-06-15  Jim Meyering  <meyering@lucent.com>
89229
89230         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
89231         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
89232         have been included before this file.
89233
89234 2002-06-14  Jim Meyering  <meyering@lucent.com>
89235
89236         * lib/file-type.h: Use the version from diffutils-2.8.2.
89237         * lib/file-type.c: Likewise.
89238
89239 2002-06-07  Jim Meyering  <meyering@lucent.com>
89240
89241         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
89242         They're needed at least for NetBSD 1.5.2.
89243         ($statxfs_includes): Include those same headers.
89244         ($statxfs_includes): Include sys/vfs.h if available.
89245         ($statxfs_includes): Likewise for sys/statvfs.h.
89246         Check for the following members in both structs statfs and statvfs:
89247         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
89248
89249 2002-06-01  Jim Meyering  <meyering@lucent.com>
89250
89251         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
89252         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
89253
89254 2002-05-28  Jim Meyering  <meyering@lucent.com>
89255
89256         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
89257         Reported by Volker Borchert.
89258
89259 2002-05-27  Jim Meyering  <meyering@lucent.com>
89260
89261         Fix a problem seen only on nonconforming systems whereby ls.c's
89262         use of localtime, and then of gettimeofday would cause trouble:
89263         the localtime call used to initialize rpl_gettimeofday's save
89264         mechanism would clobber ls's current local time information so
89265         that in any long listing the first file would always be listed
89266         with date 1970-01-01.  Analysis by Volker Borchert.
89267
89268         * lib/gettimeofday.c (localtime): Undefine.
89269         (rpl_localtime): New function.
89270
89271 2002-05-27  Jim Meyering  <meyering@lucent.com>
89272
89273         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
89274         localtime.
89275
89276         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
89277         use the replacement function; it wouldn't resolve at link time.
89278         Reported by Volker Borchert.
89279
89280 2002-05-22  Jim Meyering  <meyering@lucent.com>
89281
89282         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
89283         file-type.h.
89284         * lib/file-type.h: New file.
89285         * lib/file-type.c (file_type): New file/function.  Extracted from
89286         diffutils.
89287
89288 2002-04-30  Jim Meyering  <meyering@lucent.com>
89289
89290         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
89291
89292 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89293
89294         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
89295
89296 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89297
89298         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
89299         Do not check for alloca.h (no longer used) or stdbool.h (was never
89300         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
89301
89302 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89303
89304         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
89305
89306 2002-04-29  Jim Meyering  <meyering@lucent.com>
89307
89308         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
89309         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
89310         Use AC_FUNC_STRNLEN here instead.
89311
89312         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
89313         With autoconf-2.53a, it's part of AC_PROG_CC.
89314
89315 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89316
89317         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
89318         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
89319
89320 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89321
89322         * lib/sig2str.h, lib/sig2str.c: New files.
89323         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
89324
89325 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89326
89327         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
89328         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
89329         of 127, since 64 is the largest conceivable number for ancient
89330         nonstandard hosts.
89331         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
89332
89333 2002-04-28  Jim Meyering  <meyering@lucent.com>
89334
89335         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
89336
89337 2002-04-24  Jim Meyering  <meyering@lucent.com>
89338
89339         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
89340         (jm_PREREQ): Use it.
89341
89342         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
89343         mach/mach.h fcntl.h.
89344         Check for this function: setlocale.
89345
89346 2002-04-24  Jim Meyering  <meyering@lucent.com>
89347
89348         * lib/gettext.h: New file, from Gettext.
89349         * lib/Makefile.am (INCLUDES): Remove -I../intl.
89350         (libfetish_a_SOURCES): Add gettext.h.
89351
89352 2002-04-16  Jim Meyering  <meyering@lucent.com>
89353
89354         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
89355         ut_pid, ut_id, ut_exit.
89356
89357 2002-04-16  Jim Meyering  <meyering@lucent.com>
89358
89359         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
89360         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
89361         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
89362
89363 2002-04-12  Jim Meyering  <meyering@lucent.com>
89364
89365         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
89366         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
89367         existence of the getmntinfo function.  Needed for Darwin 5.3.
89368
89369         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
89370         This is necessary at least on Darwin 5.3.
89371
89372         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
89373         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
89374         strnlen.o in the library, and that makes some versions of ranlib
89375         object.
89376
89377 2002-04-12  Jim Meyering  <meyering@lucent.com>
89378
89379         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
89380
89381 2002-04-09  Jim Meyering  <meyering@lucent.com>
89382
89383         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
89384         to be more precise.  Rather than saying we're checking whether the
89385         function `works', say what we're testing.
89386         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
89387         Reported by Bruno Haible.
89388
89389 2002-03-10  Jim Meyering  <meyering@lucent.com>
89390
89391         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
89392         Suggestion from Santiago Vila.
89393
89394 2002-03-08  Jim Meyering  <meyering@lucent.com>
89395
89396         * lib/rename.c: Mention that this wrapper is needed also on
89397         mips-dec-ultrix4.4 systems.
89398
89399 2002-03-02  Jim Meyering  <meyering@lucent.com>
89400
89401         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
89402         not HAVE_CLOCK_SETTIME.
89403
89404 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89405
89406         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
89407         Check for clock_settime.
89408
89409 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89410
89411         * lib/nanosleep.h: Rename to....
89412         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
89413
89414         * lib/gettime.c: New file.
89415         * lib/settime.c: New file.
89416         * lib/stime.c: Remove.
89417
89418         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
89419         timespec.h.  Remove nanosleep.h.
89420
89421 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89422
89423         * m4/acl.m4: New file.
89424         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
89425         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
89426
89427 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89428
89429         * lib/acl.c, lib/acl.h: New files.
89430         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
89431
89432 2002-02-24  Jim Meyering  <meyering@lucent.com>
89433
89434         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
89435         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
89436         cause trouble.  Reported by Nelson Beebe.
89437
89438 2002-02-23  Paul Eggert  <eggert@twinsun.com>
89439
89440         * lib/path-concat.c (xpath_concat): Reorder code to pacify
89441         compilers that don't know that xalloc_die never returns.
89442
89443 2002-02-20  Jim Meyering  <meyering@lucent.com>
89444
89445         * lib/getdate.c: Regenerate using bison-1.33.
89446
89447 2002-02-17  Jim Meyering  <meyering@lucent.com>
89448
89449         * config/config.guess (main): Don't use `head -1'; it's no longer
89450         portable. Use `sed 1q' instead.
89451
89452 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
89453
89454         * m4/codeset.m4: Upgrade to gettext-0.11.
89455         * m4/gettext.m4: Upgrade to gettext-0.11.
89456         * m4/glibc21.m4: Upgrade to gettext-0.11.
89457         * m4/iconv.m4: Upgrade to gettext-0.11.
89458         * m4/isc-posix.m4: Upgrade to gettext-0.11.
89459         * m4/lcmessage.m4: Upgrade to gettext-0.11.
89460         * m4/lib-ld.m4: New file, from gettext-0.11.
89461         * m4/lib-link.m4: New file, from gettext-0.11.
89462         * m4/lib-prefix.m4: New file, from gettext-0.11.
89463         * m4/progtest.m4: Upgrade to gettext-0.11.
89464
89465 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89466
89467         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
89468         (jm_PREREQ): Use it.
89469
89470 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89471
89472         * lib/posixver.c, lib/posixver.h: New files.
89473         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89474
89475 2002-02-02  Paul Eggert  <eggert@twinsun.com>
89476             Bruno Haible  <bruno@clisp.org>
89477
89478         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
89479         (fwrite_success_callback): New declaration.
89480         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
89481         print_unicode_char. Call failure callback instead of error.
89482         (fwrite_success_callback): New function.
89483         (exit_failure_callback): New function.
89484         (fallback_failure_callback): New function.
89485         (print_unicode_char): Call unicode_to_mb.
89486
89487 2002-01-26  Jim Meyering  <meyering@lucent.com>
89488
89489         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
89490         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
89491
89492 2002-01-26  Jim Meyering  <meyering@lucent.com>
89493
89494         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
89495
89496 2002-01-22  Paul Eggert  <eggert@twinsun.com>
89497
89498         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
89499
89500 2002-01-22  Jim Meyering  <meyering@lucent.com>
89501
89502         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
89503         Otherwise, some versions of automake would omit the rule that makes
89504         Makefile from Makefile.in.
89505
89506 2002-01-21  Paul Eggert  <eggert@twinsun.com>
89507
89508         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
89509         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89510         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
89511         (memcoll): Set errno to zero if there is no error.
89512
89513         * lib/quotearg.c (quotearg_buffer_restyled):
89514         Fix bug with quoting buffers containing NUL when backslashing escapes.
89515         This bug was exposed by the other changes in this patch.
89516         (quotearg_n_options): New arg ARGSIZE.
89517         All callers changed.
89518         (quoting_options_from_style): New function.
89519         (quotearg_n_style): Use it.
89520         (quotearg_n_style_mem): New function.
89521
89522         * lib/quotearg.h (quotearg_n_style_mem): New function.
89523
89524 2002-01-19  Jim Meyering  <meyering@lucent.com>
89525
89526         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
89527         Remove useless quotes: DF_PROG="df".
89528         * m4/strnlen.m4: New file.
89529
89530 2002-01-16  Paul Eggert  <eggert@twinsun.com>
89531
89532         * lib/backupfile.c (ISDIGIT): Comment fix.
89533         * lib/getdate.y (ISDIGIT): Likewise.
89534         * lib/posixtm.c (ISDIGIT, year): Likewise.
89535         * lib/strverscmp.c (ISDIGIT): Likewise.
89536         * lib/userspec.c (ISDIGIT): Likewise.
89537
89538 2002-01-16  Jim Meyering  <meyering@lucent.com>
89539
89540         * lib/getdate.y: Add three semicolons, each just before a closing
89541         brace. Bison (as of version 1.31) no longer papers over that mistake.
89542
89543 2002-01-05  Jim Meyering  <meyering@lucent.com>
89544
89545         * lib/version-etc.c (version_etc_copyright): Update copyright year.
89546
89547 2001-12-19  Paul Eggert  <eggert@twinsun.com>
89548
89549         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
89550         not silently exit merely because the output buffer happens to
89551         have nothing pending.
89552
89553 2001-12-18  Paul Eggert  <eggert@twinsun.com>
89554
89555         See the big note in ../ChangeLog.
89556         * lib/human.c (suffixes): Prefer K to k for 1024.
89557         (generate_suffix_backwards): New function.
89558         (human_readable_inexact): Use it.
89559         * lib/xstrtol.c (__xstrtol): If there is no number but there
89560         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
89561         Accept 'K' as well as 'k'.
89562
89563 2001-12-15  Jim Meyering  <meyering@lucent.com>
89564
89565         * lib/regex.h (__restrict_arr): Update from libc.
89566
89567         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
89568         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
89569         (STREQ): Define.
89570
89571 2001-12-14  Jim Meyering  <meyering@lucent.com>
89572
89573         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
89574         Suggestion from Bruno Haible.
89575
89576 2001-12-10  Jim Meyering  <meyering@lucent.com>
89577
89578         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
89579         xrealloc, Instead, include "xalloc.h".
89580         (initbuffer): Don't cast xmalloc return value to char*.
89581         (readline): Reword comment.
89582         Don't cast xrealloc return value to char*
89583         Return NULL, not 0.
89584
89585 2001-12-09  Jim Meyering  <meyering@lucent.com>
89586
89587         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
89588         about `signed and unsigned type in conditional expression'.
89589         * lib/posixtm.c (posix_time_parse): Likewise.
89590
89591         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
89592
89593         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
89594         to avoid a pedantic warning.
89595
89596         * lib/getstr.c: Don't include assert.h.
89597         (getstr): Remove warning-evoking assertions.
89598         Return -1 if offset parameter is out of bounds.
89599         Change the type of a local from int to size_t.
89600
89601         * lib/strftime.c (my_strftime_localtime_r): Include this function
89602         definition in the `#if ! HAVE_TM_GMTOFF' block.
89603
89604         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
89605         Include xalloc.h instead.
89606
89607 2001-12-02  Jim Meyering  <meyering@lucent.com>
89608
89609         * lib/tempname.c: Don't declare getenv, thus reverting the change of
89610         2001-11-18.  It's no longer necessary, now that stdlib.h is always
89611         included.
89612
89613         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
89614         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
89615
89616 2001-11-30  Akim Demaille  <akim@epita.fr>
89617
89618         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
89619         before being defined.
89620
89621 2001-11-27  Paul Eggert  <eggert@twinsun.com>
89622
89623         * lib/quotearg.h (quotearg_n, quotearg_n_style):
89624         First arg is int, not unsigned.
89625         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
89626         (SIZE_MAX, UINT_MAX): New macros.
89627         (quotearg_n_options): Abort if N is negative.
89628         Avoid overflow check on hosts where size_t is 64 bits and int
89629         is 32 bits, as overflow is impossible there.
89630         Fix off-by-one typo that caused unnecessary reallocation.
89631
89632 2001-11-27  Jim Meyering  <meyering@lucent.com>
89633
89634         * lib/tempname.c: Merge with version from libc.
89635         * lib/regex.c: Likewise.
89636
89637         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
89638         systems for which STDC_HEADERS is 0, it was not included, resulting in
89639         a warning about an integer-to-pointer conversion problem with getenv.
89640         Reported by Volker Borchert.
89641
89642 2001-11-26  Jim Meyering  <meyering@lucent.com>
89643
89644         * lib/gtod.h: Remove file.
89645         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
89646         * lib/gettimeofday.c: Don't include gtod.h.
89647         (GTOD_init): Remove function.
89648         (rpl_gettimeofday): Do its job here instead, rather than aborting.
89649         Suggestion from Volker Borchert.
89650
89651 2001-11-23  Jim Meyering  <meyering@lucent.com>
89652
89653         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
89654         it.
89655         * lib/hash.c (struct hash_table): Define it here instead.
89656
89657 2001-11-22  Jim Meyering  <meyering@lucent.com>
89658
89659         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
89660
89661 2001-11-20  Jim Meyering  <meyering@lucent.com>
89662
89663         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
89664         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
89665
89666 2001-11-19  Jim Meyering  <meyering@lucent.com>
89667
89668         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
89669         directory.  Use "conftestXXXXXX" as the template.
89670         Suggestion from Paul Eggert.
89671
89672         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
89673         immediately, so the test doesn't mistakenly hit the max-open-files
89674         limit.
89675
89676 2001-11-18  Paul Eggert  <eggert@twinsun.com>
89677
89678         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
89679         (TEMPORARIES): New macro.
89680         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
89681         removes an artificial limitation (e.g. HP-UX 10.20, where
89682         TMP_MAX is 17576).
89683
89684 2001-11-18  Jim Meyering  <meyering@lucent.com>
89685
89686         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
89687
89688 2001-11-18  Jim Meyering  <meyering@lucent.com>
89689
89690         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
89691         on SunOS 4.
89692
89693         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
89694         files will be created before anything else.
89695
89696 2001-11-17  Paul Eggert  <eggert@twinsun.com>
89697
89698         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
89699         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
89700
89701 2001-11-17  Jim Meyering  <meyering@lucent.com>
89702
89703         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
89704         Prompted by a report from Bob Proulx.
89705
89706         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
89707         Instead, require UTILS_FUNC_MKSTEMP.
89708
89709 2001-11-17  Jim Meyering  <meyering@lucent.com>
89710
89711         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
89712         Now, that's done as part of AC_FUNC_STRTOD.
89713
89714 2001-11-17  Jim Meyering  <meyering@lucent.com>
89715
89716         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
89717         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
89718         rather than group writable.  Patch by Juan F. Codagnone.
89719
89720         * lib/readtokens.c: Remove explicit declarations of xmalloc and
89721         xrealloc, Instead, include "xalloc.h".
89722
89723         * lib/mountlist.c: Include unlocked-io.h after all system headers.
89724         Remove explicit declarations of xmalloc, xrealloc,
89725         and xstrdup.  Instead, include "xalloc.h".
89726
89727         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
89728         unlocked-io.h.
89729         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
89730         Likewise.
89731         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
89732
89733         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
89734         Reported by Padraig Brady.
89735
89736         * lib/mkstemp.c: #undef mkstemp.
89737         Include config.h.
89738         (rpl_mkstemp): Rename from mkstemp.
89739         Protoize.
89740
89741 2001-11-16  Jim Meyering  <meyering@lucent.com>
89742
89743         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
89744         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
89745         determine the amount of total physical memory, use pstat_getstatic.
89746         HPUX-11 doesn't define _SC_PHYS_PAGES.
89747         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
89748         If sysconf couldn't be used to determine the amount of available
89749         physical memory, use both pstat_getstatic and pstat_getdynamic.
89750         Based on a patch from Bob Proulx.
89751
89752 2001-11-10  Jim Meyering  <meyering@lucent.com>
89753
89754         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
89755         (jm_PREREQ): Use it.
89756
89757 2001-11-09  Jim Meyering  <meyering@lucent.com>
89758
89759         * m4/jm-macros.m4: Require autoconf-2.52f.
89760         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
89761         Use these AC_-prefixed names, not the AM_-prefixed ones.
89762
89763         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
89764
89765 2001-11-05  Jim Meyering  <meyering@lucent.com>
89766
89767         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
89768
89769 2001-11-04  Jim Meyering  <meyering@lucent.com>
89770
89771         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
89772         $DEFS.
89773
89774 2001-11-03  Jim Meyering  <meyering@lucent.com>
89775
89776         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
89777         of AC_DEFUN.
89778
89779         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
89780         know the name of the variable in the macro definition.
89781
89782 2001-11-03  Jim Meyering  <meyering@lucent.com>
89783
89784         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
89785         in argmatch_to_argument call.
89786
89787         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
89788         argument.
89789
89790         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
89791         e.g., a fault due to an attempt to free a NULL pointer.
89792
89793 2001-11-01  Jim Meyering  <meyering@lucent.com>
89794
89795         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
89796         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
89797
89798 2001-11-01  Jim Meyering  <meyering@lucent.com>
89799
89800         * lib/dirfd.c, lib/dirfd.h: New files.
89801         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
89802
89803         * lib/hash.c (hash_print) [TESTING]: Clean up.
89804
89805 2001-10-22  Paul Eggert  <eggert@twinsun.com>
89806
89807         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
89808         to avoid a warning if -Wall.
89809
89810 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
89811
89812         * README: New file
89813         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
89814         (per RMS's instructions, this is now the canonical source)
89815         * lgpl/, gpl/: New directories.
89816
89817 2001-10-21  Paul Eggert  <eggert@twinsun.com>
89818
89819         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
89820
89821 2001-10-21  Jim Meyering  <meyering@lucent.com>
89822
89823         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
89824         this code would end up calling gettext even in packages built
89825         with --disable-nls.
89826         * lib/getopt.c (_): Likewise.
89827         * lib/regex.c (_): Likewise.
89828
89829 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89830
89831         * m4/error.m4 (jm_PREREQ_ERROR):
89832         Do not invoke AC_CHECK_FUNCS with strerror_r, as
89833         AC_FUNC_STRERROR_R does that.
89834         Check for strerror declaration.
89835
89836         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
89837         are supposed to have them these days.
89838         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
89839         Merge changes from latest Autoconf CVS.
89840         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
89841         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
89842         POSIX decided to standardize on the int flavor of strerror_r.
89843
89844 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89845
89846         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
89847         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
89848         Use strerror_r that is only a macro, even if it is not a function.
89849         (strerror): Check for HAVE_DECL_STRERROR before declaring.
89850         (private_strerror): Use prototypes, not old-style function definition.
89851         (print_errno_message): New function.
89852         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
89853         char*-flavored one.
89854         (error_tail, error, error_at_line): Use it.
89855
89856 2001-10-11  Jim Meyering  <meyering@lucent.com>
89857
89858         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
89859         and quote_n (1, ... to avoid clobbering a buffer.
89860
89861 2001-10-05  Jim Meyering  <meyering@lucent.com>
89862
89863         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
89864         hash-pjw.h.
89865         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
89866         * lib/hash-pjw.h: New file.
89867
89868 2001-09-30  Jim Meyering  <meyering@lucent.com>
89869
89870         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
89871         `struct fsstat' has the `f_fstypename' member.
89872         Use that to define FS_TYPE, which is now used to make
89873         the getfsstat link test tighter.
89874
89875 2001-09-30  Jim Meyering  <meyering@lucent.com>
89876
89877         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
89878         Include <sys/ucred.h>, for Apple Darwin.
89879         Include sys/mount.h and sys/fs_types.h only if available.
89880         (FS_TYPE): Define.
89881         (read_filesystem_list): Use FS_TYPE.
89882
89883 2001-09-29  Paul Eggert  <eggert@twinsun.com>
89884
89885         * lib/exclude.c (excluded_filename): 0 -> false, since it's
89886         a boolean context.
89887
89888 2001-09-29  Jim Meyering  <meyering@lucent.com>
89889
89890         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89891         [one-argument getmntent function]): Include stdio.h before mntent.h.
89892         SunOS 4.1.x needs it for the declaration of `FILE'.
89893         Patch by Volker Borchert.
89894
89895         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89896         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
89897         sys/fs_types.h, and make the link-test for getfsstat guard #include
89898         directives with appropriate #if HAVE_*_H tests so that we can
89899         detect getfsstat on Apple Darwin1.3.7 systems.
89900         Reported by Nelson Beebe.
89901         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
89902
89903 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89904
89905         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89906         #defines strtoimax.  Also treat the other strto* functions
89907         like strtoimax.
89908
89909         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89910         Check for strtoul and strtoumax,
89911         as those declarations are made even in the signed case.
89912         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
89913         Likewise, for strtol and strtoimax.
89914
89915 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89916
89917         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89918         #defines strtoimax.  Also treat the other strto* functions
89919         like strtoimax.
89920
89921         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
89922         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
89923         (strtoimax, strtoumax): Do not declare if already defined as a macro.
89924
89925 2001-09-26  Jim Meyering  <meyering@lucent.com>
89926
89927         Most macros in unlocked-io.h had the wrong number of arguments.
89928         * lib/gen-uio: New script.
89929         (USE_UNLOCKED_IO): Define to 1 if not already defined.
89930         * lib/unlocked-io.hin: Remove file.
89931         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
89932         rather than trying to embed it here.
89933         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
89934         Reported by Padraig Brady.
89935
89936 2001-09-25  Volker Borchert  <bt@teknon.de>
89937
89938         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
89939         `result'.
89940
89941 2001-09-24  Jim Meyering  <meyering@lucent.com>
89942
89943         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
89944
89945 2001-09-23  Jim Meyering  <meyering@lucent.com>
89946
89947         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
89948         instead of the mere test for existence of mntent.h.  The latter
89949         would get a false-positive on AIX 3.4 systems.
89950         In the outer getmntent if-block, don't die if neither of the getmntent
89951         tests succeeds.  Instead, just fall through and continue with the
89952         remaining tests.
89953
89954 2001-09-23  Jim Meyering  <meyering@lucent.com>
89955
89956         * lib/mountlist.c: Remove useless parentheses in #if directives.
89957         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
89958         the deprecated MOUNTED symbol is no longer defined in mntent.h.
89959
89960 2001-09-22  Jim Meyering  <meyering@lucent.com>
89961
89962         * m4/gettext.m4: New file.  From gettext.
89963         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
89964         * m4/progtest.m4: Likewise
89965         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
89966         * m4/glibc21.m4: Likewise.
89967
89968         * m4/libintl.m4: Remove.  No longer used.
89969
89970 2001-09-22  Jim Meyering  <meyering@lucent.com>
89971
89972         * lib/localcharset.c: Update from latest gettext.
89973         * lib/config.charset: Likewise.
89974
89975 2001-09-20  Jim Meyering  <meyering@lucent.com>
89976
89977         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
89978         strtoimax.
89979         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
89980         strtoumax.
89981
89982 2001-09-20  Jim Meyering  <meyering@lucent.com>
89983
89984         * lib/xstrtol.c (strtoimax): Guard declaration with
89985         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
89986         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
89987         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
89988         (strtoumax): Likewise, for completeness (it wasn't necessary).
89989
89990 2001-09-17  Paul Eggert  <eggert@twinsun.com>
89991
89992         * lib/strtoimax.c (HAVE_LONG_LONG):
89993         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
89994         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
89995         to work around bug in IBM C compiler.
89996
89997 2001-09-17  Jim Meyering  <meyering@lucent.com>
89998
89999         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90000         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90001         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90002         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90003         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90004         whenever the right hand side need not be expanded by the shell.
90005
90006 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90007
90008         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90009         library.  It's not correct, as some older glibcs are buggy.
90010         fnmatch wasn't fixed until glibc 2.2.
90011
90012         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90013         special shell magic here.
90014
90015 2001-09-16  Jim Meyering  <meyering@lucent.com>
90016
90017         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90018         * m4/jm-macros.m4: Require it.
90019
90020 2001-09-16  Jim Meyering  <meyering@lucent.com>
90021
90022         * lib/mkdir.c: New file.
90023
90024 2001-09-15  Jim Meyering  <meyering@lucent.com>
90025
90026         * m4/jm-macros.m4: Check for help2man.
90027
90028 2001-09-11  Jim Meyering  <meyering@lucent.com>
90029
90030         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90031         The body, by Paul Eggert, was moved here from configure.in.
90032         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90033
90034 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90035
90036         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90037         (jm_PREREQ): Use it.
90038
90039 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90040
90041         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90042         Use ssize_t, not int, to store result of readlink.
90043         Check for ssize_t overflow as well as size_t overflow,
90044         as POSIX says the result of readlink is implementation-defined
90045         when ssize_t overflows.
90046         Remove unnecessary cast to char*.
90047         Use free+malloc instead of realloc, as the storage doesn't need
90048         to be preserved and it's clearer and can be more efficient that way.
90049         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90050         * lib/xreadlink.h (xreadlink): Update prototype.
90051
90052 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90053
90054         * lib/xgetcwd.c: Revert some of the previous change; intead,
90055         fix the HAVE_GETCWD_NULL code to behave more like the
90056         !HAVE_GETCWD_NULL code used to.
90057
90058         Include "xalloc.h".
90059         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90060         invoke xalloc_die.
90061
90062 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90063
90064         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90065         sys/param.h, as pathmax.h includes them.
90066
90067 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90068
90069         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90070         (jm_PREREQ_XGETCWD): New macro.
90071
90072         * m4/getcwd.m4: New file.
90073
90074 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90075
90076         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90077         like the HAVE_GETCWD_NULL code.
90078         Include pathmax.h if not HAVE_GETCWD.
90079         Do not include xalloc.h.
90080         (INITIAL_BUFFER_SIZE): New symbol.
90081         Do not use xmalloc / xrealloc, since the caller is responsible for
90082         handling errors.  Preserve errno around `free' during failure.
90083         Do not overrun buffer when using getwd.
90084
90085 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90086
90087         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90088         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90089         getcwd (NULL, 0).
90090
90091 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90092
90093         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90094         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90095         spotted by Jim Meyering.
90096
90097 2001-09-03  Jim Meyering  <meyering@lucent.com>
90098
90099         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90100         failure.
90101
90102 2001-09-02  Jim Meyering  <meyering@lucent.com>
90103
90104         * lib/error.c: Update from GNU libc.
90105
90106 2001-09-01  Jim Meyering  <meyering@lucent.com>
90107
90108         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90109         Used by df.
90110
90111 2001-09-01  Jim Meyering  <meyering@lucent.com>
90112
90113         * lib/xreadlink.c: New file.
90114         * lib/xreadlink.h: New file.
90115         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90116         xreadlink.h.
90117
90118         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90119         doesn't conflict with sparc Solaris 7's definition in
90120         /usr/include/sys/int_types.h.
90121
90122         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90123         files.
90124         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90125         and strncasecmp as r-values.  Unixware didn't have declarations.
90126
90127 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90128
90129         * lib/xstrtol.h: Add copyright notice.
90130         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90131         LONGINT_INVALID_SUFFIX_CHAR.
90132
90133 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90134
90135         * lib/xstrtol.c (strtoimax): New decl.
90136
90137 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90138
90139         * lib/xgetcwd.c: Don't include pathmax.h.
90140         Include stdlib.h and unistd.h if available.
90141         Include xalloc.h.
90142         (xmalloc, xstrdup, free): Remove decls.
90143         (xgetcwd): Don't assume sizes fit in unsigned.
90144         Check for overflow when computing sizes.
90145         Simplify reallocation code.
90146
90147 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90148
90149         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90150         a directory's st_size can have an arbitrary value, so the old
90151         usage could waste an arbitrary amount of memory.  All uses
90152         changed.
90153         * lib/savedir.h: Update prototype.
90154
90155 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90156
90157         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
90158
90159         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
90160         old strtoimax.c.
90161
90162         Also, make the following further changes to make this file's
90163         configuration more similar to that of strtol.c:
90164         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
90165         (strtoumax, uintmax_t, strtoull, strtol): Remove.
90166         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
90167         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
90168         changed to signed values.
90169
90170         And make the following changes as well:
90171         Fix copyright notice, as 1999 was missing.
90172         (verify): New macro.
90173         (strtoimax): Check sizes at compile-time, not run-time.
90174         Prefer strtol to strtoll if both work.
90175         (main): Remove; it was not that useful and was a pain to maintain.
90176
90177         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90178
90179 2001-08-31  Jim Meyering  <meyering@lucent.com>
90180
90181         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90182         Use an initial, malloc'd, buffer of length 128 rather than
90183         a statically allocated one of length 1024.
90184
90185 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90186
90187         Simplify code, partly by assuming autoconf 2.52 semantics.
90188
90189         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
90190
90191         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
90192         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
90193         All uses removed.
90194         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
90195         Move AC_REQUIRE to next-to-top level, to avoid confusion.
90196         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
90197         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
90198         jm_AC_HEADER_INTTYPES_H.
90199         * m4/jm-macros.m4 (jm_MACROS): Likewise.
90200
90201         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
90202
90203         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90204         Quote first arg of AC_DEFUN.
90205         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
90206         since they are needed to parse the include file even if we need
90207         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
90208         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
90209         but with opposite signedness.
90210
90211 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90212
90213         Merge 'exclude' changes from tar 1.13.22.
90214         This fixes one or two unlikely storage allocation overflow bugs,
90215         but doesn't change user-visible behavior otherwise.
90216
90217 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90218
90219         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
90220         (jm_PREREQ_EXCLUDE): New macro.
90221
90222 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90223
90224         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
90225         tm to be declared.
90226
90227 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90228
90229         * lib/hash.c: Remove '2001' from copyright notice.
90230
90231 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90232
90233         * lib/full-write.h: New file.
90234         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
90235         * lib/full-write.c: Correct credits, as cccp.c no longer
90236         exists and anyway it was so heavily changed from the old cccp
90237         code as to be unrecognizable.  Include full-write.h.
90238         (full_write): Return size_t, with short writes meaning failure.
90239         All callers changed.  This fixes a bug with large buffers
90240         on 64-bit hosts.
90241         * lib/utime.c: Include full-write.h.
90242
90243 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90244
90245         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
90246         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
90247         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
90248         Include if available.
90249         (<xalloc.h>): Include
90250         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
90251         (verify): New macro.  Use it to verify that EXCLUDE macros do not
90252         collide with FNM macros.
90253         (struct patopts): New struct.
90254         (struct exclude): Use it, as exclude patterns now come with options.
90255         (new_exclude): Support above changes.
90256         (new_exclude, add_exclude_file):
90257         Initial size must now be a power of two to simplify overflow checking.
90258         (free_exclude, fnmatch_no_wildcards): New function.
90259         (excluded_filename): No longer requires options arg, as the options
90260         are determined by add_exclude.  Now returns bool, not int.
90261         (excluded_filename, add_exclude):
90262         Add support for the fancy new exclusion options.
90263         (add_exclude, add_exclude_file): Now takes int options arg.
90264         Check for arithmetic overflow when computing sizes.
90265         (add_exclude_file): xrealloc might modify errno, so don't
90266         realloc until after errno might be used.
90267
90268         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
90269         New macros.
90270         (free_exclude): New decl.
90271         (add_exclude, add_exclude_file): Now takes int options arg.
90272         (excluded_filename): No longer requires options arg, as the options
90273         are determined by add_exclude.  Now returns bool, not int.
90274
90275 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90276
90277         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
90278
90279 2001-08-27  Jim Meyering  <meyering@lucent.com>
90280
90281         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
90282
90283         * lib/version-etc.c (N_): Remove definition.
90284         Revert most of last change.
90285         Instead, simply don't mark the `Copyright...' string for translation.
90286         Based on advice from Paul Eggert.
90287
90288         * lib/strtoxmax.c: Tweak comment.
90289
90290 2001-08-26  Jim Meyering  <meyering@lucent.com>
90291
90292         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
90293
90294         * m4/xstrtoimax.m4: New file.
90295         * m4/xstrtoumax.m4: Add comments explaining why we
90296         AC_REPLACE_FUNCS(strtol).
90297
90298 2001-08-26  Jim Meyering  <meyering@lucent.com>
90299
90300         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
90301         of copyright with `%s' so translators don't get an untranslated
90302         message in 2002.
90303         (COPYRIGHT_YEAR): Define.
90304         (version_etc): Use fprintf rather than fputs.
90305         Suggestion from Ulrich Drepper.
90306
90307         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
90308
90309         * lib/strtoll.c: New file, from GNU libc.
90310         * lib/xstrtoimax.c: New file.
90311
90312         * lib/xstrtol.h: Add xstrtoimax.
90313         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
90314         * lib/strtoimax.c: New file.  Likewise, but first define
90315         STRTOUXMAX_SIGNED.
90316
90317         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
90318         ...
90319         * lib/strtoxmax.c: ... then renamed to this.
90320
90321 2001-08-18  Paul Eggert  <eggert@twinsun.com>
90322
90323         * m4/inttypes.m4: Add AC_PREREQ(2.13).
90324         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
90325         (jm_AC_TYPE_INTMAX_T): New macro.
90326         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
90327
90328         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
90329
90330         * m4/longlong.m4: Renamed from ulonglong.m4.
90331         * m4/inttypes.m4: Renamed from inttypes_h.m4.
90332         * m4/uintmax_t.m4: Removed.
90333
90334 2001-08-13  Paul Eggert  <eggert@twinsun.com>
90335
90336         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
90337         Port to Solaris 8, where 'sed' requires a space after the 'r'
90338         command, and where sh dislikes "$/".  Clean up the spacing a bit.
90339         Redirect output to $tmp just once.
90340
90341 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
90342
90343         * lib/addext.c (<errno.h>): Include.
90344         (errno): Declare if not defined.
90345         (addext): Work correctly when pathconf returns -1 and leaves
90346         errno alone because there is no limit.  Also, work even if
90347         pathconf returns a value greater than SIZE_MAX.
90348
90349 2001-08-12  Jim Meyering  <meyering@lucent.com>
90350
90351         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
90352         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
90353         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
90354         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
90355         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
90356         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
90357         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
90358         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
90359         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
90360         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
90361         utime.m4, utimes.m4, xstrtoumax.m4:
90362         Quote the first argument in each use of AC_DEFUN.
90363
90364 2001-08-12  Jim Meyering  <meyering@lucent.com>
90365
90366         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
90367         Simply `return getcwd (NULL, 0);'.
90368         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
90369         Use 1300 as initial value for length, not PATH_MAX.
90370
90371         * lib/pathmax.h: Clean up cpp syntax.
90372
90373 2001-08-12  Jim Meyering  <meyering@lucent.com>
90374
90375         * lib/gettimeofday.c: New file.
90376         * lib/gtod.h: New file.
90377         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
90378
90379 2001-08-05  Jim Meyering  <meyering@lucent.com>
90380
90381         * m4/jm-macros.m4: Require autoconf-2.52.
90382
90383 2001-08-04  Jim Meyering  <meyering@lucent.com>
90384
90385         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
90386         stmt, to get in sync with glibc.
90387
90388 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90389
90390         The following changes are from gettext 0.10.39 as maintained by
90391         Bruno Haible.
90392
90393         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
90394         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
90395         with inverted sense.  All uses changed.
90396
90397         * lib/mbswidth.c: Don't include <limits.h>.
90398         Include <stdlib.h> and <string.h> unconditionally.
90399         (iswcntrl, mbsinit, ISCNTRL): New macros.
90400         (mbsnwidth): Use K&R style function declarations.
90401         Don't bother checking for MB_LEN_MAX == 1, since the compiler
90402         can optimize it when MB_CUR_MAX == 1.
90403         The width of control characters is zero, not 1.
90404
90405 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90406
90407         The following changes are from gettext 0.10.39 as maintained by
90408         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
90409
90410         * m4/codeset.m4: Upgrade to serial AM1.
90411         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
90412         all uses changed.  Quote first arg of AC_DEFUN.
90413         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
90414
90415         * m4/iconv.m4: Upgrade to serial AM2.
90416         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
90417         Add --with-libconv-prefix.
90418         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
90419         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
90420         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
90421         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
90422         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
90423
90424         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
90425         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
90426         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
90427         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
90428         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
90429         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
90430         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
90431         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
90432         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
90433
90434         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
90435         string.h any more.
90436
90437         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
90438         not the default value.
90439
90440         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
90441         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
90442         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
90443         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
90444         Also check for iswcntrl, used for wcwidth fallback.
90445         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
90446         to Autoconf 2.13.
90447
90448 2001-08-03  Jim Meyering  <meyering@lucent.com>
90449
90450         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
90451         as it was in the original.  Reported by Paul Eggert.
90452
90453 2001-07-16  Jim Meyering  <meyering@lucent.com>
90454
90455         * m4/gettimeofday.m4: New file.
90456         Prompted by a report from Bernhard Baehr.
90457
90458 2001-07-15  Jim Meyering  <meyering@lucent.com>
90459
90460         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
90461         stuff. Now it's in ../Makefile.cfg.
90462
90463 2001-07-15  Jim Meyering  <meyering@lucent.com>
90464
90465         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
90466         (BUILT_SOURCES): Add unlocked-io.h.
90467         (io_functions): Define.
90468         (unlocked-io.h): New rule.
90469         (DISTCLEANFILES): Add unlocked-io.h.
90470         (all-local): Depend on unlocked-io.h, to ensure it is created.
90471
90472         * lib/unlocked-io.hin: New file
90473
90474         * lib/regex.c: Update from glibc.
90475
90476 2001-07-05  Jim Meyering  <meyering@lucent.com>
90477
90478         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
90479         recommendation.
90480         (libfetish_a_SOURCES): Put all .h files here instead.
90481         Remove a thus-exposed (better checks in automake) duplicate and
90482         two unnecessary .h files.
90483
90484 2001-07-04  Jim Meyering  <meyering@lucent.com>
90485
90486         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
90487         that generates jm-glibc-io.m4 so that it doesn't trigger any make
90488         distcheck failure.
90489
90490 2001-07-02  Jim Meyering  <meyering@lucent.com>
90491
90492         The following changes were prompted by suggestions from Bruno Haible.
90493
90494         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
90495         is now generated.
90496         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
90497         definition of EXTRA_DIST.
90498         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
90499         ensure that the generated file is created/updated whenever the list
90500         of $(unlocked_functions) is changed.
90501         (jm-glibc-io.m4): New rule.
90502         (unlocked-io.h): New rule -- currently unused.
90503
90504 2001-06-24  Jim Meyering  <meyering@lucent.com>
90505
90506         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
90507         unmatched right bracket, rather than kludging it with an extra,
90508         falsely-matching quote in a comment.  Patch by Akim Demaille.
90509
90510 2001-06-11  Jim Meyering  <meyering@lucent.com>
90511
90512         * lib/regex.c: Update from GNU libc.
90513
90514 2001-05-27  Jim Meyering  <meyering@lucent.com>
90515
90516         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
90517         Check for ut_type in struct utmp.
90518
90519 2001-05-27  Jim Meyering  <meyering@lucent.com>
90520
90521         * lib/readutmp.h (UT_TYPE): Define.
90522
90523 2001-05-24  Jim Meyering  <meyering@lucent.com>
90524
90525         * lib/argmatch.c: Include "quote.h".
90526         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
90527         quote function.  Reported by Göran Uddeborg.
90528
90529 2001-05-22  Jim Meyering  <meyering@lucent.com>
90530
90531         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
90532         now that we use the package-supplied version unconditionally.
90533         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
90534
90535 2001-05-21  Jim Meyering  <meyering@lucent.com>
90536
90537         * m4/regex.m4: Change a couple backticks to single quotes to avoid
90538         shell syntax errors.
90539
90540 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90541
90542         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
90543
90544 2001-05-20  Paul Eggert  <eggert@twinsun.com>
90545
90546         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
90547         Don't bother to check library strftime, since
90548         we'll be using our own my_strftime function anyway.
90549         Define my_strftime instead of strftime.
90550
90551 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
90552
90553         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
90554         which is not yet declared.
90555
90556 2001-05-15  Jim Meyering  <meyering@lucent.com>
90557
90558         * m4/regex.m4: Use proper quoting so brackets appear in the test
90559         program.
90560         Reported by, and with help from, Bruno Haible.
90561
90562 2001-05-13  Jim Meyering  <meyering@lucent.com>
90563
90564         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
90565         undefined.
90566
90567 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90568
90569         dirname code cleanup.  base_name now behaves more compatibly
90570         with POSIX basename when given file names that have trailing
90571         slashes, and similarly for dir_name.  Add new primitives
90572         base_len and dir_len.  Put the directory-name-related decls
90573         into dirname.h.
90574
90575         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
90576         * lib/backupfile.c (base_name): Likewise.
90577         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
90578         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
90579         * lib/makepath.c (strip_trailing_slashes): Likewise.
90580         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
90581         ISSLASH): Likewise.
90582         * lib/rename.c (strip_trailing_slashes): Likewise.
90583         * lib/same.c (base_name): Likewise.
90584         * lib/stripslash.c (ISSLASH): Likewise.
90585
90586         * lib/addext.c: Include <dirname.h> after size_t is defined.
90587         * lib/backupfile.c: Likewise.
90588
90589         * lib/addext.c (addext): Use base_len to trim redundant
90590         trailing slashes instead of doing it ourselves.
90591         But do not trim the last slash if it is not redundant.
90592
90593         * lib/backupfile.c (find_backup_file_name,
90594         max_backup_version): Use base_len instead of rolling it ourselves.
90595         Handle the case of "" and (on DOS) "C:" correctly.
90596
90597         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
90598         needed. Include <string.h>, <dirname.h>.
90599         (base_name): Allow file names ending in slashes, other than names
90600         that are all slashes.  In this case, return the basename followed
90601         by the slashes.  This is more general, and can be used in places
90602         where the original base_name purposely had an assertion failure.
90603         (base_len): New function.
90604
90605         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
90606         Do not include <assert.h>; no longer needed.
90607         Include xalloc.h.
90608         (memrchr): Remove decl.
90609         (dir_name_r): Remove.
90610         (dir_len): Renamed from dirlen.  All callers changed.
90611         Rewrite in terms of base_name, for simplicity and consistency.
90612         (dir_name): Never return NULL.  All callers changed.
90613         Do not include <stdlib.h> in test program; no longer needed.
90614         return 0; is fine for test program.
90615
90616         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
90617         New macros.
90618         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
90619
90620         * lib/path-concat.c (path_concat): Use base_len to compute
90621         base length, not strlen; this means we cannot rely on memcpy
90622         to null-terminate.
90623
90624         * lib/same.c (STREQ): Remove.
90625         (same_name): Handle the case where the basename ends in trailing '/'.
90626
90627         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
90628         a slash was stripped.  Do not strip the last slash after a
90629         file system prefix.
90630
90631 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90632
90633         * lib/Makefile.am (libfetish_a_SOURCES):
90634         Add strftime.c, since we now compile it on all hosts.
90635
90636         * lib/strftime.c (my_strftime):
90637         Define to nstrftime if emacs, but only if my_strftime is not defined.
90638         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
90639         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
90640         Add one more extra argument: a nanoseconds value.
90641         All uses changed.
90642         (ns): New macro.
90643         (my_strftime function): Add %N format.
90644         (emacs_strftimeu): Renamed from emacs_strftime,
90645         with extra ut argument.
90646
90647 2001-05-09  Paul Eggert  <eggert@twinsun.com>
90648
90649         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
90650
90651 2001-04-21  Jim Meyering  <meyering@lucent.com>
90652
90653         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
90654         doesn't interfere.
90655
90656 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90657
90658         * m4/ftruncate.m4: Check for chsize.
90659         Link with ftruncate.o unconditionally if ftruncate is missing.
90660         This was required when cross-compiling to i586-mingw32msvc.
90661
90662 2001-04-08  Jim Meyering  <meyering@lucent.com>
90663
90664         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
90665         recomputed; that's necessary when the offset spans a DST transition.
90666         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
90667
90668 2001-04-02  Jim Meyering  <meyering@lucent.com>
90669
90670         * lib/regex.h, regex.c: Update from GNU libc.
90671
90672 2001-03-24  Jim Meyering  <meyering@lucent.com>
90673
90674         * m4/jm-macros.m4: Require autoconf-2.49d.
90675
90676 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
90677
90678         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
90679
90680 2001-03-19  Paul Eggert  <eggert@twinsun.com>
90681
90682         * lib/version-etc.c (version_etc_copyright): Update to 2001.
90683
90684 2001-03-17  Jim Meyering  <meyering@lucent.com>
90685
90686         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
90687         now that the version in autoconf is equivalent.
90688         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
90689
90690         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
90691         Suggestion from Akim Demaille.
90692
90693         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
90694         (jm_PREREQ_TEMPNAME): New function.
90695
90696 2001-03-16  Paul Eggert  <eggert@twinsun.com>
90697
90698         * lib/tempname.c (uint64_t): Define to uintmax_t if
90699         not defined, and if UINT64_MAX is not defined.
90700         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
90701         Reported by John David Anglin.
90702
90703 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
90704
90705         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
90706         resolve alias if codeset is empty.
90707         * lib/config.charset (BeOS): Use wildcard syntax.
90708
90709 2001-03-13  Jim Meyering  <meyering@lucent.com>
90710
90711         * lib/path-concat.c (path_concat)
90712         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
90713         concatenating e.g., `C:' and `foo'.
90714         From Bruno Haible.
90715
90716 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90717
90718         * lib/localcharset.c (locale_charset): Don't use
90719         setlocale(LC_CTYPE,NULL). Don't return NULL.
90720         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
90721
90722 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90723
90724         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
90725         support for DOS/DJGPP.
90726
90727 2001-03-01  Paul Eggert  <eggert@twinsun.com>
90728
90729         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
90730         lacks mkstemp.  Compile our own tempname.c if we compile our own
90731         mkstemp.c, as mkstemp relies on tempname.
90732
90733 2001-03-01  Jim Meyering  <meyering@lucent.com>
90734
90735         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
90736         AH_VERBATIM really does output its argument verbatim.
90737
90738 2001-02-28  Paul Eggert  <eggert@twinsun.com>
90739
90740         * lib/Makefile.am (libfetish_a_SOURCES):
90741         Add dup-safer.c, fopen-safer.c.
90742         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
90743
90744         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
90745         * lib/unistd-safer.h: New files.
90746
90747 2001-02-25  Paul Eggert  <eggert@twinsun.com>
90748
90749         The mkstemp replacement is taken from glibc 2.2.2, with some
90750         portability fixes for use outside glibc, as follows:
90751
90752         * lib/tempname.c (struct_stat64): New macro.
90753         (direxists, __gen_tempname): Use it.
90754         This avoids a portability problem with Solaris 8.
90755
90756         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
90757         (<stddef.h>, <stdint.h>, <string.h>):
90758         Include only if STDC_HEADERS || _LIBC.
90759         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
90760         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
90761         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
90762         (__set_errno): Define this macro if <errno.h> doesn't.
90763         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
90764         Define these macros if <stdio.h> doesn't.
90765         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
90766         Define these macros if <sys/stat.h>
90767         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
90768         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
90769         __xstat64): Define if not _LIBC.
90770         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
90771         (__gen_tempname): Invoke gettimeofday only if
90772         HAVE_GETTIMEOFDAY || _LIBC;
90773         otherwise, fall back on plain "time".
90774         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
90775
90776         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
90777
90778         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
90779
90780 2001-02-18  Paul Eggert  <eggert@twinsun.com>
90781
90782         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
90783
90784 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90785
90786         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
90787         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
90788         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
90789         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90790
90791 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90792
90793         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
90794         Remove workaround macros for hosts that have mbrtowc but not
90795         mbstate_t, as we now insist on proper declarations for both
90796         before using mbrtowc.
90797
90798 2001-02-17  Jim Meyering  <meyering@lucent.com>
90799
90800         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
90801         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
90802         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
90803         UnixWare 7.1.1.
90804
90805         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
90806         rather than AC_CACHE_VAL.
90807
90808 2001-02-17  Jim Meyering  <meyering@lucent.com>
90809
90810         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
90811         around included file name.
90812
90813         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
90814
90815         * lib/strftime.c: Update from GNU libc (the only changes were to
90816         comments).
90817
90818 2001-02-17  Jim Meyering  <meyering@lucent.com>
90819
90820         * lib/regex.c: Update from libc.
90821
90822 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
90823
90824         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
90825         clash.
90826
90827 2001-02-16  Paul Eggert  <eggert@twinsun.com>
90828
90829         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
90830         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
90831         Reported by Mark Hounschell via Paul Eggert.
90832
90833 2001-02-07  Jim Meyering  <meyering@lucent.com>
90834
90835         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
90836
90837 2001-02-05  Jim Meyering  <meyering@lucent.com>
90838
90839         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
90840         it includes the patch required for `large file' support with at least
90841         HP-UX's 10.20 /bin/cc.
90842
90843 2001-02-03  Jim Meyering  <meyering@lucent.com>
90844
90845         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
90846         AS_IF, now that it works once again (mysteriously).
90847         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90848
90849 2001-01-30  Jim Meyering  <meyering@lucent.com>
90850
90851         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
90852         * m4/chown.m4: Rename conftestchown to conftest.chown.
90853         * m4/rename.m4: s/conftestdir/conftest.d1/ and
90854         s/conftestdir2/conftest.d2/.
90855         * m4/utimes.m4: s/conftestdata/conftest.data/
90856         Inspired by Pavel Roskin's change in autoconf.
90857
90858 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
90859
90860         * lib/config.charset: Update for FreeBSD 4.2.
90861
90862 2001-01-27  Jim Meyering  <meyering@lucent.com>
90863
90864         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
90865         a use of AS_IF.
90866         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90867
90868 2001-01-26  Jim Meyering  <meyering@lucent.com>
90869
90870         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
90871         quotearg.c includes it.
90872
90873 2001-01-26  Jim Meyering  <meyering@lucent.com>
90874
90875         * lib/quotearg.c: Include stddef.h.
90876         * lib/quote.c: Include stddef.h.
90877         Reported by Axel Kittenberger.
90878
90879         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
90880         line in double quotes so that it evokes a better diagnostic.
90881         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
90882         Reported by Axel Kittenberger.
90883
90884 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
90885
90886         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
90887         as if it was a `charset'.
90888
90889 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90890
90891         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
90892         has const.
90893
90894 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90895
90896         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
90897         to avoid a warning.  Add back 'const' to inptr.
90898
90899 2001-01-20  Jim Meyering  <meyering@lucent.com>
90900
90901         Be sure that headers are checked before used in code compiled
90902         for the type checks.
90903         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
90904         In place of that, invoke jm_CHECK_ALL_TYPES.
90905         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
90906         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
90907         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
90908         The check for ssize_t was mistakenly run before the test for unistd.h.
90909
90910         The configure-time check for stdbool.h was missing.
90911         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
90912         (jm_PREREQ_HASH): New function.
90913
90914 2001-01-17  Jim Meyering  <meyering@lucent.com>
90915
90916         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
90917         for autoconf-2.49c.
90918         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
90919
90920 2001-01-16  Jim Meyering  <meyering@lucent.com>
90921
90922         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
90923         From Bruno Haible.
90924
90925 2001-01-14  Jim Meyering  <meyering@lucent.com>
90926
90927         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
90928         foo and bar.  Create conftestdir/ in the script, not in the C code.
90929         Remove directories in the script, not in the C code.
90930         Remove conftestdir{,2} before trying to create the directory.
90931         Make the entire configure script fail if the mkdir fails.
90932
90933 2001-01-14  Jim Meyering  <meyering@lucent.com>
90934
90935         * lib/rename.c: New file.  From Volker Borchert.
90936         Include stdlib.h, string.h or strings.h, and xalloc.h.
90937         Use strip_trailing_slashes rather than open-coding it.
90938
90939 2001-01-03  Paul Eggert  <eggert@twinsun.com>
90940
90941         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
90942
90943 2001-01-03  Jim Meyering  <meyering@lucent.com>
90944
90945         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
90946         of local `inptr' to avoid warning with some system declarations of
90947         iconv.
90948
90949 2001-01-02  Volker Borchert  <bt@teknon.de>
90950
90951         * m4/rename.m4: New file.
90952         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
90953
90954 2001-01-01  Jim Meyering  <meyering@lucent.com>
90955
90956         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
90957         even on systems with utmpx.h.  It's necessary for the declaration of
90958         utmp's ut_user member.  Reported by Andreas Jaeger.
90959
90960         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
90961         available. They are required for the declarations of getgrgid and
90962         getpwuid resp.
90963         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
90964         Reported by Andreas Jaeger.
90965
90966 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
90967
90968         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
90969         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
90970         so `make install' also works in VPATH builds.
90971
90972 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
90973
90974         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
90975         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
90976         can be used in subdirectories.
90977
90978 2000-12-29  Paul Eggert  <eggert@twinsun.com>
90979
90980         * lib/modechange.c: Do not assume that mode_t uses the
90981         traditional octal encoding.  E.g. "chmod 1 FOO" should set
90982         the other-execute bit of FOO even if S_IXOTH != 1.
90983
90984         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
90985         WOTH, XOTH, ALLM): New macros.
90986         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
90987          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
90988         Use them.
90989         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
90990         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
90991         (mode_compile):
90992         No need to use uintmax_t; unsigned long is long enough.
90993         Don't bother to get suffix since we don't use it.
90994
90995 2000-12-26  Jim Meyering  <meyering@lucent.com>
90996
90997         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
90998         better with autoheader.
90999
91000 2000-12-24  Jim Meyering  <meyering@lucent.com>
91001
91002         * lib/hash.c (is_prime): Return explicit boolean values.
91003         (hash_get_first): Return NULL to appease Irix5.6's 89.
91004         Reported by Nelson Beebe.
91005
91006 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91007
91008         * lib/localcharset.c (locale_charset): Add support for Win32.
91009
91010 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91011
91012         * lib/physmem.h, lib/physmem.c: New files.
91013
91014         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91015         (noinst_HEADERS): Add physmem.h.
91016
91017         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91018         't' for compatibility with Solaris 8 sort.
91019
91020 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91021
91022         * lib/config.charset: Add support for BeOS.
91023
91024 2000-12-17  Jim Meyering  <meyering@lucent.com>
91025
91026         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91027         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91028
91029 2000-12-16  Jim Meyering  <meyering@lucent.com>
91030
91031         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91032         N and M) would have treated it like `chown N:N FILE'.
91033
91034         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91035
91036 2000-12-16  Jim Meyering  <meyering@lucent.com>
91037
91038         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91039         SHELLS_FILE to a file name that's useful on djgpp systems.
91040         Include stdlib.h.
91041         (ADDITIONAL_DEFAULT_SHELLS): Define.
91042         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91043         Based mostly on a patch from Prashant TR.
91044
91045 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91046
91047         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91048         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91049         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91050
91051 2000-12-08  Andreas Schwab  <schwab@suse.de>
91052
91053         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91054         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91055
91056 2000-12-07  Jim Meyering  <meyering@lucent.com>
91057
91058         * lib/stripslash.c (ISSLASH): Define.
91059         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91060         `/'.
91061         From Prashant TR.
91062
91063         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91064         (dir_name_r): Declare this function as static.
91065         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91066         manifest itself on a name containing a mix of slashes and
91067         backslashes.
91068         Make this function work with names starting with a DOS-style
91069         drive letter and colon prefix.
91070         (dir_name): Append `.' if necessary.
91071         Based mostly on patches from Prashant TR and Eli Zaretskii.
91072
91073         * lib/dirname.h (dir_name_r): Remove prototype.
91074
91075 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91076
91077         * m4/off_t-format.m4: Remove this file.
91078         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91079
91080 2000-12-06  Jim Meyering  <meyering@lucent.com>
91081
91082         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91083         replacement strtoull, we may well need the replacement strtoul, too.
91084         Check for declarations of strtoul and strtoull.
91085         Check for strtol.  Mainly as a cue to cause automake to include
91086         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91087         Check for limits.h -- strtol.c needs it.
91088
91089 2000-12-05  Jim Meyering  <meyering@lucent.com>
91090
91091         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91092
91093 2000-12-04  Jim Meyering  <meyering@lucent.com>
91094
91095         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91096         Also include memory.h, stdlib.h, unistd.h if appropriate.
91097         Reported by Andreas Jaeger (conflicting declaration of malloc).
91098
91099 2000-12-02  Jim Meyering  <meyering@lucent.com>
91100
91101         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91102         * m4/jm-macros.m4 (jm_MACROS): require it.
91103
91104 2000-12-02  Jim Meyering  <meyering@lucent.com>
91105
91106         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91107
91108 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91109
91110         * lib/memrchr.c: Include <config.h> before any system include file.
91111
91112 2000-11-30  Jim Meyering  <meyering@lucent.com>
91113
91114         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91115
91116 2000-11-30  Jim Meyering  <meyering@lucent.com>
91117
91118         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91119
91120 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91121
91122         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91123
91124 2000-11-26  Jim Meyering  <meyering@lucent.com>
91125
91126         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91127
91128 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91129
91130         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91131         size of (size_t) -1; it's not portable.
91132
91133 2000-11-17  Jim Meyering  <meyering@lucent.com>
91134
91135         * lib/strstr.c: Update from GNU libc.
91136
91137 2000-11-17  Akim Demaille  <akim@epita.fr>
91138
91139         * lib/obstack.h: Formatting changes.
91140         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91141         prevent type checking.
91142         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91143         cast the value to (void *): assigning a `foo *' to a `void *'
91144         variable is valid.
91145         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91146
91147 2000-11-16  Jim Meyering  <meyering@lucent.com>
91148
91149         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91150
91151 2000-11-11  Jim Meyering  <meyering@lucent.com>
91152
91153         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91154
91155 2000-11-10  Jim Meyering  <meyering@lucent.com>
91156
91157         * lib/obstack.h: Update from GNU libc.
91158         * lib/obstack.c: Likewise.
91159
91160 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
91161
91162         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
91163
91164 2000-11-06  Paul Eggert  <eggert@twinsun.com>
91165
91166         * lib/getusershell.c (setusershell): Use rewind rather than
91167         fseek/fseeko, to avoid configuration hassles with fseeko.
91168         Don't bother opening SHELLS_FILE if shellstream is NULL;
91169         it's not necessary.
91170
91171 2000-11-05  Jim Meyering  <meyering@lucent.com>
91172
91173         * lib/makepath.h (make_dir): Declare.
91174         * lib/makepath.c (make_dir): Remove `static' attribute.
91175         Tweak a comment.
91176
91177 2000-11-04  Jim Meyering  <meyering@lucent.com>
91178
91179         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91180
91181 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91182
91183         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91184         last one in a bucket, advance to the next bucket.
91185
91186 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91187
91188         * lib/fnmatch.c: Do not comment out all the code if we are using
91189         the GNU C library, because in some cases we are replacing buggy
91190         code in the GNU C library itself.
91191
91192 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
91193
91194         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
91195         (regex_compile): Catch bogus \(\1\).
91196
91197 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91198
91199         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
91200         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
91201         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
91202
91203 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91204
91205         * lib/error.h, getline.h, modechange.h:
91206         Remove "2000" from Copyright line, as the file hasn't been
91207         changed this year other than in the copyright notice.
91208
91209         * lib/xalloc.h: Add "2000" to Copyright line, as this file
91210         was changed this year.
91211
91212 2000-10-29  Jim Meyering  <meyering@lucent.com>
91213
91214         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
91215         renaming.
91216         * m4/ls-mntd-fs.m4: Likewise
91217
91218 2000-10-29  Jim Meyering  <meyering@lucent.com>
91219
91220         * lib/xstat.in: Fix grammar in comment.
91221
91222 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
91223
91224         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
91225         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
91226         doesn't define __restrict_arr.
91227
91228 2000-10-28  Jim Meyering  <meyering@lucent.com>
91229
91230         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
91231         (jm_PREREQ_MEMCHR): New function.
91232
91233 2000-10-28  Jim Meyering  <meyering@lucent.com>
91234
91235         * lib/memchr.c: Update from libc.
91236         Adjust for portability:
91237         [HAVE_STDLIB_H]: Include stdlib.h.
91238         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
91239         Undef __memchr, too.
91240         [!weak_alias]: Define __memchr to memchr.
91241
91242         * lib/regex.c: Update from libc.
91243         * lib/regex.h: Likewise.
91244         * lib/getopt1.c: Likewise.
91245         * lib/memcmp.c: Likewise.
91246
91247         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
91248         Avoid using fseek, when possible -- it's broken by design.
91249         Patch by Ulrich Drepper.
91250
91251 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
91252
91253         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
91254         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
91255         Giving in to popular pressure to shut up the compiler with casts.
91256
91257 2000-10-26  Jim Meyering  <meyering@lucent.com>
91258
91259         * lib/strftime.c: Update from libc.
91260
91261 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
91262
91263         * regex.c: More `unsigned char' -> `re_char' changes.
91264         Also change several `int' into `re_wchar_t'.
91265         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
91266         (PUSH_FAILURE_POINTER): Don't cast any more.
91267         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
91268         We want GCC to complain, since this piece of code makes
91269         re_match non-reentrant, which *should* be fixed.
91270         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
91271         (EXTEND_BUFFER): Use RETALLOC.
91272         (SET_LIST_BIT): Don't cast.
91273         (re_wchar_t): New type.
91274         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
91275         that those two functions will always properly return.
91276         (IMMEDIATE_QUIT_CHECK): Cast to void.
91277         (analyse_first): Use recursion rather than an explicit stack.
91278         (re_compile_fastmap): Can't fail anymore.
91279         (re_search_2): Don't check re_compile_fastmap for failure.
91280         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
91281         Now also sets the new value (passed in a new argument).
91282         (re_match_2_internal): Use it.
91283         Also, use a new var `reg' of type size_t when looping through regs
91284         rather than reuse the inappropriate `mcnt'.
91285
91286 2000-10-25  Jim Meyering  <meyering@lucent.com>
91287
91288         * lib/obstack.c: Update from libc.
91289
91290 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
91291
91292         * regex.c (regex_compile): Change the way of handling a range from
91293         a char less than 256 to a char not less than 256.
91294
91295 2000-10-24  Andrew Innes  <andrewi@gnu.org>
91296
91297         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
91298         NT-Emacs only.
91299         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
91300         so that re_search functions only quit when callers expect them to.
91301
91302 2000-10-23  Jim Meyering  <meyering@lucent.com>
91303
91304         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
91305         wrong.  That set_locale call must not have any side effects.
91306         From Paul Eggert.
91307
91308 2000-10-22  Jim Meyering  <meyering@lucent.com>
91309
91310         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
91311         [CYCLIC]: Remove now-unused definition.
91312
91313         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
91314         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
91315         Suggestion from Ulrich Drepper.
91316
91317 2000-10-21  Jim Meyering  <meyering@lucent.com>
91318
91319         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
91320         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
91321         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
91322
91323 2000-10-21  Jim Meyering  <meyering@lucent.com>
91324
91325         * lib/dirname.c (memrchr): Declare if necessary.
91326         (dir_name): Remove the restriction that there be no
91327         trailing slashes.  Now, this code skips past them, effectively
91328         ignoring them.
91329         [TEST_DIRNAME] (main): New unit tests.
91330
91331         * lib/memrchr.c: New file from GNU libc.
91332         Undef __memrchr, too.
91333         [!weak_alias]: Define __memrchr to memrchr.
91334         Guard weak_alias use with `#ifdef weak_alias'.
91335
91336 2000-10-21  Jim Meyering  <meyering@lucent.com>
91337
91338         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
91339         (dir_name): Use dir_name_r.
91340         * lib/dirname.h (dir_name_r): Declare it.
91341
91342 2000-10-17  Jim Meyering  <meyering@lucent.com>
91343
91344         * lib/quote.h (PARAMS): Define and use.
91345         Reported by Akim Demaille.
91346
91347         * lib/getopt.c: Update from libc.
91348
91349 2000-10-16  Jim Meyering  <meyering@lucent.com>
91350
91351         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
91352         setlocale.
91353         From Jan Fedak.
91354
91355 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
91356
91357         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
91358
91359 2000-09-25  Jim Meyering  <meyering@lucent.com>
91360
91361         * lib/md5.h (rol): Define (from GnuPG).
91362
91363         * lib/sha.c: Give credit (GnuPG) where due.
91364         (M): Use rol rather than open-coding it.
91365         Add a FIXME comment.
91366
91367 2000-09-21  Jim Meyering  <meyering@lucent.com>
91368
91369         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
91370         Reported by Michael Stone.
91371
91372 2000-09-20  Jim Meyering  <meyering@lucent.com>
91373
91374         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
91375         (noinst_HEADERS): Add sha.h.
91376         Based on code from Scott G. Miller and from GnuPG.
91377
91378 2000-09-18  Jim Meyering  <meyering@lucent.com>
91379
91380         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
91381         LIBS. Otherwise, everyone ends up linking with -lelf for some
91382         configurations.
91383         Reported by Mike Stone.
91384
91385 2000-09-15  Jim Meyering  <meyering@lucent.com>
91386
91387         * lib/regex.c: Update from libc.
91388
91389 2000-09-10  Jim Meyering  <meyering@lucent.com>
91390
91391         * lib/getopt.c (_getopt_internal): Update from glibc.
91392
91393 2000-09-09  Jim Meyering  <meyering@lucent.com>
91394
91395         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
91396         think it should be used as a general replacement for isascii.
91397         * lib/fnmatch.c: Likewise.
91398         * lib/mbswidth.c: Likewise
91399         * lib/regex.c: Likewise.
91400
91401         Don't use atoi.
91402         * lib/userspec.c: Include sys/param.h and limits.h.
91403         Include xstrtol.h.
91404         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91405         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
91406         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
91407         UID, GID.  Check range.
91408
91409 2000-09-06  Jim Meyering  <meyering@lucent.com>
91410
91411         * lib/getopt.c (_getopt_internal): Update from glibc.
91412
91413 2000-08-30  Jim Meyering  <meyering@lucent.com>
91414
91415         * lib/strftime.c: Merge in changes from GNU libc.
91416
91417 2000-08-26  Jim Meyering  <meyering@lucent.com>
91418
91419         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
91420         * m4/fpending.m4: New file.
91421
91422 2000-08-26  Jim Meyering  <meyering@lucent.com>
91423
91424         * lib/closeout.c: Include "__fpending.h".
91425         (close_stdout_status): Return right away if there's nothing to flush.
91426
91427         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
91428         * lib/__fpending.c: New file.
91429         * lib/__fpending.h: New file.
91430
91431 2000-08-20  Jim Meyering  <meyering@lucent.com>
91432
91433         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
91434         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
91435         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
91436
91437 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
91438
91439         Improve fileutils installation on systems where running
91440         programs (like install) can't be unlinked.
91441         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
91442         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
91443
91444 2000-08-07  Paul Eggert  <eggert@twinsun.com>
91445
91446         Standardize on "memory exhausted" instead of "Memory exhausted"
91447         or "virtual memory exhausted".
91448         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
91449         "virtual memory exhausted".
91450         * lib/same.c (same_name): Invoke xalloc_die instead of printing
91451         our own message.
91452         * lib/userspec.c (parse_user_spec): Likewise.
91453         * lib/bumpalloc.h: comment fix
91454         * lib/same.c, userspec.c: Include xalloc.h.
91455
91456         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
91457         not char *const and pointing to a constant array.
91458         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
91459         (xrealloc): Comment fix.
91460
91461         * lib/userspec.c (parse_user_spec):
91462         Don't translate a message until just before returning,
91463         to avoid unnecessary translation.
91464
91465 2000-08-07  Jim Meyering  <meyering@lucent.com>
91466
91467         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
91468         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
91469         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
91470         getgroups.c, gethostname.c, getopt.h, group-member.c,
91471         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
91472         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
91473         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
91474         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
91475         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
91476         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
91477         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
91478         yesno.c: Back out Copyright date changes for each file with no change
91479         this year.  This eases coordination with other programs using the same
91480         source code modules.  From Paul Eggert.
91481
91482 2000-08-06  Paul Eggert  <eggert@twinsun.com>
91483
91484         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
91485         not char, for compatibility with glibc 2.1.3 strftime.c.
91486
91487 2000-08-03  Greg McGary  <greg@mcgary.org>
91488
91489         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
91490         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
91491         (EXTEND_BUFFER): Use them.
91492
91493 2000-08-01  Jim Meyering  <meyering@lucent.com>
91494
91495         * lib/dirname.c (ISSLASH): Define.
91496         (BACKSLASH_IS_PATH_SEPARATOR): Define.
91497         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
91498         both `\' and `/' may be use as path separators.
91499         Based on a patch from Prashant TR.
91500
91501 2000-07-31  Paul Eggert  <eggert@twinsun.com>
91502
91503         * lib/quotearg.c (quotearg_n_options): Don't make the initial
91504         slot vector a constant, since it might get modified.
91505
91506 2000-07-31  Jim Meyering  <meyering@lucent.com>
91507
91508         * lib/xmalloc.c: Use `virtual memory exhausted', not
91509         `Memory exhausted'.
91510         * lib/obstack.c (print_and_abort): Likewise.
91511
91512 2000-07-30  Paul Eggert  <eggert@twinsun.com>
91513
91514         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
91515         buffer, so that the caller can always quote one small
91516         component of a "memory exhausted" message in slot 0.
91517         From a suggestion by Jim Meyering.
91518
91519 2000-07-30  Jim Meyering  <meyering@lucent.com>
91520
91521         * lib/makepath.c (make_path): Quote the other instance, too.
91522
91523         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
91524         (STATIC_BUF_SIZE): Define.
91525         (quotearg_n_options): Use only statically allocated storage when
91526         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
91527         than STATIC_BUF_SIZE.
91528
91529 2000-07-29  Jim Meyering  <meyering@lucent.com>
91530
91531         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
91532         * lib/dirname.c (dir_name): Likewise.
91533
91534         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
91535         `/'.
91536
91537         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
91538         (dir_name): Assert that there are no trailing slashes.
91539
91540 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
91541
91542         * lib/mbswidth.h (mbswidth): Add a flags argument.
91543         (mbswidth): New declaration.
91544         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
91545         * lib/mbswidth.c (mbswidth): Add a flags argument.
91546         (mbsnwidth): New function.
91547
91548 2000-07-24  Jim Meyering  <meyering@lucent.com>
91549
91550         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
91551
91552 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91553
91554         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
91555
91556 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91557
91558         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
91559         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
91560         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
91561         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
91562         invoke multibyte primitives.
91563
91564 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91565
91566         * lib/quotearg.c:
91567         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
91568         so that mbstate_t is always defined.
91569
91570         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
91571         be 1 in at least one GCC installation, and this configuration
91572         error is likely to be common.  Ignoring MB_LEN_MAX hurts
91573         performance on hosts that have mbrtowc but have only unibyte
91574         locales, but I assume these hosts are rare.
91575
91576 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91577
91578         * lib/mbswidth.c (_XOPEN_SOURCE):
91579         Don't define; this causes problems on Solaris 7.
91580         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
91581
91582 2000-07-23  Jim Meyering  <meyering@lucent.com>
91583
91584         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
91585         too: getgrgid, getpwuid, getuid.
91586
91587 2000-07-23  Jim Meyering  <meyering@lucent.com>
91588
91589         * lib/basename.c (base_name): Add an assertion.
91590
91591 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
91592
91593         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
91594         shadow its mbsinit function.
91595
91596 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
91597
91598         * lib/mbswidth.h: New file.
91599         * lib/mbswidth.c: New file.
91600         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
91601         (noinst_HEADERS): Add mbswidth.h.
91602
91603 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
91604
91605         * lib/config.charset: Add support for FreeBSD. Improve support for
91606         HP-UX and IRIX 6.
91607
91608 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
91609
91610         * m4/mbswidth.m4: New file.
91611         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
91612
91613 2000-07-15  Jim Meyering  <meyering@lucent.com>
91614
91615         * lib/makepath.c: Include quote.h.
91616         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
91617         corresponding argument in a `quote (...)' call.
91618         Give better diagnostics.
91619
91620         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
91621         (noinst_HEADERS): Add quote.h.
91622
91623         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
91624         from tar's src/misc.c.
91625         * lib/quote.h: New file.  Prototypes for same.
91626
91627 2000-07-14  Paul Eggert  <eggert@twinsun.com>
91628
91629         From a suggestion by Bruno Haible.
91630         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
91631         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
91632         to decide whether to define the BeOS workaround macro;
91633         this adjusts to the change to AC_MBSTATE_T.
91634
91635 2000-07-14  Jim Meyering  <meyering@lucent.com>
91636
91637         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
91638         jm_AC_TYPE_UINTMAX_T.
91639
91640 2000-07-13  Paul Eggert  <eggert@twinsun.com>
91641
91642         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
91643
91644         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
91645         quotearg_buffer_restyled): Add support for
91646         clocale_quoting_style.  Undo previous change to
91647         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
91648         and "{RIGHT QUOTATION MARK}" msgids.
91649
91650 2000-07-10  Paul Eggert  <eggert@twinsun.com>
91651
91652         From a suggestion by Bruno Haible.
91653         * m4/mbstate_t.m4 (AC_MBSTATE_T):
91654         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
91655         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
91656         and mbstate_t, to a single-part test that simply defines mbstate_t.
91657         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
91658         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
91659
91660 2000-07-10  Jim Meyering  <meyering@lucent.com>
91661
91662         * m4/strerror_r.m4: Mirror the correction made in autoconf.
91663
91664         * m4/gnu-source.m4: Output to confdefs.h directly.
91665         Suggestion from Akim Demaille.
91666
91667 2000-07-09  Paul Eggert  <eggert@twinsun.com>
91668
91669         The old behavior of quoting `like this' doesn't look good with
91670         newer, ISO-style fonts.  See:
91671         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
91672
91673         Instead, quote "like this" by default.  Let the translator
91674         tailor the locale-specific quoting behavior by providing
91675         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
91676
91677         * lib/quotearg.c (N_): New macro.
91678         (gettext_default): New function.
91679         (quotearg_buffer_restyled): Use
91680         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
91681         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
91682
91683 2000-07-09  Jim Meyering  <meyering@lucent.com>
91684
91685         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
91686         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
91687
91688         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
91689         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
91690
91691 2000-07-09  Jim Meyering  <meyering@lucent.com>
91692
91693         * lib/Most files: Update copyright dates to include 2000.
91694
91695 2000-07-08  Jim Meyering  <meyering@lucent.com>
91696
91697         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
91698         if not defined.
91699         (xgethostname): Remove now-unnecessary #ifdef.
91700         Move declaration of `err' into loop where it's used.
91701
91702 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91703         and Bruno Haible  <haible@clisp.cons.org>
91704
91705         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
91706         only if the test for an object-type mbstate_t fails.  This
91707         prevents us from mistakenly reporting that mbstate_t is a
91708         system object type after we "#define mbstate_t int" to work
91709         around its lack.
91710
91711 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91712         and Bruno Haible  <haible@clisp.cons.org>
91713
91714         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
91715
91716 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91717
91718         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
91719         to strerror_r.
91720         Include <ctype.h> for use of isalpha.
91721
91722 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91723
91724         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
91725         by allocating a larger buffer. Test the gethostname return value for
91726         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
91727         returns an error and ENAMETOOLONG isn't defined.
91728
91729 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91730
91731         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
91732         dimension.
91733
91734 2000-07-04  Jim Meyering  <meyering@lucent.com>
91735
91736         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
91737         of the deprecated AC_CHECKING.
91738
91739 2000-07-04  Jim Meyering  <meyering@lucent.com>
91740
91741         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
91742         Reported by Bruno Haible.
91743
91744 2000-07-04  Jim Meyering  <meyering@lucent.com>
91745
91746         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
91747         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
91748         lacks mbrtowc.
91749
91750 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91751
91752         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
91753         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
91754
91755 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91756         and Bruno Haible  <haible@clisp.cons.org>
91757
91758         * lib/quotearg.c (mbrtowc):
91759         Assign to *pwc, and return 1 only if result is nonzero.
91760         (iswprint): Use ISPRINT when substituting our own mbrtowc.
91761
91762 2000-07-03  Jim Meyering  <meyering@lucent.com>
91763
91764         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
91765
91766 2000-07-03  Jim Meyering  <meyering@lucent.com>
91767
91768         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
91769         This is necessary to get a definition of e.g., UTMP_FILE on
91770         HP-UX 10.20.
91771         From Bob Proulx.
91772
91773 2000-07-02  Jim Meyering  <meyering@lucent.com>
91774
91775         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
91776
91777         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
91778         AC_LIBOBJ(function_name).
91779         * m4/chown.m4: Likewise.
91780         * m4/fnmatch.m4: Likewise.
91781         * m4/ftruncate.m4: Likewise.
91782         * m4/getgroups.m4: Likewise.
91783         * m4/getline.m4: Likewise.
91784         * m4/group-member.m4: Likewise.
91785         * m4/jm-macros.m4: Likewise.
91786         * m4/lstat.m4: Likewise.
91787         * m4/malloc.m4: Likewise.
91788         * m4/memcmp.m4: Likewise.
91789         * m4/nanosleep.m4: Likewise.
91790         * m4/putenv.m4: Likewise.
91791         * m4/realloc.m4: Likewise.
91792         * m4/regex.m4: Likewise.
91793         * m4/stat.m4: Likewise.
91794         * m4/strftime.m4: Likewise.
91795
91796 2000-07-02  Jim Meyering  <meyering@lucent.com>
91797
91798         * lib/quotearg.c (mbstate_t): Don't define here.
91799
91800 2000-07-02  Jim Meyering  <meyering@lucent.com>
91801
91802         * lib/nanosleep.c (SIGCONT): Define if not already defined.
91803
91804 2000-07-01  Jim Meyering  <meyering@lucent.com>
91805
91806         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
91807
91808 2000-07-01  Jim Meyering  <meyering@lucent.com>
91809
91810         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
91811         problem.
91812
91813 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91814
91815         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
91816         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
91817
91818 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91819
91820         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
91821         per change in ../m4/ls-mntd-fs.m4.
91822         (read_filesystem_list): Ignore symbolic links.
91823
91824 2000-06-29  Jim Meyering  <meyering@lucent.com>
91825
91826         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
91827         for declaration of strcmp.
91828
91829         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
91830
91831         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
91832         Avoid warning by casting result to `char *' to remove `const'.
91833
91834 2000-06-28  Jim Meyering  <meyering@lucent.com>
91835
91836         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
91837         included by quotearg.c, for which we perform this test.  From
91838         Bruno Haible.
91839
91840 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91841
91842         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
91843         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
91844         <utmpx.h> exists, put readutmp.o into LIBOBJS.
91845
91846 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91847
91848         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
91849
91850 2000-06-26  Paul Eggert  <eggert@twinsun.com>
91851
91852         savedir now sets errno on failure and invokes xmalloc to get memory.
91853         Fix a couple of other minor bugs while we're at it.
91854
91855         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
91856         (NAMLEN): Remove macro.
91857         (malloc, realloc): Remove decls.
91858         (stpcpy): Likewise.
91859         ("xalloc.h"): Include.
91860         (NAME_SIZE_DEFAULT): New macro.
91861         (savedir): Use xmalloc / xrealloc to allocate memory.
91862         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
91863         Skip "" directory entries.
91864         Use strlen to calculate directory entry length, since the old method
91865         is rarely used these days and isn't worth supporting.
91866         Don't use a pointer after freeing it.
91867         Check for integer overflow when calculating allocation size.
91868         Use memcpy to copy entries, instead of stpcpy.
91869         Set errno properly when returning NULL.
91870         Check for readdir error.
91871
91872 2000-06-26  Jim Meyering  <meyering@lucent.com>
91873
91874         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
91875
91876 2000-06-25  Jim Meyering  <meyering@lucent.com>
91877
91878         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
91879         Linux header bug when _XOPEN_SOURCE is defined to 500.
91880
91881 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91882
91883         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
91884         deficiency.
91885
91886 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91887
91888         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
91889         Include xalloc.h.
91890         Don't include <stdlib.h>.  Don't declare malloc, realloc.
91891
91892 2000-06-24  Jim Meyering  <meyering@lucent.com>
91893
91894         * m4/strerror_r.m4: Revive this file -- to try out an experimental
91895         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
91896         for which strerror does return char*, but which lacks a conveniently
91897         accessible declaration of the function.  If the compile-test says
91898         strerror_r doesn't work, then resort to a `run'-test that works on
91899         BeOS and segfaults on DEC Unix.
91900
91901 2000-06-24  Jim Meyering  <meyering@lucent.com>
91902
91903         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
91904
91905 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91906
91907         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
91908         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
91909
91910 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91911
91912         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
91913         (mbrtowc, mbstate_t): Define substitutes if
91914         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
91915         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
91916         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
91917
91918 2000-06-23  Jim Meyering  <meyering@lucent.com>
91919
91920         * m4/afs.m4: Add missing AC_MSG_RESULT.
91921         Reported by Bruno Haible.
91922
91923         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
91924         Suggestion from Bruno Haible.
91925
91926 2000-06-23  Jim Meyering  <meyering@lucent.com>
91927
91928         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
91929
91930 2000-06-21  Jim Meyering  <meyering@lucent.com>
91931
91932         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
91933
91934 2000-06-21  Jim Meyering  <meyering@lucent.com>
91935
91936         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
91937         (noinst_HEADERS): Add getstr.h.
91938
91939         * lib/getline.c (getstr): Move into a separate file.
91940         * lib/getstr.c (getstr): New file, extracted from getline.c, with
91941         the following changes: new parameter, delim2; both delim[12]
91942         parameters have type `int', not `char'.  The latter would lose
91943         with 8-bit delimiters.
91944         * lib/getstr.h: New file.
91945
91946 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91947
91948         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
91949         than 1024, return a memory chunk of least possible size, instead
91950         of size PATH_MAX + 2. In the loop, increment the size proportionally.
91951         Use free/xmalloc instead of xrealloc to avoid copying for very long
91952         paths.
91953
91954 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91955
91956         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
91957         the empty string.
91958
91959 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91960
91961         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
91962         address, not strdup.  Include <stdlib.h> and don't declare free().
91963
91964 2000-06-19  Jim Meyering  <meyering@lucent.com>
91965
91966         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
91967
91968 2000-06-18  Jim Meyering  <meyering@lucent.com>
91969
91970         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
91971
91972         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
91973         `checking whether...' message to be consistent with that of the
91974         lstat test.
91975
91976 2000-06-18  Jim Meyering  <meyering@lucent.com>
91977
91978         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
91979         Besides, these days every porting target provides a mkdir function.
91980
91981         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
91982         needed. (this snippet comes from src/system.h).
91983
91984 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
91985
91986         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
91987
91988 2000-06-15  Paul Eggert  <eggert@twinsun.com>
91989
91990         * lib/human.c (adjust_value): New function.
91991         (human_readable_inexact): Apply rounding style even when
91992         printing approximate values.
91993
91994 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91995
91996         * lib/human.c (human_readable_inexact): Allow an input block
91997         size that is not a multiple of the output block size, and vice versa.
91998         Reported by Piergiorgio Sartor.
91999
92000 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92001
92002         * lib/getdate.y (get_date): Apply relative times after time
92003         zone indicator, not before.  Reported by Todd A. Jacobs.
92004
92005 2000-06-13  Jim Meyering  <meyering@lucent.com>
92006
92007         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92008
92009         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92010
92011 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92012
92013         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92014
92015 2000-06-12  Jim Meyering  <meyering@lucent.com>
92016
92017         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92018         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92019         optional argument.
92020         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92021         the optional argument, `lib'.
92022
92023 2000-06-08  Jim Meyering  <meyering@lucent.com>
92024
92025         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92026
92027 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92028
92029         Rewrite largefile configuration so that we don't need to run
92030         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92031         AC_CANONICAL_HOST in configure.in -- jmm]
92032
92033         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92034         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92035         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92036         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92037         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92038         All uses changed.
92039         Instead of inspecting the output of getconf, try to compile the
92040         test program without and with the macro definition.
92041         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92042         for getconf.  Instead, check for the needed flags by compiling
92043         test programs.
92044
92045 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92046
92047         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92048
92049 2000-06-04  Jim Meyering  <meyering@lucent.com>
92050
92051         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92052         SunOS 4.1.4 for which gid_t is an unsigned type.
92053
92054 2000-06-03  Jim Meyering  <meyering@lucent.com>
92055
92056         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92057         now that autoconf requires that.
92058
92059         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92060         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92061         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92062
92063 2000-06-03  Jim Meyering  <meyering@lucent.com>
92064
92065         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92066
92067 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92068
92069         * m4/glibc21.m4: New file.
92070         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92071
92072 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92073
92074         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92075         newer, don't install charset.alias.
92076         * lib/config.charset: Change the Linux/glibc rules so they become empty
92077         on glibc-2.1 or newer.
92078
92079 2000-06-02  Jim Meyering  <meyering@lucent.com>
92080
92081         * lib/mountlist.c: Back out last change.  Instead, do this...
92082         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92083         me_dummy member using the same `ignore'-testing code.
92084         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92085         fs_type strings.
92086         From Mark D. Roth.
92087
92088 2000-05-29  Jim Meyering  <meyering@lucent.com>
92089
92090         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92091         mounts with the `ignore' attribute.  Based on a patch from
92092         Mark D. Roth.
92093
92094 2000-05-28  Jim Meyering  <meyering@lucent.com>
92095
92096         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92097         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92098         * m4/stat.m4: Likewise.
92099         * m4/lstat.m4: Likewise.
92100         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92101
92102         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92103         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92104
92105 2000-05-26  Jim Meyering  <meyering@lucent.com>
92106
92107         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92108
92109 2000-05-24  Jim Meyering  <meyering@lucent.com>
92110
92111         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92112         autoconf requires that.
92113         * m4/lib-check.m4: Likewise.
92114         * m4/jm-macros.m4: Likewise.
92115         * m4/strftime.m4: Likewise.
92116
92117         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92118         AC_CHECK_DECLS, now that autoconf requires that.
92119
92120 2000-05-22  Jim Meyering  <meyering@lucent.com>
92121
92122         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92123         * m4/lstat.m4: Likewise.
92124
92125 2000-05-22  Jim Meyering  <meyering@lucent.com>
92126
92127         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92128
92129 2000-05-20  Jim Meyering  <meyering@lucent.com>
92130
92131         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92132         (jm_PREREQ): Use it.
92133
92134 2000-05-18  Jim Meyering  <meyering@lucent.com>
92135
92136         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92137         back, too, since it may have been modified by allocate_entry.
92138         (hash_delete): Rewrite to use neither the assignment operator
92139         nor the comma operator in an if-expression.
92140
92141 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92142
92143         * lib/closeout.c:
92144         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92145         Remove; no longer needed.
92146         "quotearg.h": Add include.
92147         (file_name): Do not bother to explicitly initialize to NULL; it's less
92148         efficient on some hosts.
92149         (close_stdout_status): Remove test as to whether stdout was already
92150         closed; it breaks for the case "echo x | sort >&-".
92151         Quote file name colons.
92152         Do not assume that _("write error") lacks format strings.
92153
92154 2000-05-15  Jim Meyering  <meyering@lucent.com>
92155
92156         * lib/version-etc.c (version_etc_copyright): Update the copyright
92157         string used in all --version output.
92158
92159 2000-05-14  Jim Meyering  <meyering@lucent.com>
92160
92161         * lib/closeout.c (close_stdout_set_file_name): New function.
92162         (close_stdout_status): Use new file-scoped global.
92163         Return right away if fstat says the stdout file descriptor is invalid.
92164         * lib/closeout.h (close_stdout_set_file_name): Declare.
92165
92166 2000-05-10  Jim Meyering  <meyering@lucent.com>
92167
92168         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92169         (close_stdout_set_status): New function.
92170         * lib/closeout.h (close_stdout_set_status): Declare.
92171
92172 2000-05-09  Jim Meyering  <meyering@lucent.com>
92173
92174         * m4/gettext.m4: Rename this...
92175         * m4/libintl.m4: ...to this.
92176
92177 2000-05-08  Jim Meyering  <meyering@lucent.com>
92178
92179         * lib/long-options.c: Don't include closeout.h.
92180         (parse_long_options): Don't call close_stdout for --version.
92181
92182 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92183
92184         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92185         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92186         2.1.3 bug.  This avoids a clash when files like regex.c define
92187         _GNU_SOURCE.
92188
92189 2000-05-06  Jim Meyering  <meyering@lucent.com>
92190
92191         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
92192         (AC_REPLACE_FUNCS): Add strnlen.
92193
92194         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
92195         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
92196
92197         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
92198         AC_SEARCH_LIBS call for nanosleep.
92199         (LIB_NANOSLEEP): Set and AC_SUBST.
92200
92201 2000-05-06  Jim Meyering  <meyering@lucent.com>
92202
92203         * lib/strnlen.c: Undefine __strnlen and strnlen.
92204         [!weak_alias]: Define __strnlen to strnlen.
92205
92206         * lib/atexit.c: New file, from libiberty.
92207
92208 2000-05-06  Jim Meyering  <meyering@lucent.com>
92209
92210         * lib/closeout.c (close_stdout_status): Also check for errors on the
92211         stderr stream.
92212
92213 2000-05-05  Jim Meyering  <meyering@lucent.com>
92214
92215         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
92216         AC_SEARCH_LIBS call for clock_gettime.
92217         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
92218
92219         * m4/search-libs.m4: Update from autoconf.
92220
92221         su doesn't work on Solaris 2.6.
92222         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
92223         <shadow.h>.  Reported by Dragos Harabor.
92224
92225 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
92226
92227         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
92228         memcpy instead of xmalloc, xrealloc, path_concat.
92229         (locale_charset): Treat empty environment variables as absent.
92230         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
92231
92232 2000-05-04  Jim Meyering  <meyering@lucent.com>
92233
92234         * lib/getopt.c: Update from glibc.
92235         * lib/obstack.c: Likewise.
92236         * lib/obstack.h: Likewise.
92237         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
92238         file
92239
92240         * lib/regex.h: Likewise.
92241         * lib/strndup.c: Likewise.
92242         * lib/strnlen.c: New file, from glibc.
92243
92244 2000-05-03  Jim Meyering  <meyering@lucent.com>
92245
92246         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
92247
92248 2000-05-02  Paul Eggert  <eggert@twinsun.com>
92249
92250         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
92251         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
92252         compile-time test, rather than inspecting host and OS, to
92253         decide whether to define _LARGEFILE_SOURCE.
92254
92255 2000-05-01  Jim Meyering  <meyering@lucent.com>
92256
92257         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
92258
92259         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
92260         Based on a patch from Bruno Haible.
92261
92262 2000-05-01  Jim Meyering  <meyering@lucent.com>
92263
92264         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
92265
92266 2000-04-29  Jim Meyering  <meyering@lucent.com>
92267
92268         * lib/path-concat.c: Declare strdup only if it's not defined.
92269         * lib/canon-host.c: Likewise.
92270
92271 2000-04-28  Jim Meyering  <meyering@lucent.com>
92272
92273         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
92274         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
92275         is included first, then limits.h is included by locale.h by libintl.h.
92276         From John David Anglin.
92277
92278 2000-04-25  Jim Meyering  <meyering@lucent.com>
92279
92280         * lib/makepath.c (S_IRWXUGO): Define.
92281         (make_path): Always perform explicit chmod if MODE specifies any
92282         of the `special' permission bits.  Prompted by a bug report against
92283         install from Mate Wierdl and Joost van Baal.
92284
92285 2000-04-18  Jim Meyering  <meyering@lucent.com>
92286
92287         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
92288         (jm_PREREQ): Use it.
92289
92290 2000-04-18  Jim Meyering  <meyering@lucent.com>
92291
92292         * lib/README: New file.
92293
92294         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
92295         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
92296
92297 2000-04-17  Jim Meyering  <meyering@lucent.com>
92298
92299         Get it right :-)
92300         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
92301         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
92302         Suggestion from Akim Demaille.
92303
92304 2000-04-17  Jim Meyering  <meyering@lucent.com>
92305
92306         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
92307         the definition of it to rpl_strftime also defined-away the system's
92308         declaration.
92309
92310 2000-04-15  Jim Meyering  <meyering@lucent.com>
92311
92312         Use `C' to denote so-called `contiguous' files, the same way
92313         that tar does.
92314         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
92315         (ftypelet): Use S_ISCTG.
92316         From Michael Deutschmann.
92317
92318 2000-04-14  Jim Meyering  <meyering@lucent.com>
92319
92320         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
92321         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
92322         clobbered.
92323
92324 2000-04-14  Jim Meyering  <meyering@lucent.com>
92325
92326         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
92327
92328 2000-04-13  Jim Meyering  <meyering@lucent.com>
92329
92330         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
92331         AH_VERBATIM to insert required #ifndef into config.h.in.
92332         Suggestion from Akim Demaille.
92333
92334 2000-04-12  Jim Meyering  <meyering@lucent.com>
92335
92336         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
92337         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
92338         Christian Krackowizer.
92339
92340         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
92341         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
92342         (AC_SYS_LARGEFILE): Require.
92343         (AM_C_PROTOTYPES): Require.
92344
92345 2000-04-08  Jim Meyering  <meyering@lucent.com>
92346
92347         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
92348         names don't conflict.  Reported by Eli Zaretskii.
92349
92350 2000-04-07  Jim Meyering  <meyering@lucent.com>
92351
92352         * lib/putenv.c: Move inclusion of errno.h so it follows that of
92353         sys/types.h, to work around system header problems on AIX 3.2.5.
92354         From Bruno Haible.
92355
92356 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
92357
92358         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
92359         bug.  Deal with the different error behavior of Irix iconv.
92360
92361 2000-04-05  Paul Eggert  <eggert@twinsun.com>
92362
92363         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
92364         IRIX if the installer said otherwise.
92365
92366 2000-04-05  Jim Meyering  <meyering@lucent.com>
92367
92368         Portability tweaks required for ultrix4.3.
92369         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
92370         (jm_CHECK_DECLS): Add getutent to the list of functions.
92371         (_jm_DECL_HEADERS): Add utmpx.h.
92372         From John David Anglin.
92373
92374         * m4/strftime.m4: Back out the 2000-04-02 change.
92375         Instead of that change, simply undefine putenv in the test program.
92376
92377 2000-04-05  Jim Meyering  <meyering@lucent.com>
92378
92379         Portability tweaks required for ultrix4.3.
92380         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
92381         getutent.
92382         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
92383         * lib/canon-host.c: Declare strdup.
92384         * lib/path-concat.c: Likewise.
92385         From John David Anglin.
92386
92387 2000-04-04  Jim Meyering  <meyering@lucent.com>
92388
92389         Be more DOS 8.3-friendly.
92390         * lib/ref-add.sin: Renamed from ref-add.sed.in.
92391         * lib/ref-del.sin: Renamed from ref-del.sed.in.
92392         * lib/Makefile.am: Reflect renaming.
92393         Reported by Eli Zaretskii.
92394
92395         Use a temporary file name that won't clash with `charset.alias'
92396         in the DOS 8.3 name space.
92397         * lib/Makefile.am (charset_tmp): Define.
92398         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
92399         (uninstall-local): Likewise.
92400         Reported by Eli Zaretskii.
92401
92402 2000-04-03  Jim Meyering  <meyering@lucent.com>
92403
92404         * m4/gettext.m4: Fix typo in comment.
92405
92406         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
92407         textutils/configure.in).  Suggestion from Paul Eggert.
92408         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
92409
92410 2000-04-02  Paul Eggert  <eggert@twinsun.com>
92411
92412         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
92413         variable in the shell rather than using putenv, which isn't
92414         portable.  This avoids the configure-time inter-test dependency
92415         on the potentially-renamed putenv function.
92416
92417 2000-03-30  Paul Eggert  <eggert@twinsun.com>
92418
92419         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
92420         before checking struct stat.st_blksize, so that
92421         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
92422
92423 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92424
92425         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
92426         since strftime.c uses HAVE_STRFTIME to decide whether to use
92427         the underlying strftime.
92428
92429 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92430
92431         * lib/time/strftime.c (my_strftime): Make sure we call the system
92432         strftime, not ourselves, when invoking the underlying strftime.
92433
92434 2000-03-24  Jim Meyering  <meyering@lucent.com>
92435
92436         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
92437         (charset_alias): Define.
92438         (install-exec-local): Factor out common code.
92439         (uninstall-local): Split lines longer than 80.
92440         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
92441         (SUFFIXES): Define.
92442         (.sed.in.sed): New rule.  Don't redirect directly to $@.
92443         (CLEANFILES): Add ref-add.sed and ref-del.sed.
92444
92445 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
92446
92447         * lib/config.charset: Output a line containing "Packages using this
92448         file".
92449         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
92450         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
92451         ref-del.sed): New rules.
92452
92453 2000-03-17  Jim Meyering  <meyering@lucent.com>
92454
92455         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
92456         Otherwise, include <strings.h>
92457
92458 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
92459
92460         * lib/unicodeio.c (utf8_wctomb): New function.
92461         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
92462         format instead of in UCS-4 with platform dependent endianness.
92463
92464 2000-03-10  Jim Meyering  <meyering@lucent.com>
92465
92466         * m4/lib-check.m4: Look for getspnam in -lgen, too.
92467         From Marco Franzen.
92468
92469 2000-03-07  Paul Eggert  <eggert@twinsun.com>
92470
92471         * lib/savedir.c (savedir): Work even if directory size is
92472         negative; this can happen with some screwy NFS configurations.
92473
92474 2000-03-06  Jim Meyering  <meyering@lucent.com>
92475
92476         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
92477         if it's NULL (because we ran out of memory).  From Bruno Haible.
92478
92479 2000-03-05  Jim Meyering  <meyering@lucent.com>
92480
92481         * lib/localcharset.c ("path-concat.h"): Include.
92482         (get_charset_aliases): Use path_concat instead of ANSI string
92483         concatenation.
92484
92485         * lib/unicodeio.h (PARAMS): Define.
92486         Use it to guard prototype.
92487
92488 2000-03-04  Jim Meyering  <meyering@lucent.com>
92489
92490         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
92491         for lib/localcharset.c.
92492
92493 2000-03-04  Jim Meyering  <meyering@lucent.com>
92494
92495         * lib/Makefile.am (install-exec-local): Create $(libdir) before
92496         installing into it.
92497         (uninstall-local): Uncomment this rule so `make distcheck' works
92498         once again.
92499
92500         * lib/unicodeio.c (<errno.h>): Include it.
92501         (errno): Declare if not defined.
92502
92503         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
92504
92505         * lib/config.charset: New version, incorporating remarks from a linux
92506         i18n mailing list.  From Bruno Haible.
92507
92508 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
92509
92510         * m4/codeset.m4: New file.
92511         * m4/iconv.m4: New file.
92512         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
92513
92514 2000-03-03  Jim Meyering  <meyering@lucent.com>
92515
92516         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
92517
92518 2000-03-02  Jim Meyering  <meyering@lucent.com>
92519
92520         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
92521         the messages come out on separate lines.
92522
92523         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
92524         rather than jm_CHECK_DECLARATIONS.
92525         * m4/decl.m4: Remove now-unused file.
92526
92527         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
92528         geteuid.
92529
92530 2000-03-02  Jim Meyering  <meyering@lucent.com>
92531
92532         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
92533
92534 2000-03-01  Jim Meyering  <meyering@lucent.com>
92535
92536         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
92537         * lib/unicodeio.c: Likewise.
92538
92539 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
92540
92541         * lib/config.charset: New file.
92542         * lib/localcharset.c: New file.
92543         * lib/unicodeio.h, lib/unicodeio.c: New files.
92544         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
92545         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
92546         (noinst_HEADERS): Add unicodeio.h.
92547         (all-local, install-exec-local, charset.alias): New targets.
92548
92549 2000-02-28  Paul Eggert  <eggert@twinsun.com>
92550
92551         * lib/quotearg.c (ALERT_CHAR): New macro.
92552         (quotearg_buffer_restyled): Use it.
92553
92554 2000-02-27  Jim Meyering  <meyering@lucent.com>
92555
92556         * m4/check-decl.m4: Add getenv to the list.
92557
92558 2000-02-27  Jim Meyering  <meyering@lucent.com>
92559
92560         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
92561         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
92562
92563         * lib/backupfile.c: Guard inclusion of stdlib.h with
92564         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
92565         Declare malloc if needed.
92566
92567         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
92568         `#ifndef HAVE_DECL..'
92569         now that autoconf always defines the HAVE_DECL_ symbols.
92570         * lib/human.c: Likewise.
92571         * lib/same.c: Likewise.
92572         * lib/strtoumax.c: Likewise.
92573
92574         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
92575         declaration check was not run.
92576         * lib/hash.c: Likewise.
92577         * lib/human.c: Likewise.
92578         * lib/same.c: Likewise.
92579         * lib/strtoumax.c: Likewise.
92580
92581         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
92582         `.', then first look up the entire `.'-containing string as a login
92583         name.
92584
92585 2000-02-23  Jim Meyering  <meyering@lucent.com>
92586
92587         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
92588         in place of my hack.
92589
92590 2000-02-18  Paul Eggert  <eggert@twinsun.com>
92591
92592         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
92593         (textint): New typedef.
92594         (parser_control): Member year changed from int to textint.
92595         All uses changed.
92596         (YYSTYPE): Removed; replaced by %union with int and textint members.
92597         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
92598         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
92599         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
92600         (tSNUMBER, tUNUMBER): Now of type <textintval>.
92601         (date, number, to_year): Use width of number in digits, not its value,
92602         to determine whether it's a 2-digit year, or a 2-digit time.
92603         (yylex): Store number of digits of numeric tokens.
92604         Reported by John Kendall.
92605
92606         (parser_control): Changed from struct parser_control to typedef (for
92607         consistency).  All uses changed.
92608
92609         (tID): Removed; not used.
92610         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
92611
92612 2000-02-14  Paul Eggert  <eggert@twinsun.com>
92613
92614         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
92615         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
92616
92617 2000-02-12  Jim Meyering  <meyering@lucent.com>
92618
92619         * lib/userspec.c (ISDIGIT): Define it.
92620         (isdigit): Remove definition.
92621         (is_number): Use ISDIGIT, not isdigit.
92622         <libintl.h>: Include.
92623         (_ and N_): Define.
92624         (parse_user_spec): Mark translatable strings.
92625
92626 2000-02-10  Jim Meyering  <meyering@lucent.com>
92627
92628         With these changes, nanosleep.[ch] are finally enough like the other
92629         lib/* replacement files to compile on a few more losing systems.
92630
92631         * lib/nanosleep.h: Don't include config.h.
92632         Remove prototype from declaration of nanosleep.
92633         (PARAMS): Remove now-unneeded definition.
92634         * lib/nanosleep.c: #undef nanosleep.
92635         (rpl_nanosleep): Rename from nanosleep.
92636
92637 2000-02-10  Jim Meyering  <meyering@lucent.com>
92638
92639         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
92640         gnu_nanosleep to rpl_nanosleep.
92641
92642 2000-02-09  Jim Meyering  <meyering@lucent.com>
92643
92644         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
92645         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
92646
92647 2000-02-08  Akim Demaille  <akim@epita.fr>
92648
92649         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
92650         `[' and `]' and remove uses of `changequote'.
92651         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
92652         (AC_SYS_LARGEFILE): Likewise.
92653         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
92654         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
92655         of changequote.
92656         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
92657         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
92658         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
92659         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
92660
92661 2000-02-05  Jim Meyering  <meyering@lucent.com>
92662
92663         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
92664         Remove explicit use of AC_HEADER_TIME.  It is required by
92665         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
92666         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
92667         in autoconf whereby the expansion of the latter ended up preceding
92668         the expansion of its prerequisite, AC_HEADER_TIME.
92669         Reported by Volker Borchert.
92670
92671 2000-02-03  Jim Meyering  <meyering@lucent.com>
92672
92673         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
92674
92675 2000-02-03  Jim Meyering  <meyering@lucent.com>
92676
92677         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
92678         rather than with `#if HAVE_UTMPNAME'.
92679
92680 2000-02-02  Jim Meyering  <meyering@lucent.com>
92681
92682         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
92683         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
92684         Reported by Eli Zaretskii.
92685
92686 2000-02-01  Jim Meyering  <meyering@lucent.com>
92687
92688         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
92689
92690 2000-01-31  Jim Meyering  <meyering@lucent.com>
92691
92692         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
92693         functions.  Add the time.h and sys/time.h headers along with the
92694         AC_REQUIRE'ment of AC_HEADER_TIME.
92695
92696 2000-01-31  Jim Meyering  <meyering@lucent.com>
92697
92698         * lib/nanosleep.h (nanosleep): Guard declaration with
92699         `#if ! HAVE_DECL_NANOSLEEP'.
92700         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
92701         the declaration in that vendor's sys/timers.h.
92702         Reported by Christian Krackowizer.
92703
92704         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
92705         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
92706         (ISPRINT): Likewise.
92707         Reported by Tom Tromey.
92708
92709 2000-01-30  Jim Meyering  <meyering@lucent.com>
92710
92711         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
92712
92713         * m4/prereq.m4 (utmp_includes): Define.
92714         Check for ut_user and ut_name members in both struct utmpx
92715         and struct utmp.
92716
92717 2000-01-30  Jim Meyering  <meyering@lucent.com>
92718
92719         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
92720         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
92721         header files where only utmpx.ut_user is declared.
92722
92723         * lib/readutmp.h (UT_USER): Define.
92724
92725 2000-01-29  Jim Meyering  <meyering@lucent.com>
92726
92727         * m4/lib-check.m4: New file containing library-related checks from
92728         fileutils and sh-utils (textutils had none).
92729
92730 2000-01-28  Jim Meyering  <meyering@lucent.com>
92731
92732         * m4/perl.m4: Change format of warning message to look more like that
92733         from the missing script.  Suggestion from François Pinard.
92734
92735 2000-01-25  Jim Meyering  <meyering@lucent.com>
92736
92737         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
92738         well as time.h in the compile check.
92739         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
92740         Fix typo in cross-compiling case: s/yes/no/.
92741
92742 2000-01-23  Jim Meyering  <meyering@lucent.com>
92743
92744         * m4/jm-macros.m4: Move df-related tests here from
92745         fileutils/configure.in
92746
92747         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
92748         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
92749
92750         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
92751         s/space/ac_fsusage_space/.
92752         (jm_FILE_SYSTEM_USAGE): Take two parameters.
92753
92754         * m4/ftruncate.m4: New file (derived from part of
92755         fileutils/configure.in).
92756         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
92757         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
92758
92759         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
92760         AC_SUBST these here, rather than just in sh-util/configure.in, so
92761         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
92762         all the same.
92763         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
92764         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
92765         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
92766         (AC_SUBST(POW_LIBM)): Likewise.
92767         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
92768
92769 2000-01-23  Jim Meyering  <meyering@lucent.com>
92770
92771         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
92772         obstack.c.
92773
92774 2000-01-22  Jim Meyering  <meyering@lucent.com>
92775
92776         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
92777
92778         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
92779
92780         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
92781         configure.in
92782         (AC_CHECK_HEADERS): Likewise for sh-utils.
92783         (AC_CHECK_HEADERS): Likewise for textutils.
92784         Merge the three lists of headers.
92785
92786         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
92787         from fileutils' configure.in.
92788
92789         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
92790         code. Moved tests into their own function (_jm_DECL_HEADERS) in
92791         check-decl.m4.
92792
92793         * m4/check-decl.m4: Use #if rather than #ifdef.
92794         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
92795         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
92796         (_jm_DECL_HEADERS): Define new function.
92797         (jm_CHECK_DECLARATIONS): Require it.
92798
92799 2000-01-22  Jim Meyering  <meyering@lucent.com>
92800
92801         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
92802         [! HAVE_DECL_STRTOULL]: Declare strtoull.
92803         Required for some AIX systems.  Reported by Christian Krackowizer.
92804         [TESTING] (main): New function.
92805
92806         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
92807         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
92808         letters.
92809
92810         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
92811         iswprint.
92812
92813         * lib/strverscmp.c (ISDIGIT): Define.
92814         (strverscmp): Use ISDIGIT, not isdigit.
92815
92816 2000-01-19  Jim Meyering  <meyering@lucent.com>
92817
92818         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
92819         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
92820         defines `struct timespec' in <sys/time.h>
92821
92822         * m4/c-bs-a.m4: Remove uses of changequote altogether.
92823         Thanks to Akim for explaining.
92824
92825 2000-01-17  Paul Eggert  <eggert@twinsun.com>
92826
92827         * lib/nanosleep.c (nanosleep):
92828         Don't use SA_INTERRUPT to decide whether to call sigaction, as
92829         POSIX.1 doesn't require SA_INTERRUPT and some systems
92830         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
92831         it's been part of POSIX.1 since day 1 (in 1988).
92832
92833 2000-01-17  Jim Meyering  <meyering@lucent.com>
92834
92835         * lib/interlock: Remove unused file.  Reported by François Pinard.
92836
92837 2000-01-16  Paul Eggert  <eggert@twinsun.com>
92838
92839         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
92840         alert, backslash, formfeed, and vertical tab unnecessarily in
92841         shell quoting style.
92842
92843 2000-01-16  Jim Meyering  <meyering@lucent.com>
92844
92845         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
92846         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
92847         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
92848         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
92849
92850 2000-01-16  Jim Meyering  <meyering@lucent.com>
92851
92852         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
92853         because the latter didn't work.
92854
92855 2000-01-15  Jim Meyering  <meyering@lucent.com>
92856
92857         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
92858         (AC_REPLACE_FUNCS): Add memcpy and memset.
92859         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
92860         Add strpbrk.
92861         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
92862
92863 2000-01-12  Jim Meyering  <meyering@lucent.com>
92864
92865         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
92866         (jm_PREREQ): Use it.
92867         (jm_PREREQ_READUTMP): New macro.
92868         (jm_PREREQ): Use it.
92869
92870 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92871
92872         Quote multibyte characters correctly.
92873         * m4/c-bs-a.m4: New file.
92874         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
92875         (jm_PREREQ): Use it.
92876
92877 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92878
92879         * m4/uintmax_t.m4: Port to autoconf 2.13.
92880
92881 2000-01-08  Jim Meyering  <meyering@ascend.com>
92882
92883         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
92884         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
92885
92886 2000-01-04  Jim Meyering  <meyering@ascend.com>
92887
92888         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
92889         jm_STRUCT_DIRENT_D_TYPE.
92890         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
92891         jm_STRUCT_DIRENT_D_INO.
92892         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
92893         jm_STRUCT_UTIMBUF.
92894         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
92895         renamings.
92896         * m4/utime.m4: Likewise.
92897
92898         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
92899         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
92900
92901 2000-01-03  Paul Eggert  <eggert@twinsun.com>
92902
92903         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
92904         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
92905
92906 2000-01-02  Jim Meyering  <meyering@ascend.com>
92907
92908         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
92909         remember if this is necessary.
92910
92911 1999-12-26  Jim Meyering  <meyering@ascend.com>
92912
92913         * m4/jm-macros.m4: Use it here.
92914         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
92915
92916 1999-12-23  Jim Meyering  <meyering@ascend.com>
92917
92918         * m4/jm-macros.m4: Check for clock_gettime (moved from
92919         fileutils/configure.in)
92920         Check for gettimeofday.
92921
92922 1999-12-20  Jim Meyering  <meyering@ascend.com>
92923
92924         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
92925         autoconf-2.14a-1999-12-20.
92926
92927 1999-12-19  Jim Meyering  <meyering@ascend.com>
92928
92929         * m4/lstat-slash.m4: New file.
92930         * m4/jm-macros.m4: Use the new macro:
92931         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92932
92933 1999-12-07  Jim Meyering  <meyering@ascend.com>
92934
92935         * m4/perl.m4: Require that File::Compare be available, too.
92936         Too many systems seem to lack it.
92937
92938         * m4/strftime.m4: Add checks for most of the cpp macros tested in
92939         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
92940
92941 1999-11-18  Paul Eggert  <eggert@twinsun.com>
92942
92943         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
92944         problem with the QNX 4.25 shell, which doesn't propagate exit
92945         status of failed commands inside shell assignments.
92946
92947 1999-11-17  Jim Meyering  <meyering@ascend.com>
92948
92949         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
92950
92951 1999-11-07  Jim Meyering  <meyering@ascend.com>
92952
92953         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
92954
92955 1999-11-06  Jim Meyering  <meyering@ascend.com>
92956
92957         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
92958         * m4/jm-macros.m4 (jm_MACROS): Use it here.
92959
92960 1999-11-05  Jim Meyering  <meyering@ascend.com>
92961
92962         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
92963         configure.in of textutils, fileutils, and sh-utils into this one
92964         (shared between those packages) file.
92965         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
92966         AC_STRUCT_ST_BLKSIZE.
92967
92968 1999-11-03  Jim Meyering  <meyering@ascend.com>
92969
92970         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
92971         of AC_CHECK_TYPE checks includes unistd.h.
92972         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
92973         Suggestion from Akim Demaille.
92974
92975 1999-10-30  Jim Meyering  <meyering@ascend.com>
92976
92977         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
92978         m4-quoted string.
92979         * m4/ls-mntd-fs.m4: Likewise.
92980         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
92981         * m4/jm-winsz1.m4: Likewise.
92982
92983         * m4/const.m4: Remove file, since the fix made it into the experimental
92984         version of autoconf.
92985         * m4/mktime.m4: Likewise.
92986
92987         * m4/check-type.m4: Remove file, now that the latest version of
92988         AC_CHECK_TYPE takes a third arg to specify additional #includes.
92989
92990         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
92991         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
92992         AC_CHECK_TYPE.
92993
92994 1999-10-04  Jim Meyering  <meyering@ascend.com>
92995
92996         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
92997
92998 1999-09-22  Paul Eggert  <eggert@twinsun.com>
92999
93000         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93001         2.95.1 bug with HP-UX 10.20.
93002
93003 1999-09-17  Jim Meyering  <meyering@ascend.com>
93004
93005         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93006         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93007         due to missing strdup (against sh-utils-2.0).
93008
93009 1999-08-29  Jim Meyering  <meyering@ascend.com>
93010
93011         * m4/jm-macros.m4: Require jm_BISON.
93012         * m4/bison.m4: New file.
93013
93014 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93015
93016         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93017         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93018
93019 1999-08-05  Jim Meyering  <meyering@ascend.com>
93020
93021         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93022         to avoid conflicts with `conftest' on 8+3 filesystems.
93023         Suggestion from Eli Zaretskii.
93024
93025 1999-08-04  Jim Meyering  <meyering@ascend.com>
93026
93027         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93028         fileutils and sh-utils (textutils's getline test was inadequate).
93029         (AM_FUNC_GETLINE): Run this test.
93030         (AC_CHECK_FUNCS): Check for getdelim.
93031         Reported by Bob Proulx.
93032
93033 1999-08-02  Jim Meyering  <meyering@ascend.com>
93034
93035         * m4/jm-macros.m4: Add a comment.
93036
93037 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93038
93039         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93040         <inttypes.h> defines strtoumax as a macro (and not as a
93041         function).
93042
93043 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93044
93045         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93046         that we can shift, multiply and divide unsigned long long
93047         values; Ultrix cc can't do it.
93048
93049 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93050
93051         * m4/mktime.m4: New file, which is a preview of what should appear
93052         in the next public autoconf release.
93053
93054 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93055
93056         * m4/lfs.m4: Remove this file.
93057         * m4/largefile.m4: New file.  It contains the old contents of
93058         lfs.m4, except that all names with prefix AC_LFS have been
93059         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93060         compatible with future autoconf versions.  Also, some minor m4
93061         quoting problems have been fixed.
93062
93063 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93064
93065         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93066         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93067         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93068         and simplify the shell code.
93069
93070 1999-08-01  Jim Meyering  <meyering@ascend.com>
93071
93072         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93073         m4.
93074
93075 1999-07-20  Jim Meyering  <meyering@ascend.com>
93076
93077         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93078
93079 1999-07-15  Jim Meyering  <meyering@ascend.com>
93080
93081         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93082
93083 1999-05-22  Jim Meyering  <meyering@ascend.com>
93084
93085         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93086
93087 1999-05-20  Jim Meyering  <meyering@ascend.com>
93088
93089         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93090         Add a colon after each `then' in case $4 is empty.
93091
93092 1999-05-16  Jim Meyering  <meyering@ascend.com>
93093
93094         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93095
93096 1999-05-10  Jim Meyering  <meyering@ascend.com>
93097
93098         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93099
93100         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93101         AC_FUNC_MKTIME.
93102
93103 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93104
93105         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93106
93107 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93108
93109         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93110         not CPPFLAGS, so that linking works correctly in IRIX.
93111
93112 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93113
93114         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93115
93116 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93117
93118         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93119         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93120         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93121         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93122         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93123
93124         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93125
93126 1999-04-20  Jim Meyering  <meyering@ascend.com>
93127
93128         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93129         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93130         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93131
93132 1999-04-18  Jim Meyering  <meyering@ascend.com>
93133
93134         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93135         * m4/jm-macros.m4: Use it.
93136
93137 1999-04-06  Jim Meyering  <meyering@ascend.com>
93138
93139         * m4/strftime.m4: Remove test for %f.
93140
93141 1999-03-29  Jim Meyering  <meyering@ascend.com>
93142
93143         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93144         superset of the AC_TYPE_* checks in the textutils, fileutils,
93145         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93146         AC_TYPE_PID_T.
93147
93148 1999-03-28  Jim Meyering  <meyering@ascend.com>
93149
93150         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93151         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93152         replaced e.g., in the *.sh files of the sh-utils.
93153
93154 1999-03-20  Jim Meyering  <meyering@ascend.com>
93155
93156         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
93157         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
93158         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
93159
93160 1999-03-19  Jim Meyering  <meyering@ascend.com>
93161
93162         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
93163
93164 1999-03-12  Jim Meyering  <meyering@ascend.com>
93165
93166         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
93167
93168 1999-03-07  Jim Meyering  <meyering@ascend.com>
93169
93170         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93171         declared.
93172
93173 1999-02-17  Jim Meyering  <meyering@ascend.com>
93174
93175         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93176         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93177
93178 1999-02-07  Jim Meyering  <meyering@ascend.com>
93179
93180         * m4/group-member.m4: New file -- extracted from sh-utils'
93181         configure.in.
93182
93183         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93184         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93185
93186 1999-02-06  Jim Meyering  <meyering@ascend.com>
93187
93188         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
93189         * m4/fnmatch.m4: Likewise.
93190         * m4/getgroups.m4: Likewise.
93191         * m4/lstat.m4: Likewise.
93192         * m4/malloc.m4: Likewise.
93193         * m4/putenv.m4: Likewise.
93194         * m4/realloc.m4: Likewise.
93195         * m4/regex.m4: Likewise.
93196         * m4/stat.m4: Likewise.
93197         * m4/strftime.m4: Likewise.
93198         Suggestion from Alain Magloire.
93199
93200         * m4/chown.m4: Use `.$ac_objext', not `.o'.
93201         * m4/fnmatch.m4: Likewise.
93202         * m4/getgroups.m4: Likewise.
93203         * m4/getline.m4: Likewise.
93204         * m4/lstat.m4: Likewise.
93205         * m4/malloc.m4: Likewise.
93206         * m4/memcmp.m4: Likewise.
93207         * m4/putenv.m4: Likewise.
93208         * m4/realloc.m4: Likewise.
93209         * m4/regex.m4: Likewise.
93210         * m4/stat.m4: Likewise.
93211         * m4/strftime.m4: Likewise.
93212         Suggestion from Alain Magloire.
93213
93214         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
93215         an argument.
93216
93217         * m4/regex.m4: Add a run-time Test for proper operation of
93218         re_compile_pattern.
93219
93220 1999-01-31  Jim Meyering  <meyering@ascend.com>
93221
93222         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
93223
93224 1999-01-30  Jim Meyering  <meyering@ascend.com>
93225
93226         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
93227
93228         * m4/jm-mktime.m4: Make this a wrapper around the official
93229         AM_FUNC_MKTIME rather than my private copy, now that the official one
93230         is up to date.
93231         * m4/mktime.m4: Remove file.
93232
93233         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
93234         * m4/uptime.m4: Likewise.
93235         * m4/uintmax_t.m4: Likewise.
93236
93237 1999-01-28  Jim Meyering  <meyering@ascend.com>
93238
93239         * m4/jm-macros.m4: Use jm_AFS.
93240         * m4/afs.m4: New file (from fileutils' configure.in).
93241
93242         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
93243         * m4/chown.m4: Likewise.
93244         * m4/d-ino.m4: Likewise.
93245         * m4/d-type.m4: Likewise.
93246         * m4/fnmatch.m4: Likewise.
93247         * m4/getgroups.m4: Likewise.
93248         * m4/gettext.m4: Likewise.
93249         * m4/jm-mktime.m4: Likewise.
93250         * m4/jm-winsz2.m4: Likewise.
93251         * m4/lcmessage.m4: Likewise.
93252         * m4/ls-mntd-fs.m4: Likewise.
93253         * m4/malloc.m4: Likewise.
93254         * m4/memcmp.m4: Likewise.
93255         * m4/putenv.m4: Likewise.
93256         * m4/realloc.m4: Likewise.
93257         * m4/st_mtim.m4: Likewise.
93258         * m4/strftime.m4: Likewise.
93259
93260 1999-01-16  Jim Meyering  <meyering@ascend.com>
93261
93262         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
93263         (ARGMATCH_DIE_DECL): Define.
93264
93265 1999-01-12  Jim Meyering  <meyering@ascend.com>
93266
93267         * m4/Makefile.am.in: Rewrite to avoid using fmt.
93268         Reported by Lars Hecking.
93269
93270 1999-01-10  Jim Meyering  <meyering@ascend.com>
93271
93272         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
93273         gross kludge.
93274         * m4/inttypes_h.m4: Likewise.
93275         * m4/lstat.m4: Likewise.
93276         * m4/malloc.m4: Likewise.
93277         * m4/readdir.m4: Likewise.
93278         * m4/realloc.m4: Likewise.
93279         * m4/st_dm_mode.m4: Likewise.
93280         * m4/stat.m4: Likewise.
93281         * m4/utimbuf.m4: Likewise.
93282         * m4/utimes.m4: Likewise.
93283
93284         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
93285         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
93286         comments in config.h.in are meaningful.
93287
93288         * m4/jm-macros.m4: Require autoconf-2.13 here.
93289
93290         * m4/regex.m4: By default, don't use the included regex.c on systems
93291         with glibc 2.  Suggestion from Uli Drepper.
93292
93293 1999-01-02  Jim Meyering  <meyering@ascend.com>
93294
93295         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
93296
93297 1998-12-18  Jim Meyering  <meyering@ascend.com>
93298
93299         * m4/Makefile.am.in (Makefile.am): Simplify rule.
93300         Based on a suggestion from Lars Hecking.
93301
93302 1998-11-16  Paul Eggert  <eggert@twinsun.com>
93303
93304         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
93305
93306 1998-11-16  Jim Meyering  <meyering@ascend.com>
93307
93308         * m4/lfs.m4: Double-quote the `uname...` expression.
93309
93310 1998-11-14  Jim Meyering  <meyering@ascend.com>
93311
93312         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
93313         * m4/stat.m4: Likewise.
93314
93315 1998-11-03  Jim Meyering  <meyering@ascend.com>
93316
93317         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
93318         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
93319
93320 1998-10-18  Jim Meyering  <meyering@ascend.com>
93321
93322         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
93323
93324 1998-10-17  Jim Meyering  <meyering@ascend.com>
93325
93326         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
93327         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
93328         calls for those previously hard-coded headers.  Instead, take a new
93329         parameter.
93330         (jm_CHECK_DECLARATIONS): Reflect interface change.
93331         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
93332         (jm_CHECK_DECL_LOCALTIME_R): New macro.
93333
93334         * m4/mktime.m4: Test for spring-forward gap before long-running test.
93335
93336 1998-10-14  Jim Meyering  <meyering@ascend.com>
93337
93338         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
93339         instead of "TZ=America/Vancouver".  From Paul Eggert.
93340
93341 1998-10-11  Jim Meyering  <meyering@ascend.com>
93342
93343         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
93344         This adds a test for a recently added compatibility fix for mktime.c.
93345         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
93346
93347 1998-09-27  Jim Meyering  <meyering@ascend.com>
93348
93349         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
93350
93351         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
93352         ../configure.in, including a change from Gordon Matzigkeit to allow
93353         cross-compiling for the Hurd.
93354
93355         * m4/glibc.m4: New file/macro to test for the GNU C Library
93356         versions 1 and 2.  From Gordon Matzigkeit.
93357         Indent.
93358
93359 1998-09-21  Jim Meyering  <meyering@ascend.com>
93360
93361         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
93362
93363 1998-08-18  Paul Eggert  <eggert@twinsun.com>
93364
93365         Port nanosecond-resolution times to UnixWare 2.1.2 and
93366         pedantic Solaris 2.6.
93367
93368         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
93369         AC_STRUCT_ST_MTIM.
93370         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
93371         Generate name of ns member, instead of just 1 or undef.
93372         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
93373
93374 1998-08-15  Jim Meyering  <meyering@ascend.com>
93375
93376         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
93377         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
93378         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
93379         instead of jm_TYPE_SSIZE_T.
93380
93381 1998-08-12  Jim Meyering  <meyering@ascend.com>
93382
93383         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
93384
93385 1998-08-02  Jim Meyering  <meyering@ascend.com>
93386
93387         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
93388         in acconfig.h manually.
93389
93390 1998-07-31  Paul Eggert  <eggert@twinsun.com>
93391
93392         * m4/st_mtim.m4: New file.
93393
93394 1998-07-28  Jim Meyering  <meyering@ascend.com>
93395
93396         * m4/utimes.m4: Undef stat.
93397
93398 1998-07-25  Jim Meyering  <meyering@ascend.com>
93399
93400         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
93401         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
93402
93403 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
93404
93405         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
93406         uid and gid actually remain unchanged.
93407
93408 1998-07-07  Jim Meyering  <meyering@ascend.com>
93409
93410         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
93411
93412 1998-07-04  Jim Meyering  <meyering@ascend.com>
93413
93414         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
93415         to prove that this macro can be used in packages without regex.c.
93416
93417 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
93418
93419         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
93420         is to be used.
93421
93422 1998-07-03  Jim Meyering  <meyering@ascend.com>
93423
93424         * m4/gettext.m4: Add -lintl if it's found to be necessary.
93425
93426         * m4/gettext.m4: New file -- from gettext-0.10.35.
93427         * m4/lcmessage.m4: Likewise.
93428         * m4/progtest.m4: Likewise.
93429
93430         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
93431         * m4/jm-macros.m4: Require the new macro.
93432
93433 1998-06-29  Jim Meyering  <meyering@ascend.com>
93434
93435         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
93436         for the definition of NGROUPS (used in a system header included
93437         by sys/mount.h).
93438
93439 1998-06-28  Jim Meyering  <meyering@ascend.com>
93440
93441         * m4/ls-mntd-fs.m4: New file.
93442         * m4/fstypename.m4: New file.
93443
93444         * m4/jm-macros.m4: Require the new macro.
93445         * m4/jm-glibc-io.m4: New file.
93446
93447 1998-05-19  Jim Meyering  <meyering@ascend.com>
93448
93449         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
93450         * m4/lchown.m4: New file.
93451
93452         * m4/Makefile.am.in: New file.
93453         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
93454
93455 1998-05-14  Jim Meyering  <meyering@ascend.com>
93456
93457         * m4/Makefile.am (EXTRA_DIST): Add them.
93458         * m4/jm-macros.m4: New file.
93459         * m4/utimbuf.m4: New file.
93460
93461 1998-05-12  Jim Meyering  <meyering@ascend.com>
93462
93463         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
93464
93465 1998-05-11  Jim Meyering  <meyering@ascend.com>
93466
93467         * m4/isc-posix.m4: New file.
93468
93469 1998-05-10  Jim Meyering  <meyering@ascend.com>
93470
93471         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
93472
93473 1998-05-09  Jim Meyering  <meyering@ascend.com>
93474
93475         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
93476         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
93477         with automake.
93478
93479         * m4/ssize_t.m4: New file.
93480         * m4/mktime.m4: Remove file -- the new automake has this now.
93481
93482 1998-04-26  Jim Meyering  <meyering@ascend.com>
93483
93484         * m4/assert.m4: New file.
93485         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
93486
93487 1998-04-05  Jim Meyering  <meyering@ascend.com>
93488
93489         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
93490         (jm_PREREQ): Use it here.
93491
93492 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
93493
93494         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
93495         in acconfig.h.
93496
93497 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
93498
93499         * m4/prereq.m4: New file.
93500         * m4/error.m4: New file.
93501         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
93502
93503 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
93504
93505         * m4/getline.m4: Don't set am_cv_func_working_getline before the
93506         cache-check for the same variable -- that defeated the purpose of
93507         the test; the test program was never run.  This was a problem only
93508         on systems with losing getline functions -- HP-UX 10.20 is one.
93509         Reported by Bjorn Helgaas.
93510
93511 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
93512
93513         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
93514
93515 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
93516
93517         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
93518
93519         * m4/const.m4: New file.  Use an initializer in this declaration
93520         typedef int charset[2]; const charset x;
93521         Reported by Bob Glickstein.
93522
93523 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
93524
93525         * m4/chown.m4: Fix reversed types on -1 args to chown.
93526         From Kaveh Ghazi.
93527
93528 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
93529
93530         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
93531         Add lseek and memchr.
93532
93533         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
93534         T.E.Dickey <dickey@clark.net> said that some older preprocessors
93535         have a 20-character limit on names.
93536
93537 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
93538
93539         * m4/inttypes_h.m4: New file.
93540         * m4/uintmax_t.m4: New file.
93541         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
93542
93543
93544         -----
93545
93546         Local Variables:
93547         coding: utf-8
93548         End:
93549
93550         Copyright (C) 1997-2012 Free Software Foundation, Inc.
93551
93552         Copying and distribution of this file, with or without
93553         modification, are permitted provided the copyright notice
93554         and this notice are preserved.